cd@bziiit.com commited on
Commit
6be2a9d
·
1 Parent(s): 10cc803

Fiw stream nicely, without reloading page

Browse files
Files changed (1) hide show
  1. app.py +22 -16
app.py CHANGED
@@ -31,6 +31,9 @@ def check_indexes_ready():
31
  def process_query(query, architecture: Literal["A", "B"]):
32
  """Traite la requête de l'utilisateur avec l'architecture A."""
33
 
 
 
 
34
  config = { "metadata": { "architecture": architecture }, "tags": ["arch_"+architecture] }
35
 
36
  if architecture == "A":
@@ -40,27 +43,32 @@ def process_query(query, architecture: Literal["A", "B"]):
40
 
41
  st.session_state.chat_history.append({"role": "user", "content": query})
42
 
43
- with st.spinner("Recherche en cours..."):
44
- initial_state = {"query": query, "messages": [], "relevant_docs": [], "response": ""}
 
 
 
 
 
 
 
 
 
 
 
45
 
46
- # Conteneur pour le streaming
47
- message_placeholder = st.empty()
48
- response = ""
49
 
50
- events = agent.stream(initial_state, config=config, stream_mode="messages")
51
-
52
- # Affichage en temps réel des messages
53
  for event in events:
54
  for message in event:
55
 
56
  if isinstance(message, AIMessageChunk):
57
  # Vérifiez le type de message et affichez son contenu
58
  if hasattr(message, 'content'):
59
- response += message.content
60
- message_placeholder.markdown(response + "▌")
61
-
62
- # response = result["response"]
63
- st.session_state.chat_history.append({"role": "assistant", "content": response})
64
 
65
  def display_sidebar():
66
  """Affiche la barre latérale."""
@@ -106,8 +114,8 @@ def main():
106
  ["Basic", "Intermédiaire", "Avancée"],
107
  on_change=st.session_state.chat_history.clear
108
  )
 
109
  display_sidebar()
110
- display_chat_history()
111
 
112
  query = st.chat_input("Posez votre question ici:")
113
  if query:
@@ -118,7 +126,5 @@ def main():
118
 
119
  process_query(query, architecture)
120
 
121
- st.rerun()
122
-
123
  if __name__ == "__main__":
124
  main()
 
31
  def process_query(query, architecture: Literal["A", "B"]):
32
  """Traite la requête de l'utilisateur avec l'architecture A."""
33
 
34
+ # Reload conversation
35
+ display_chat_history()
36
+
37
  config = { "metadata": { "architecture": architecture }, "tags": ["arch_"+architecture] }
38
 
39
  if architecture == "A":
 
43
 
44
  st.session_state.chat_history.append({"role": "user", "content": query})
45
 
46
+ # with st.spinner("Recherche en cours..."):
47
+ initial_state = {"query": query, "messages": [], "relevant_docs": [], "response": ""}
48
+
49
+ with st.chat_message("user"):
50
+ st.markdown(query)
51
+
52
+ full_response = ""
53
+
54
+ events = agent.stream(initial_state, config=config, stream_mode="messages")
55
+
56
+ # Ajouter le message du chatbot avec streaming
57
+ with st.chat_message("assistant"):
58
+ response_placeholder = st.empty()
59
 
 
 
 
60
 
 
 
 
61
  for event in events:
62
  for message in event:
63
 
64
  if isinstance(message, AIMessageChunk):
65
  # Vérifiez le type de message et affichez son contenu
66
  if hasattr(message, 'content'):
67
+ full_response += message.content
68
+ response_placeholder.markdown(full_response)
69
+
70
+
71
+ st.session_state.chat_history.append({"role": "assistant", "content": full_response})
72
 
73
  def display_sidebar():
74
  """Affiche la barre latérale."""
 
114
  ["Basic", "Intermédiaire", "Avancée"],
115
  on_change=st.session_state.chat_history.clear
116
  )
117
+
118
  display_sidebar()
 
119
 
120
  query = st.chat_input("Posez votre question ici:")
121
  if query:
 
126
 
127
  process_query(query, architecture)
128
 
 
 
129
  if __name__ == "__main__":
130
  main()