AIService / app /graph.py
Gaykar's picture
kka
f3b2b2d
from app.state.state import ComplaintState
from langgraph.graph import StateGraph, START, END
from app.nodes.nodes import classify_complaint_node, group_duplicate_complaints_node, calculate_priority_node, store_data_node, router
workflow = StateGraph(ComplaintState)
# Add Nodes
workflow.add_node("classify", classify_complaint_node)
workflow.add_node("group_duplicates", group_duplicate_complaints_node)
workflow.add_node("calculate_priority", calculate_priority_node)
workflow.add_node("store_data", store_data_node)
# Set up Edges
workflow.set_entry_point("classify")
workflow.add_edge("classify", "group_duplicates")
workflow.add_edge("group_duplicates", "calculate_priority")
# Add Conditional Edge (The Router)
workflow.add_conditional_edges(
"calculate_priority",
router,
{
"store_data": "store_data",
"END": END
}
)
workflow.add_edge("store_data", END)
from langgraph.checkpoint.memory import MemorySaver
checkpointer = MemorySaver()
graph = workflow.compile(checkpointer=checkpointer)