Danielbrdz commited on
Commit
e8660fd
verified
1 Parent(s): 696624e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -6
app.py CHANGED
@@ -6,7 +6,6 @@ from datetime import datetime
6
  from supabase import create_client, Client
7
 
8
  # --- Credenciales y Configuraci贸n ---
9
- # Aseg煤rate de haber configurado estas variables de entorno en tu Space de Hugging Face
10
  GROQ_API_KEY = os.environ.get("GROQ_API_KEY")
11
  SUPABASE_URL = os.environ.get("SUPABASE_URL")
12
  SUPABASE_KEY = os.environ.get("SUPABASE_KEY")
@@ -22,24 +21,34 @@ TOP_P = 0.95
22
 
23
  def persist_data(session_data, user_identifier=None):
24
  """
25
- Guarda el historial de la conversaci贸n en una tabla de Supabase.
26
  """
27
  if not SUPABASE_URL or not SUPABASE_KEY:
28
- print("Advertencia: Las credenciales de Supabase (URL y KEY) no est谩n configuradas. No se guardar谩 la conversaci贸n.")
29
  return
30
 
31
  try:
32
  supabase: Client = create_client(SUPABASE_URL, SUPABASE_KEY)
33
 
 
 
 
 
 
 
 
 
 
 
34
  data_to_insert = {
35
  "timestamp": datetime.now().isoformat(),
36
  "user_id": user_identifier,
37
- "messages": session_data
38
  }
39
 
40
  table_name = "conversations"
41
  response = supabase.table(table_name).insert(data_to_insert).execute()
42
- print(f"Conversaci贸n guardada en Supabase exitosamente.")
43
 
44
  except Exception as e:
45
  print(f"Error al guardar datos en Supabase: {e}")
@@ -115,7 +124,7 @@ def respond(message, history: list[tuple[str, str]]):
115
  yield "Lo siento, ocurri贸 un error de conexi贸n al procesar tu solicitud."
116
 
117
 
118
- # --- Interfaz de Gradio (SIN CAMBIOS DE DISE脩O) ---
119
  demo = gr.ChatInterface(
120
  respond,
121
  examples=[["隆Bienvenido a Tu Aliado Momentum!"],
 
6
  from supabase import create_client, Client
7
 
8
  # --- Credenciales y Configuraci贸n ---
 
9
  GROQ_API_KEY = os.environ.get("GROQ_API_KEY")
10
  SUPABASE_URL = os.environ.get("SUPABASE_URL")
11
  SUPABASE_KEY = os.environ.get("SUPABASE_KEY")
 
21
 
22
  def persist_data(session_data, user_identifier=None):
23
  """
24
+ Guarda el historial de la conversaci贸n en Supabase con un formato claro de 'rol' y 'contenido'.
25
  """
26
  if not SUPABASE_URL or not SUPABASE_KEY:
27
+ print("Advertencia: Las credenciales de Supabase no est谩n configuradas.")
28
  return
29
 
30
  try:
31
  supabase: Client = create_client(SUPABASE_URL, SUPABASE_KEY)
32
 
33
+ # --- NUEVO: Transformar los datos para mayor claridad ---
34
+ # Convertimos la lista de tuplas [("user_msg", "bot_msg")]
35
+ # a una lista de diccionarios [{"role": "user", ...}, {"role": "assistant", ...}]
36
+ formatted_messages = []
37
+ for user_msg, assistant_msg in session_data:
38
+ if user_msg:
39
+ formatted_messages.append({"role": "user", "content": user_msg})
40
+ if assistant_msg:
41
+ formatted_messages.append({"role": "assistant", "content": assistant_msg})
42
+
43
  data_to_insert = {
44
  "timestamp": datetime.now().isoformat(),
45
  "user_id": user_identifier,
46
+ "messages": formatted_messages # <-- Usamos la nueva lista formateada
47
  }
48
 
49
  table_name = "conversations"
50
  response = supabase.table(table_name).insert(data_to_insert).execute()
51
+ print(f"Conversaci贸n guardada en Supabase exitosamente con formato mejorado.")
52
 
53
  except Exception as e:
54
  print(f"Error al guardar datos en Supabase: {e}")
 
124
  yield "Lo siento, ocurri贸 un error de conexi贸n al procesar tu solicitud."
125
 
126
 
127
+ # --- Interfaz de Gradio ---
128
  demo = gr.ChatInterface(
129
  respond,
130
  examples=[["隆Bienvenido a Tu Aliado Momentum!"],