Spaces:
Sleeping
Sleeping
File size: 837 Bytes
17a78b5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | from langgraph.graph import StateGraph, START, END
from langgraph.prebuilt import ToolNode
from src.agent.state import AgentState
from src.agent.nodes import call_model, should_continue
from src.tools import all_tools
def create_agent(checkpointer=None):
"""Create and compile the Cashy agent graph.
Args:
checkpointer: Optional LangGraph checkpointer for conversation persistence.
Returns:
Compiled LangGraph agent.
"""
tool_node = ToolNode(all_tools)
builder = StateGraph(AgentState)
builder.add_node("agent", call_model)
builder.add_node("tools", tool_node)
builder.add_edge(START, "agent")
builder.add_conditional_edges("agent", should_continue, {"tools": "tools", END: END})
builder.add_edge("tools", "agent")
return builder.compile(checkpointer=checkpointer)
|