Jeremy Live
commited on
Commit
路
59097a1
1
Parent(s):
f4fa5e0
fix repond text memoria grafica v1
Browse files
app.py
CHANGED
@@ -1004,7 +1004,20 @@ def create_application():
|
|
1004 |
title=chart_state_value.get("title", "Distribuci贸n")
|
1005 |
)
|
1006 |
if fig is not None:
|
1007 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1008 |
chat_history.append({"role": "assistant", "content": friendly})
|
1009 |
# Save new type in state
|
1010 |
chart_state_value = {
|
@@ -1033,6 +1046,28 @@ def create_application():
|
|
1033 |
# Call the agent for this new user question
|
1034 |
assistant_message, chart_fig, new_state = await stream_agent_response(question, pair_history)
|
1035 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1036 |
# Append assistant message back into messages history
|
1037 |
chat_history.append({"role": "assistant", "content": assistant_message})
|
1038 |
|
|
|
1004 |
title=chart_state_value.get("title", "Distribuci贸n")
|
1005 |
)
|
1006 |
if fig is not None:
|
1007 |
+
# Professional, context-aware response for chart regeneration
|
1008 |
+
chart_types = {
|
1009 |
+
'bar': 'gr谩fico de barras',
|
1010 |
+
'line': 'gr谩fico de l铆neas',
|
1011 |
+
'pie': 'gr谩fico circular',
|
1012 |
+
'scatter': 'gr谩fico de dispersi贸n',
|
1013 |
+
'histogram': 'histograma'
|
1014 |
+
}
|
1015 |
+
chart_name = chart_types.get(new_type, f"gr谩fico de tipo '{new_type}'")
|
1016 |
+
|
1017 |
+
friendly = (
|
1018 |
+
f"He generado un {chart_name} con los datos de la consulta anterior. "
|
1019 |
+
f"Si deseas otro tipo de visualizaci贸n, filtrar o segmentar la informaci贸n, ind铆calo."
|
1020 |
+
)
|
1021 |
chat_history.append({"role": "assistant", "content": friendly})
|
1022 |
# Save new type in state
|
1023 |
chart_state_value = {
|
|
|
1046 |
# Call the agent for this new user question
|
1047 |
assistant_message, chart_fig, new_state = await stream_agent_response(question, pair_history)
|
1048 |
|
1049 |
+
# If the agent returned a generic lack-of-context message but we did generate a chart
|
1050 |
+
# or we have state to satisfy the intent, replace with a professional, context-aware reply.
|
1051 |
+
low_ctx_markers = [
|
1052 |
+
"i don't have enough information",
|
1053 |
+
"please provide more context",
|
1054 |
+
"necesito m谩s informaci贸n",
|
1055 |
+
"no tengo suficiente informaci贸n",
|
1056 |
+
]
|
1057 |
+
msg_lower = (assistant_message or "").lower()
|
1058 |
+
if any(m in msg_lower for m in low_ctx_markers) and (chart_fig is not None or new_state):
|
1059 |
+
# Choose type from new_state or fallback to bar
|
1060 |
+
t = None
|
1061 |
+
if isinstance(new_state, dict):
|
1062 |
+
t = new_state.get("chart_type")
|
1063 |
+
if not t and chart_state_value and isinstance(chart_state_value, dict):
|
1064 |
+
t = chart_state_value.get("chart_type")
|
1065 |
+
tipo = ("gr谩fico circular" if t == "pie" else (f"gr谩fico de {t}" if t else "gr谩fico"))
|
1066 |
+
assistant_message = (
|
1067 |
+
f"He generado la visualizaci贸n solicitada. A continuaci贸n muestro un {tipo} basado en tu petici贸n. "
|
1068 |
+
f"Si necesitas ajustar el tipo de gr谩fico, el rango de datos o aplicar filtros adicionales, ind铆calo."
|
1069 |
+
)
|
1070 |
+
|
1071 |
# Append assistant message back into messages history
|
1072 |
chat_history.append({"role": "assistant", "content": assistant_message})
|
1073 |
|