martianband1t commited on
Commit
363dc4e
1 Parent(s): 12ce489

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -11
app.py CHANGED
@@ -1,21 +1,38 @@
1
  import streamlit as st
2
  import openai
 
3
 
4
  # Configuration de l'API OpenAI
5
  openai.api_key = 'VOTRE_CLE_API_OPENAI'
6
 
7
- # Fonction pour générer une réponse à partir du modèle OpenAI
8
- def generate_openai_response(prompt):
 
 
 
 
 
 
 
 
9
  response = openai.ChatCompletion.create(
10
- model="gpt-3.5-turbo",
11
- messages=[
12
- {"role": "system", "content": "You are a helpful assistant."},
13
- {"role": "user", "content": prompt}
14
- ],
15
- max_tokens=150,
16
- temperature=0.7
17
  )
18
- return response.choices[0].message['content']
 
 
 
 
 
 
 
 
 
 
 
19
 
20
  # Interface utilisateur avec Streamlit
21
  st.title("Chatbot avec OpenAI")
@@ -23,11 +40,13 @@ st.write("Ce chatbot utilise le modèle OpenAI pour répondre à vos questions."
23
 
24
  # Entrée utilisateur
25
  user_input = st.text_area("Vous:", "")
 
26
 
27
  if st.button("Envoyer"):
28
  if user_input:
29
  with st.spinner("Génération de la réponse..."):
30
- response = generate_openai_response(user_input)
 
31
  st.write("Chatbot:", response)
32
  else:
33
  st.warning("Veuillez entrer une question ou un message.")
 
1
  import streamlit as st
2
  import openai
3
+ import time
4
 
5
  # Configuration de l'API OpenAI
6
  openai.api_key = 'VOTRE_CLE_API_OPENAI'
7
 
8
+ # Fonction pour générer une réponse à partir du modèle OpenAI avec streaming
9
+ def generate_openai_response(prompt, history):
10
+ # Formatage de l'historique des messages pour OpenAI
11
+ history_openai_format = [{"role": "system", "content": "You are a helpful assistant."}]
12
+ for human, assistant in history:
13
+ history_openai_format.append({"role": "user", "content": human })
14
+ history_openai_format.append({"role": "assistant", "content":assistant})
15
+ history_openai_format.append({"role": "user", "content": prompt})
16
+
17
+ # Requête à l'API avec streaming
18
  response = openai.ChatCompletion.create(
19
+ model="gpt-4", # ou "gpt-3.5-turbo"
20
+ messages=history_openai_format,
21
+ temperature=0.7,
22
+ stream=True
 
 
 
23
  )
24
+
25
+ # Collecte et affichage des morceaux de réponse
26
+ collected_messages = []
27
+ for chunk in response:
28
+ if chunk['choices'][0]['delta'].get('content'):
29
+ collected_messages.append(chunk['choices'][0]['delta']['content'])
30
+ full_response = ''.join(collected_messages)
31
+ # Affichage de la réponse en temps réel
32
+ st.write(full_response)
33
+ time.sleep(0.1) # Ajouter un léger délai pour la simulation de la "pensée"
34
+
35
+ return ''.join(collected_messages)
36
 
37
  # Interface utilisateur avec Streamlit
38
  st.title("Chatbot avec OpenAI")
 
40
 
41
  # Entrée utilisateur
42
  user_input = st.text_area("Vous:", "")
43
+ history = []
44
 
45
  if st.button("Envoyer"):
46
  if user_input:
47
  with st.spinner("Génération de la réponse..."):
48
+ response = generate_openai_response(user_input, history)
49
+ history.append((user_input, response))
50
  st.write("Chatbot:", response)
51
  else:
52
  st.warning("Veuillez entrer une question ou un message.")