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(
|