Spaces:
Sleeping
Sleeping
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() | |