Jeremy Live
commited on
Commit
·
1b58e4c
1
Parent(s):
cc2a812
v11
Browse files
app.py
CHANGED
@@ -199,6 +199,7 @@ def generate_plot(data, x_col, y_col, title, x_label, y_label):
|
|
199 |
|
200 |
async def stream_agent_response(question: str, chat_history: List) -> Tuple[List, Dict]:
|
201 |
"""Procesa la pregunta del usuario y devuelve la respuesta del agente."""
|
|
|
202 |
if not agent:
|
203 |
error_msg = (
|
204 |
"## ⚠️ Error: Agente no inicializado\n\n"
|
@@ -229,8 +230,11 @@ async def stream_agent_response(question: str, chat_history: List) -> Tuple[List
|
|
229 |
if sql_query:
|
230 |
# Ejecutar la consulta y actualizar la respuesta
|
231 |
db_connection, _ = setup_database_connection()
|
232 |
-
|
233 |
-
|
|
|
|
|
|
|
234 |
else:
|
235 |
response_text = "Error: No se recibió respuesta del agente."
|
236 |
|
@@ -242,6 +246,7 @@ async def stream_agent_response(question: str, chat_history: List) -> Tuple[List
|
|
242 |
error_msg = f"## ❌ Error\n\nOcurrió un error al procesar tu solicitud:\n\n```\n{str(e)}\n```"
|
243 |
chat_history[-1][1] = error_msg
|
244 |
yield chat_history, gr.update(visible=False)
|
|
|
245 |
|
246 |
# Custom CSS for the app
|
247 |
custom_css = """
|
@@ -376,11 +381,29 @@ def create_ui():
|
|
376 |
```
|
377 |
""")
|
378 |
else:
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
384 |
|
385 |
# Interfaz de chat - usando el nuevo formato de mensajes
|
386 |
chatbot = gr.Chatbot(
|
|
|
199 |
|
200 |
async def stream_agent_response(question: str, chat_history: List) -> Tuple[List, Dict]:
|
201 |
"""Procesa la pregunta del usuario y devuelve la respuesta del agente."""
|
202 |
+
|
203 |
if not agent:
|
204 |
error_msg = (
|
205 |
"## ⚠️ Error: Agente no inicializado\n\n"
|
|
|
230 |
if sql_query:
|
231 |
# Ejecutar la consulta y actualizar la respuesta
|
232 |
db_connection, _ = setup_database_connection()
|
233 |
+
if db_connection:
|
234 |
+
query_result = execute_sql_query(sql_query, db_connection)
|
235 |
+
response_text += f"\n\n### 🔍 Resultado de la consulta:\n```sql\n{sql_query}\n```\n\n{query_result}"
|
236 |
+
else:
|
237 |
+
response_text += "\n\n⚠️ No se pudo conectar a la base de datos para ejecutar la consulta."
|
238 |
else:
|
239 |
response_text = "Error: No se recibió respuesta del agente."
|
240 |
|
|
|
246 |
error_msg = f"## ❌ Error\n\nOcurrió un error al procesar tu solicitud:\n\n```\n{str(e)}\n```"
|
247 |
chat_history[-1][1] = error_msg
|
248 |
yield chat_history, gr.update(visible=False)
|
249 |
+
yield chat_history, gr.update(visible=False)
|
250 |
|
251 |
# Custom CSS for the app
|
252 |
custom_css = """
|
|
|
381 |
```
|
382 |
""")
|
383 |
else:
|
384 |
+
if os.getenv('SPACE_ID'):
|
385 |
+
# Modo demo en Hugging Face Spaces
|
386 |
+
gr.Markdown("""
|
387 |
+
## 🚀 Modo Demo
|
388 |
+
|
389 |
+
Esta es una demostración del asistente de base de datos SQL. Para usar la versión completa con conexión a base de datos:
|
390 |
+
|
391 |
+
1. Clona este espacio en tu cuenta de Hugging Face
|
392 |
+
2. Configura las variables de entorno en la configuración del espacio:
|
393 |
+
- `DB_USER`: Tu usuario de base de datos
|
394 |
+
- `DB_PASSWORD`: Tu contraseña de base de datos
|
395 |
+
- `DB_HOST`: La dirección del servidor de base de datos
|
396 |
+
- `DB_NAME`: El nombre de la base de datos
|
397 |
+
- `GOOGLE_API_KEY`: Tu clave de API de Google Gemini
|
398 |
+
|
399 |
+
**Nota:** Actualmente estás en modo de solo demostración.
|
400 |
+
""")
|
401 |
+
else:
|
402 |
+
gr.Markdown("""
|
403 |
+
## ✅ Sistema listo
|
404 |
+
|
405 |
+
El asistente está listo para responder tus preguntas sobre la base de datos.
|
406 |
+
""")
|
407 |
|
408 |
# Interfaz de chat - usando el nuevo formato de mensajes
|
409 |
chatbot = gr.Chatbot(
|