DonConfia_Dev/agents/app/langgraph_tools/graph.py
2025-03-24 20:33:04 -05:00

45 lines
1.1 KiB
Python

from langgraph.graph import StateGraph, END
from .nodes import (
ChatBotState,
classifier_agent,
general_info_agent,
catalog_agent,
order_agent,
)
def create_chat_graph():
# Crear el grafo con el estado tipado
graph = StateGraph(ChatBotState)
# Añadir nodos
graph.add_node("classifier", classifier_agent)
graph.add_node("general_info", general_info_agent)
graph.add_node("catalog", catalog_agent)
graph.add_node("order", order_agent)
# Configurar el punto de entrada
graph.set_entry_point("classifier")
# Función de enrutamiento basada en la categoría
def route_to_agent(state):
return state["category"]
# Añadir bordes condicionales
graph.add_conditional_edges(
"classifier",
route_to_agent,
{
"general_info": "general_info",
"catalog": "catalog",
"order": "order",
},
)
# Conectar al nodo final
graph.add_edge("general_info", END)
graph.add_edge("catalog", END)
graph.add_edge("order", END)
return graph.compile()