social-agent / agent /graph.py
google-labs-jules[bot]
feat: implement AutoStream conversational AI sales agent with LangGraph
0643073
from langgraph.graph import StateGraph, START, END
from agent.state import AgentState
from agent.nodes import (
detect_intent,
handle_greeting,
handle_unknown,
retrieve_knowledge,
generate_rag_response,
process_lead,
execute_tool
)
from agent.router import route_intent, route_after_lead
def build_graph():
workflow = StateGraph(AgentState)
workflow.add_node("detect_intent", detect_intent)
workflow.add_node("handle_greeting", handle_greeting)
workflow.add_node("handle_unknown", handle_unknown)
workflow.add_node("retrieve_knowledge", retrieve_knowledge)
workflow.add_node("generate_rag_response", generate_rag_response)
workflow.add_node("process_lead", process_lead)
workflow.add_node("execute_tool", execute_tool)
workflow.add_edge(START, "detect_intent")
workflow.add_conditional_edges(
"detect_intent",
route_intent,
{
"handle_greeting": "handle_greeting",
"retrieve_knowledge": "retrieve_knowledge",
"process_lead": "process_lead",
"handle_unknown": "handle_unknown"
}
)
workflow.add_edge("retrieve_knowledge", "generate_rag_response")
workflow.add_conditional_edges(
"process_lead",
route_after_lead,
{
"execute_tool": "execute_tool",
"__end__": END
}
)
workflow.add_edge("handle_greeting", END)
workflow.add_edge("handle_unknown", END)
workflow.add_edge("generate_rag_response", END)
workflow.add_edge("execute_tool", END)
app = workflow.compile()
return app
app = build_graph()