Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -29,20 +29,21 @@ def main():
|
|
| 29 |
# Traitement du message avec OpenAI
|
| 30 |
with st.status("L'assistant est en train de répondre...", expanded=True) as status:
|
| 31 |
# Utilisation de l'API OpenAI
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
|
| 38 |
# Streaming de la réponse
|
| 39 |
response = ""
|
| 40 |
with st.chat_message("assistant"):
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
response += chunk.choices[0].delta.content
|
| 44 |
-
status.update(label="L'assistant répond...", expanded=True)
|
| 45 |
-
st.write_stream(chunk.choices[0].delta.content)
|
| 46 |
|
| 47 |
# Ajout de la réponse de l'assistant à l'historique
|
| 48 |
st.session_state.messages.append({"role": "assistant", "content": response})
|
|
|
|
| 29 |
# Traitement du message avec OpenAI
|
| 30 |
with st.status("L'assistant est en train de répondre...", expanded=True) as status:
|
| 31 |
# Utilisation de l'API OpenAI
|
| 32 |
+
async def generate_response():
|
| 33 |
+
stream = client.chat.completions.create(
|
| 34 |
+
model="gpt-4o",
|
| 35 |
+
messages=[{"role": m["role"], "content": m["content"]} for m in st.session_state.messages],
|
| 36 |
+
stream=True
|
| 37 |
+
)
|
| 38 |
+
for chunk in stream:
|
| 39 |
+
if chunk.choices[0].delta.content is not None:
|
| 40 |
+
yield chunk.choices[0].delta.content
|
| 41 |
|
| 42 |
# Streaming de la réponse
|
| 43 |
response = ""
|
| 44 |
with st.chat_message("assistant"):
|
| 45 |
+
status.update(label="L'assistant répond...", expanded=True)
|
| 46 |
+
st.write_stream(generate_response())
|
|
|
|
|
|
|
|
|
|
| 47 |
|
| 48 |
# Ajout de la réponse de l'assistant à l'historique
|
| 49 |
st.session_state.messages.append({"role": "assistant", "content": response})
|