Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -95,20 +95,27 @@ if prompt := st.chat_input("Type your message..."):
|
|
95 |
# Dynamically construct the API URL based on the selected model
|
96 |
api_url = f"https://api-inference.huggingface.co/models/{selected_model}"
|
97 |
logger.info(f"Selected model: {selected_model}, API URL: {api_url}")
|
98 |
-
|
99 |
# Query the Hugging Face API using the selected model
|
100 |
output = query(payload, api_url)
|
101 |
|
102 |
# Handle API response
|
103 |
if output is not None and isinstance(output, list) and len(output) > 0:
|
104 |
if 'generated_text' in output[0]:
|
105 |
-
|
106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
|
|
|
108 |
with st.chat_message("assistant"):
|
109 |
-
st.markdown(
|
110 |
|
111 |
-
st.session_state.messages.append({"role": "assistant", "content":
|
112 |
else:
|
113 |
logger.error(f"Unexpected API response structure: {output}")
|
114 |
st.error("Error: Unexpected response from the model. Please try again.")
|
@@ -118,4 +125,4 @@ if prompt := st.chat_input("Type your message..."):
|
|
118 |
|
119 |
except Exception as e:
|
120 |
logger.error(f"Application Error: {str(e)}", exc_info=True)
|
121 |
-
st.error(f"Application Error: {str(e)}")
|
|
|
95 |
# Dynamically construct the API URL based on the selected model
|
96 |
api_url = f"https://api-inference.huggingface.co/models/{selected_model}"
|
97 |
logger.info(f"Selected model: {selected_model}, API URL: {api_url}")
|
98 |
+
|
99 |
# Query the Hugging Face API using the selected model
|
100 |
output = query(payload, api_url)
|
101 |
|
102 |
# Handle API response
|
103 |
if output is not None and isinstance(output, list) and len(output) > 0:
|
104 |
if 'generated_text' in output[0]:
|
105 |
+
# Extract the assistant's response
|
106 |
+
assistant_response = output[0]['generated_text'].strip()
|
107 |
+
|
108 |
+
# Check for and remove duplicate responses
|
109 |
+
responses = assistant_response.split("\n</think>\n")
|
110 |
+
unique_response = responses[0].strip()
|
111 |
+
|
112 |
+
logger.info(f"Generated response: {unique_response}")
|
113 |
|
114 |
+
# Append response to chat only once
|
115 |
with st.chat_message("assistant"):
|
116 |
+
st.markdown(unique_response)
|
117 |
|
118 |
+
st.session_state.messages.append({"role": "assistant", "content": unique_response})
|
119 |
else:
|
120 |
logger.error(f"Unexpected API response structure: {output}")
|
121 |
st.error("Error: Unexpected response from the model. Please try again.")
|
|
|
125 |
|
126 |
except Exception as e:
|
127 |
logger.error(f"Application Error: {str(e)}", exc_info=True)
|
128 |
+
st.error(f"Application Error: {str(e)}")
|