Spaces:
Running
Running
Update app.py
Browse files
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
|
26 |
"""
|
27 |
if not SUPABASE_URL or not SUPABASE_KEY:
|
28 |
-
print("Advertencia: Las credenciales de Supabase
|
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":
|
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
|
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!"],
|