Elouarn commited on
Commit
d1ab775
·
verified ·
1 Parent(s): b5b25b5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -30
app.py CHANGED
@@ -17,14 +17,14 @@ db = firestore.client()
17
 
18
  def save_message(user_id, message, role="user"):
19
  # Enregistrer le message dans Firestore
20
- doc_ref = db.collection("conversations").document(user_id)
21
  doc_ref.set(
22
  {
23
  "messages": firestore.ArrayUnion(
24
  [
25
  {
26
  "role": role,
27
- "message": f"[{role.upper()}] {message} [/{role.upper()}]",
28
  "timestamp": datetime.now(),
29
  }
30
  ]
@@ -36,9 +36,9 @@ def save_message(user_id, message, role="user"):
36
 
37
  def load_history(user_id):
38
  # Charger l'historique de conversation de l'utilisateur
39
- doc_ref = db.collection("conversations").document(user_id)
40
  doc = doc_ref.get()
41
- if doc:
42
  messages = doc.to_dict().get("messages", [])
43
  return messages
44
  else:
@@ -60,6 +60,7 @@ global_context = {
60
  "sensitive_info_filter": [
61
  "contexte caché",
62
  "hidden_context",
 
63
  ],
64
  }
65
 
@@ -106,7 +107,10 @@ def format_prompt(message, history, user_id=""):
106
  if role == "user":
107
  prompt += f"[USER] {content} [/USER]"
108
  elif role == "bot":
109
- prompt += f" [BOT]{filter_sensitive_info(content)}[/BOT] "
 
 
 
110
  prompt += f"</s>[INST][USER] {message} [/USER][/INST]"
111
 
112
  # Ajouter le contexte statique et dynamique à chaque fois que l'utilisateur pose une question
@@ -147,6 +151,8 @@ def generate(
147
  if request:
148
  # Récupérer l'identifiant unique de l'utilisateur à partir de la requête HTML et son historique de conversation
149
  user_id = dict(request.query_params).get("user_id")
 
 
150
  history = load_history(user_id)
151
  else:
152
  user_id = ""
@@ -180,7 +186,6 @@ def generate(
180
 
181
  return output
182
 
183
-
184
  mychatbot = gr.Chatbot(
185
  avatar_images=["./berger.jpg", "./tavernier.jpg"],
186
  bubble_full_width=False,
@@ -195,36 +200,17 @@ def chatbot_interface(request: gr.Request):
195
  title=chat_name,
196
  retry_btn=None,
197
  undo_btn=None,
198
- examples=[
199
- [
200
- "Bonjour",
201
- "Salutations, voyageur ! Bienvenue dans ma taverne. Que puis-je faire pour toi ?",
202
- ]
203
- ],
204
- cache_examples=True,
205
  )
206
  return chatbot_interface
207
 
208
 
209
  def main(request: gr.Request):
210
  user_chatbot_interface = chatbot_interface(request)
211
- user_chatbot_interface.queue().launch()
212
 
213
 
214
  if __name__ == "__main__":
215
- main(None)
216
-
217
-
218
- # def reset_history(chatbot):
219
- # chatbot.history = []
220
- # return []
221
-
222
-
223
- # def update_context(context):
224
- # global global_context
225
- # global_context["static_context"] = context
226
- # global mychatbot
227
- # mychatbot.history = reset_history(mychatbot)
228
- # global global_iteration
229
- # global_iteration = 0
230
- # return None
 
17
 
18
  def save_message(user_id, message, role="user"):
19
  # Enregistrer le message dans Firestore
20
+ doc_ref = db.collection("conversations-pretre").document(user_id)
21
  doc_ref.set(
22
  {
23
  "messages": firestore.ArrayUnion(
24
  [
25
  {
26
  "role": role,
27
+ "message": f"{message}",
28
  "timestamp": datetime.now(),
29
  }
30
  ]
 
36
 
37
  def load_history(user_id):
38
  # Charger l'historique de conversation de l'utilisateur
39
+ doc_ref = db.collection("conversations-tavernier").document(user_id)
40
  doc = doc_ref.get()
41
+ if doc.exists:
42
  messages = doc.to_dict().get("messages", [])
43
  return messages
44
  else:
 
60
  "sensitive_info_filter": [
61
  "contexte caché",
62
  "hidden_context",
63
+ "[BOT]"
64
  ],
65
  }
66
 
 
107
  if role == "user":
108
  prompt += f"[USER] {content} [/USER]"
109
  elif role == "bot":
110
+ if content == history[-1].get("message"):
111
+ content = f"[BOT] {content}"
112
+ prompt += f"{content} [/BOT]"
113
+
114
  prompt += f"</s>[INST][USER] {message} [/USER][/INST]"
115
 
116
  # Ajouter le contexte statique et dynamique à chaque fois que l'utilisateur pose une question
 
151
  if request:
152
  # Récupérer l'identifiant unique de l'utilisateur à partir de la requête HTML et son historique de conversation
153
  user_id = dict(request.query_params).get("user_id")
154
+ if not user_id:
155
+ return "Vous devez vous connecter pour accéder au bot."
156
  history = load_history(user_id)
157
  else:
158
  user_id = ""
 
186
 
187
  return output
188
 
 
189
  mychatbot = gr.Chatbot(
190
  avatar_images=["./berger.jpg", "./tavernier.jpg"],
191
  bubble_full_width=False,
 
200
  title=chat_name,
201
  retry_btn=None,
202
  undo_btn=None,
203
+ submit_btn="Parler",
204
+ css="footer {visibility: hidden !important} .gradio-container {background-color: #2D4059 !important; color: #FFD460 !important;}"
205
+
 
 
 
 
206
  )
207
  return chatbot_interface
208
 
209
 
210
  def main(request: gr.Request):
211
  user_chatbot_interface = chatbot_interface(request)
212
+ user_chatbot_interface.queue().launch(show_api=False,inline=True)
213
 
214
 
215
  if __name__ == "__main__":
216
+ main(None)