Hi. I have written a simple python application with streamlit to rewrite content via the inference api. The problem is that the content is not rewritten, but extended. I have already tried this with different models, the result is always the same. However, the application itself works correctly when I use it with the OpenAi API. So it seems to be purely due to the models.
import os
import requests
import streamlit as st
#API_URL = "https://api-inference.huggingface.co/models/mistralai/Mixtral-8x7B-Instruct-v0.1"
API_URL = "https://api-inference.huggingface.co/models/HuggingFaceH4/zephyr-7b-beta"
API_TOKEN = os.environ.get("HF_API_TOKEN")
headers = {"Authorization": f"Bearer {API_TOKEN}"}
def query(payload):
response = requests.post(API_URL, headers=headers, json=payload)
if response.status_code != 200:
raise Exception(f"API request failed with status code {response.status_code}: {response.text}")
return response.json()
def main():
st.title("Mixtral-8x7B-Instruct-v0.1 Model Demo")
input_text = st.text_area("Enter your input text:", height=200)
# Define your prompt text here
prompt_text = "Rewrite the following text: "
if st.button("Generate Output"):
if input_text:
with st.spinner("Processing..."):
try:
# Prepend the prompt text to the input text
combined_input = prompt_text + input_text
output = query({"inputs": combined_input})
# Check if output is structured as expected
if not isinstance(output, list) or "generated_text" not in output[0]:
st.error("Unexpected response format.")
st.json(output) # Show the full output for debugging
else:
output_text = output[0]["generated_text"]
st.text_area("Output:", value=output_text, height=300)
except Exception as e:
st.error(f"An error occurred: {e}")
else:
st.warning("Please enter some text.")
if __name__ == "__main__":
main()