How martinpercu/langchain-langgraph_agents-structure works
This repository is a LangGraph/LangChain agent template. Its main user-to-result path is a FastAPI chat request invoking the support-agent graph, which extracts customer details, routes to conversation or booking, and returns a response; an alternate API setup adds PostgreSQL checkpointing. Separate agent modules demonstrate RAG, ReAct, and other workflow patterns. The support-agent graph and API wiring are shown in source excerpts; broader example capabilities are documented in the README, so their internal flows are not inferred.
Main entry points: support_agent.py Support Graph · extractor/node.py Customer Extractor · route.py Intent Router · conversation/node.py Conversation Node
Components 27
API and Persistence
- Chat API
src/api/main.py - Persistent Chat API
src/api/main-2.py - Checkpoint Lifecycle
src/api/db.py
Support Agent
- Support Graph
src/agents/support_agent/support_agent.py - Conversation State
src/agents/support_agent/state.py - Customer Extractor
src/agents/support_agent/nodes/extractor/node.py - Extraction Prompt
src/agents/support_agent/nodes/extractor/prompt.py - Intent Router
src/agents/support_agent/routes/intention/route.py - Routing Prompt
src/agents/support_agent/routes/intention/prompt.py - Conversation Node
src/agents/support_agent/nodes/conversation/node.py - Conversation Prompt
src/agents/support_agent/nodes/conversation/prompt.py - Booking Agent
src/agents/support_agent/nodes/booking/node.py - Booking Prompt
src/agents/support_agent/nodes/booking/prompt.py - Appointment Tools
src/agents/support_agent/nodes/booking/tools.py
Workflow Examples
- Basic Agent
src/agents/simple.py - Message Agent
src/agents/simple-message.py - LLM Agent
src/agents/simple-llm.py - RAG Agent
src/agents/rag-basic.py - RAG Chaining
src/agents/rag-basic-chaining.py - Structured RAG
src/agents/rag-basic-structured-message.py - ReAct Agent
src/agents/react.py - Orchestrator Workflow
src/agents/orchestrator.py - Evaluator Optimizer
src/agents/evaluator_optimizer_joke.py - Coder Checker
src/agents/coder_checker.py
External Services
- PostgreSQL
- LLM Providers
Other components
- Chat User
Connections 31
- Chat User → Chat API: sends chat
src/api/main.py - Chat API → Support Graph: invokes graph
src/api/main.py - Chat User → Persistent Chat API: sends chat
src/api/main-2.py - Persistent Chat API → Support Graph: builds and invokes
src/api/main-2.py - Persistent Chat API → Checkpoint Lifecycle: requests checkpointer
src/api/main-2.py - Checkpoint Lifecycle → PostgreSQL: persists checkpoints
src/api/db.py - Support Graph → Customer Extractor: starts with
src/agents/support_agent/support_agent.py - Support Graph → Intent Router: routes after extraction
src/agents/support_agent/support_agent.py - Support Graph → Conversation Node: routes to
src/agents/support_agent/support_agent.py - Support Graph → Booking Agent: routes to
src/agents/support_agent/support_agent.py - Customer Extractor → Conversation State: reads and updates
src/agents/support_agent/nodes/extractor/node.py - Conversation Node → Conversation State: reads messages
src/agents/support_agent/nodes/conversation/node.py - Customer Extractor → Extraction Prompt: uses prompt
src/agents/support_agent/nodes/extractor/node.py - Intent Router → Conversation State: reads messages
src/agents/support_agent/routes/intention/route.py - Intent Router → Routing Prompt: uses prompt
src/agents/support_agent/routes/intention/route.py - Conversation Node → Conversation Prompt: uses prompt
src/agents/support_agent/nodes/conversation/node.py - Booking Agent → Appointment Tools: registers tools
src/agents/support_agent/nodes/booking/node.py - Booking Agent → Booking Prompt: uses prompt
src/agents/support_agent/nodes/booking/node.py - Customer Extractor → LLM Providers: calls model
- Intent Router → LLM Providers: calls model
- Conversation Node → LLM Providers: calls model
- Basic Agent → LLM Providers: uses model
- Message Agent → LLM Providers: uses model
- LLM Agent → LLM Providers: uses model
- RAG Agent → LLM Providers: uses model
- RAG Chaining → LLM Providers: uses model
- Structured RAG → LLM Providers: uses model
- ReAct Agent → LLM Providers: uses model
- Orchestrator Workflow → LLM Providers: uses model
- Evaluator Optimizer → LLM Providers: uses model
- Coder Checker → LLM Providers: uses model