logic_assistant / src /agent /graph.py
anhkhoiphan's picture
Deploy: add Dockerfile, app.py, agent/memory/tools modules
f82d2d7
Raw
History Blame Contribute Delete
1.01 kB
from langgraph.graph import StateGraph, START, END
try:
from langgraph.checkpoint.memory import MemorySaver
except ImportError:
from langgraph.checkpoint import MemorySaver
from src.agent.state import AgentState
from src.agent.nodes import (
orchestrator_node,
should_continue,
masker_node,
response_node,
tool_node,
)
def build_graph(checkpointer=None) -> "CompiledGraph":
g = StateGraph(AgentState)
g.add_node("orchestrator", orchestrator_node)
g.add_node("tools", tool_node)
g.add_node("masker", masker_node)
g.add_node("response", response_node)
g.add_edge(START, "orchestrator")
g.add_conditional_edges(
"orchestrator",
should_continue,
{"tools": "tools", "masker": "masker"},
)
g.add_edge("tools", "orchestrator") # loop back for more tool calls
g.add_edge("masker", "response")
g.add_edge("response", END)
return g.compile(checkpointer=checkpointer or MemorySaver())