mahfouz28 commited on
Commit
ec317d5
·
verified ·
1 Parent(s): 68b88a2

Update chatbot_ui.py

Browse files
Files changed (1) hide show
  1. chatbot_ui.py +45 -45
chatbot_ui.py CHANGED
@@ -1,46 +1,46 @@
1
- import streamlit as st
2
- import requests
3
- import time
4
-
5
- # 🔹 Configuration de la page en mode large
6
- st.set_page_config(page_title="Assistant UCAD (Univerté Cheikh Anta Diop de Dakar)", page_icon="💡", layout="wide")
7
-
8
- # 🔹 Initialisation des messages
9
- if "messages" not in st.session_state:
10
- st.session_state.messages = [
11
- {"role": "bot", "content": "Bonjour, je suis l'assistant UCAD ! Comment puis-je vous aider ? 😊"}
12
- ]
13
-
14
- # 🔹 Affichage des messages dans un conteneur
15
- st.header("Assistant UCAD (Univerté Cheikh Anta Diop de Dakar)")
16
-
17
- for msg in st.session_state.messages:
18
- role_prefix = "🤖 Assistant UCAD" if msg["role"] == "bot" else "👤 Vous"
19
- st.markdown(f"**{role_prefix}** : {msg['content']}")
20
-
21
- # 🔹 Zone de saisie utilisateur
22
- user_input = st.text_input("Posez votre question ici...")
23
-
24
- if st.button("Envoyer"):
25
- if user_input:
26
- st.session_state.messages.append({"role": "user", "content": user_input})
27
-
28
- # 🔹 Affichage du spinner (chargement)
29
- with st.spinner("L'Assistant réfléchit... 🤔"):
30
- time.sleep(1.5) # Simule un délai de réponse
31
-
32
- # 🔹 Appel à l'API FastAPI
33
- try:
34
- response = requests.get("http://127.0.0.1:8000/ask", params={"query": user_input})
35
- if response.status_code == 200:
36
- bot_response = response.json().get("reponse", "Je n'ai pas compris votre question.")
37
- else:
38
- bot_response = "Erreur de connexion avec l'assistant."
39
- except requests.exceptions.RequestException:
40
- bot_response = "Le serveur est indisponible. Vérifiez votre connexion."
41
-
42
- # 🔹 Ajouter la réponse du bot
43
- st.session_state.messages.append({"role": "bot", "content": bot_response})
44
-
45
- # 🔄 Rafraîchir l'affichage
46
  st.rerun()
 
1
+ import streamlit as st
2
+ import requests
3
+ import time
4
+
5
+ # 🔹 Configuration de la page en mode large
6
+ st.set_page_config(page_title="Assistant UCAD (Univerté Cheikh Anta Diop de Dakar)", page_icon="💡", layout="wide")
7
+
8
+ # 🔹 Initialisation des messages
9
+ if "messages" not in st.session_state:
10
+ st.session_state.messages = [
11
+ {"role": "bot", "content": "Bonjour, je suis l'assistant UCAD ! Comment puis-je vous aider ? 😊"}
12
+ ]
13
+
14
+ # 🔹 Affichage des messages dans un conteneur
15
+ st.header("Assistant UCAD (Univerté Cheikh Anta Diop de Dakar)")
16
+
17
+ for msg in st.session_state.messages:
18
+ role_prefix = "🤖 Assistant UCAD" if msg["role"] == "bot" else "👤 Vous"
19
+ st.markdown(f"**{role_prefix}** : {msg['content']}")
20
+
21
+ # 🔹 Zone de saisie utilisateur
22
+ user_input = st.text_input("Posez votre question ici...")
23
+
24
+ if st.button("Envoyer"):
25
+ if user_input:
26
+ st.session_state.messages.append({"role": "user", "content": user_input})
27
+
28
+ # 🔹 Affichage du spinner (chargement)
29
+ with st.spinner("L'Assistant réfléchit... 🤔"):
30
+ time.sleep(1.5) # Simule un délai de réponse
31
+
32
+ # 🔹 Appel à l'API FastAPI
33
+ try:
34
+ response = requests.get("http://127.0.0.1:8000/ask", params={"query": user_input})
35
+ if response.status_code == 200:
36
+ bot_response = response.json().get("reponse", "Je n'ai pas compris votre question.")
37
+ else:
38
+ bot_response = "Erreur de connexion avec l'assistant."
39
+ except requests.exceptions.RequestException:
40
+ bot_response = "Le serveur est indisponible. Vérifiez votre connexion."
41
+
42
+ # 🔹 Ajouter la réponse du bot
43
+ st.session_state.messages.append({"role": "bot", "content": bot_response})
44
+
45
+ # 🔄 Rafraîchir l'affichage
46
  st.rerun()