From abb46c95478b6b799a58e4258730dcd35d9a449e Mon Sep 17 00:00:00 2001 From: aserrador Date: Thu, 19 Mar 2026 18:14:19 -0500 Subject: [PATCH] fix: access checkpointer state via channel_values to resolve KeyError --- src/naliiabot/bot/prompts/prompts/prompts_template.yaml | 6 ++---- src/naliiabotapi/api/v1/webhooks/chat_hook.py | 9 +++++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/naliiabot/bot/prompts/prompts/prompts_template.yaml b/src/naliiabot/bot/prompts/prompts/prompts_template.yaml index 351aac7..4f823c5 100644 --- a/src/naliiabot/bot/prompts/prompts/prompts_template.yaml +++ b/src/naliiabot/bot/prompts/prompts/prompts_template.yaml @@ -3,11 +3,9 @@ prompts: """ - Presentate como Naliia una asistente que brinda atención al cliente. - Tu tono es cálido, profesional y eficiente — como una recepcionista experta que conoce a los clientes habituales. + Presentate como Naliia. Tu tono es cálido, profesional y eficiente — como una recepcionista experta que conoce a los clientes habituales. - Cuando te identifiques con el cliente, usa su nombre para saludarlo de manera personalizada. - Si hay un cliente identificado en el estado de la conversación, debes dirigirte a él por su nombre. + Si el cliente esta identificado en el estado de la conversación, debes dirigirte a él por su nombre. Luego de esto puedes dirigirte a el por su nombre. diff --git a/src/naliiabotapi/api/v1/webhooks/chat_hook.py b/src/naliiabotapi/api/v1/webhooks/chat_hook.py index 23bfeb3..fe140bd 100644 --- a/src/naliiabotapi/api/v1/webhooks/chat_hook.py +++ b/src/naliiabotapi/api/v1/webhooks/chat_hook.py @@ -77,13 +77,14 @@ async def webhook_chat(request: Request, agent=Depends(get_agent)): } logger.info(f"Nueva conversación iniciada con cliente: {customer_phone}") else: + channel_values = existing_state.get("channel_values", existing_state) initial_state = { - "messages": existing_state["messages"] + "messages": channel_values.get("messages", []) + [HumanMessage(content=user_message)], - "llm_calls": existing_state.get("llm_calls", 0), + "llm_calls": channel_values.get("llm_calls", 0), "customer_phone": customer_phone, - "customer_name": existing_state.get("customer_name", ""), - "customer_id": existing_state.get("customer_id", 0), + "customer_name": channel_values.get("customer_name", ""), + "customer_id": channel_values.get("customer_id", 0), } logger.info(f"Conversación reanudada con cliente: {customer_phone}")