Commit
·
89a7ec7
1
Parent(s):
ccbfee5
scnd graph v2
Browse files
app.py
CHANGED
|
@@ -542,29 +542,28 @@ async def stream_agent_response(question: str, chat_history: List[List[str]]) ->
|
|
| 542 |
except Exception as e:
|
| 543 |
logger.error(f"Error updating agent memory: {str(e)}", exc_info=True)
|
| 544 |
|
| 545 |
-
|
| 546 |
-
|
| 547 |
-
|
| 548 |
-
|
| 549 |
-
|
| 550 |
-
|
| 551 |
-
|
| 552 |
-
|
| 553 |
-
|
| 554 |
-
|
| 555 |
-
|
| 556 |
-
|
| 557 |
-
|
| 558 |
-
|
| 559 |
-
|
| 560 |
-
|
| 561 |
-
|
| 562 |
-
)
|
| 563 |
|
| 564 |
-
|
| 565 |
-
|
| 566 |
-
|
| 567 |
-
|
| 568 |
|
| 569 |
# Handle different response formats
|
| 570 |
if hasattr(response, 'output') and response.output:
|
|
|
|
| 542 |
except Exception as e:
|
| 543 |
logger.error(f"Error updating agent memory: {str(e)}", exc_info=True)
|
| 544 |
|
| 545 |
+
# Add empty assistant message that will be updated
|
| 546 |
+
assistant_message = {"role": "assistant", "content": ""}
|
| 547 |
+
messages.append(assistant_message)
|
| 548 |
+
|
| 549 |
+
# Execute the agent with proper error handling
|
| 550 |
+
try:
|
| 551 |
+
# If the user is asking for a chart, steer the agent to be concise
|
| 552 |
+
wants_chart, _desired = detect_chart_preferences(question)
|
| 553 |
+
input_text = question
|
| 554 |
+
if wants_chart:
|
| 555 |
+
input_text = (
|
| 556 |
+
"Instrucciones: Si el usuario pide una visualización y los datos ya "
|
| 557 |
+
"están en el historial, no pidas más contexto. Responde brevemente "
|
| 558 |
+
"confirmando que generarás/has generado la gráfica y, si necesitas SQL, "
|
| 559 |
+
"devuelve solo la consulta en un bloque ```sql``` sin explicaciones.\n\n"
|
| 560 |
+
f"Pregunta del usuario: {question}"
|
| 561 |
+
)
|
|
|
|
| 562 |
|
| 563 |
+
# Let the agent use its memory; don't pass raw chat_history
|
| 564 |
+
response = await agent.ainvoke({"input": input_text})
|
| 565 |
+
logger.info(f"Agent response type: {type(response)}")
|
| 566 |
+
logger.info(f"Agent response content: {str(response)[:500]}...")
|
| 567 |
|
| 568 |
# Handle different response formats
|
| 569 |
if hasattr(response, 'output') and response.output:
|