Daly26 commited on
Commit
7dc31cf
·
1 Parent(s): c37506c

Ajout print pour voir si role sélectionné

Browse files
Files changed (1) hide show
  1. LesChatsDeSeatech.py +22 -0
LesChatsDeSeatech.py CHANGED
@@ -140,11 +140,17 @@ def handle_role_selection(session_id, selected_role=None):
140
  print(f"Session {session_id} - Rôle sélectionné : {selected_role}")
141
  # Si un rôle est sélectionné, l'enregistrer dans la session
142
  if selected_role and selected_role in profile_mapping:
 
 
 
143
  if 'user_profile' not in session:
144
  session['user_profile'] = {}
145
  session['user_profile']['role'] = selected_role
146
  session['user_profile']['confirmed'] = True
147
 
 
 
 
148
  # Message de bienvenue personnalisé selon le rôle
149
  role_config = profile_mapping[selected_role]
150
  welcome_message = f"""
@@ -159,6 +165,7 @@ def handle_role_selection(session_id, selected_role=None):
159
  "is_system_message": True
160
  })
161
 
 
162
  return selected_role
163
 
164
  return None
@@ -771,6 +778,10 @@ search_index, use_faiss = setup_search_index(chunk_embeddings)
771
  # ===== APPLICATION FLASK =====
772
  app = Flask(__name__, static_folder="static", template_folder="templates")
773
  app.secret_key = 'seatech_chat_secret_key'
 
 
 
 
774
  conversation_history_global = {}
775
  # ajout Daly
776
 
@@ -783,8 +794,11 @@ vosk_model = vosk.Model("models/vosk-model-small-fr-0.22")
783
  @app.route("/", methods=["GET", "POST"])
784
  def index():
785
  """Page d'accueil du chatbot avec gestion de la sélection de rôle."""
 
 
786
  if 'session_id' not in session:
787
  session['session_id'] = str(uuid.uuid4())
 
788
  session_id = session['session_id']
789
 
790
  if session_id not in conversation_history_global:
@@ -856,6 +870,7 @@ def index():
856
  @app.route("/api/ask", methods=["POST"])
857
  def api_ask():
858
  """Endpoint API pour la recherche avec gestion de rôle."""
 
859
  start_time = time.time()
860
  try:
861
  data = request.get_json()
@@ -875,6 +890,7 @@ def api_ask():
875
  # Gestion de la session
876
  if 'session_id' not in session:
877
  session['session_id'] = str(uuid.uuid4())
 
878
  session_id = session['session_id']
879
  if session_id not in conversation_history_global:
880
  conversation_history_global[session_id] = []
@@ -882,6 +898,7 @@ def api_ask():
882
  # Gérer la sélection de rôle
883
  if role_selection:
884
  handle_role_selection(session_id, role_selection)
 
885
  return jsonify({
886
  "response": f"<p>Rôle <strong>{role_selection}</strong> sélectionné avec succès ! Vous pouvez maintenant poser vos questions.</p>",
887
  "role_confirmed": True,
@@ -976,16 +993,21 @@ def api_role_info():
976
  "status": "success"
977
  })
978
  @app.route("/api/reset-role", methods=["POST"])
 
979
  def api_reset_role():
980
  """Permet de réinitialiser le rôle sélectionné."""
 
 
981
  if 'user_profile' in session:
982
  session.pop('user_profile')
 
983
 
984
  if 'session_id' in session:
985
  session_id = session['session_id']
986
  if session_id in conversation_history_global:
987
  conversation_history_global[session_id] = []
988
 
 
989
  return jsonify({
990
  "response": "<p>Rôle réinitialisé. Veuillez sélectionner votre nouveau profil.</p>",
991
  "role_confirmed": False,
 
140
  print(f"Session {session_id} - Rôle sélectionné : {selected_role}")
141
  # Si un rôle est sélectionné, l'enregistrer dans la session
142
  if selected_role and selected_role in profile_mapping:
143
+ # Marquer la session comme permanente pour la persister
144
+ session.permanent = True
145
+
146
  if 'user_profile' not in session:
147
  session['user_profile'] = {}
148
  session['user_profile']['role'] = selected_role
149
  session['user_profile']['confirmed'] = True
150
 
151
+ # Force Flask à sauvegarder la session
152
+ session.modified = True
153
+
154
  # Message de bienvenue personnalisé selon le rôle
155
  role_config = profile_mapping[selected_role]
156
  welcome_message = f"""
 
165
  "is_system_message": True
166
  })
167
 
168
+ logger.info(f"Rôle '{selected_role}' confirmé pour la session {session_id}")
169
  return selected_role
170
 
171
  return None
 
778
  # ===== APPLICATION FLASK =====
779
  app = Flask(__name__, static_folder="static", template_folder="templates")
780
  app.secret_key = 'seatech_chat_secret_key'
781
+ app.config['SESSION_COOKIE_SECURE'] = False # Important pour développement/HTTP
782
+ app.config['SESSION_COOKIE_HTTPONLY'] = True
783
+ app.config['SESSION_COOKIE_SAMESITE'] = 'Lax'
784
+ app.config['PERMANENT_SESSION_LIFETIME'] = 3600 # 1 heure
785
  conversation_history_global = {}
786
  # ajout Daly
787
 
 
794
  @app.route("/", methods=["GET", "POST"])
795
  def index():
796
  """Page d'accueil du chatbot avec gestion de la sélection de rôle."""
797
+ session.permanent = True
798
+
799
  if 'session_id' not in session:
800
  session['session_id'] = str(uuid.uuid4())
801
+ session.modified = True
802
  session_id = session['session_id']
803
 
804
  if session_id not in conversation_history_global:
 
870
  @app.route("/api/ask", methods=["POST"])
871
  def api_ask():
872
  """Endpoint API pour la recherche avec gestion de rôle."""
873
+ session.permanent = True
874
  start_time = time.time()
875
  try:
876
  data = request.get_json()
 
890
  # Gestion de la session
891
  if 'session_id' not in session:
892
  session['session_id'] = str(uuid.uuid4())
893
+ session.modified = True
894
  session_id = session['session_id']
895
  if session_id not in conversation_history_global:
896
  conversation_history_global[session_id] = []
 
898
  # Gérer la sélection de rôle
899
  if role_selection:
900
  handle_role_selection(session_id, role_selection)
901
+ logger.info(f"Rôle {role_selection} sélectionné via API pour session {session_id}")
902
  return jsonify({
903
  "response": f"<p>Rôle <strong>{role_selection}</strong> sélectionné avec succès ! Vous pouvez maintenant poser vos questions.</p>",
904
  "role_confirmed": True,
 
993
  "status": "success"
994
  })
995
  @app.route("/api/reset-role", methods=["POST"])
996
+ @app.route("/api/reset-role", methods=["POST"])
997
  def api_reset_role():
998
  """Permet de réinitialiser le rôle sélectionné."""
999
+ session.permanent = True
1000
+
1001
  if 'user_profile' in session:
1002
  session.pop('user_profile')
1003
+ session.modified = True
1004
 
1005
  if 'session_id' in session:
1006
  session_id = session['session_id']
1007
  if session_id in conversation_history_global:
1008
  conversation_history_global[session_id] = []
1009
 
1010
+ logger.info(f"Rôle réinitialisé pour la session {session.get('session_id')}")
1011
  return jsonify({
1012
  "response": "<p>Rôle réinitialisé. Veuillez sélectionner votre nouveau profil.</p>",
1013
  "role_confirmed": False,