Agentic AI with LangGraph
Build autonomous, stateful, and goal-oriented AI systems capable of complex multi-step reasoning.
______________________________________________________________________
📖 概述
此存储库演示了 AI 代理 系统使用 LangGraph与传统的无状态生成人工智能不同,该框架能够创建 自主代理 它可以计划、执行、记住上下文,并协作解决复杂的任务。
它既是一个 学习课程 和一个 参考实现 用于构建生产就绪的代理工作流,涵盖从基本顺序链到复杂多代理编排的所有内容 模型上下文协议(MCP).
🧬 什么是AgentAI?
AgentAI描述了由以下定义的系统:
- 自主性:代理独立计划和执行子任务。
- 编排:工作流程通过共享协议(MCP)进行协调。
- 可组合性:代理和图是模块化的、可重用的和可测试的。
______________________________________________________________________
🛣️ 路线图和课程
🎓 学习路径
- 基础水平
- *代理人工智能基础*:核心概念和原则 - *语言图形基础*:状态机和工作流设计
- 中级水平
- *高级语言图*:复杂的路由和错误处理 - *AI代理*:代理设计模式和架构
- 高级水平
- *RAG代理*:使用代理进行检索增强生成 - *生产部署*:扩展和监测战略
______________________________________________________________________
🛠️ 核心组件
该系统围绕这些模块化和可互操作的组件构建:
- 代理
- *说明:* 具有特定角色、记忆、工具和目标的自治实体。 - *示例:* PlannerAgent (分解目标), ResearchAgent (收集数据), ExecutionAgent (运行任务)。
- LangGraph状态机
- *说明:* 定义代理转换、执行流和动态任务路由的中央编排器。 - *主要特点:* 警告有状态DAG、条件路由、并发和检索。
- MCP消息层
- *说明:* 结构化消息交换协议,包括 Message, Thread, Step,以及 Run 对象追踪代理推理。
- 内存和上下文存储
- *说明:* 长期和短期记忆(线程级历史、特定于代理的上下文、RAG的向量DB)。
- 工具和界面
- *说明:* 外部功能(Web搜索、代码解释器、API客户端)抽象为可调用节点。
- 任务路由器/控制器
- *说明:* 用于分配子任务的集中计划或分布式协商机制。
- 可观察性和调试
- *说明:* 通过LangGraph可视化工具和日志中间件进行日志记录、跟踪和监控。
______________________________________________________________________
⚖️ GenAI 与 AgenticAI
| 特征 | 生成式人工智能(GenAI) | 代理式人工智能 |
|---|---|---|
| 主输出 | 非结构化内容(文本、图像、音频) | 自主任务执行的结构化输出 |
| 执行流程 | 无状态单步推理 | 有记忆的有状态迭代多步推理 |
| 建筑 | 单片线性管道 | 模块化、事件驱动的多智能体系统(DAG) |
| 决策 | 快速条件输出 | 目标导向规划和动态上下文跟踪 |
| 自主性 | 被动回应询问 | 主动决策 |
| 控制流程 | 快速工程 | 有限状态机和反应性策略 |
| 记忆 | 短暂的(有限的上下文) | 持久的、结构化的记忆 |
| 工具使用 | 手动编写脚本/模板 | 通过MCP动态选择工具 |
| 可扩展性 | 受模型/上下文大小的限制 | 通过专业代理进行横向扩展 |
| 调试性 | 不透明推理 | 透明工作流和可追踪节点 |
______________________________________________________________________
📂 项目结构
Agentic_AI_using_LangGraph/
├── 01_Foundation_of_AgenticAI/ # Basic concepts and functional nodes
├── 02_Sequential_&_Parallel_workflow/# Linear and parallel chain executions
├── 03_Conditional_Workflow/ # Dynamic routing based on logic (Router)
├── 04_Iterative_Workflows/ # Loops and retry mechanisms
├── 05_Structured_ai_chatbot/ # Schema-driven agent responses
├── 06_Conversational_ai_chatbot/ # Advanced chatbots with memory
├── 07_LangsSmith/ # Tracing and observability setup
├── _img/ # Assets and diagrams
├── main.py # Entry point for testing
└── requirements.txt # Project dependencies______________________________________________________________________
🚀 入门指南
先决条件
- Python 3.9+
- Git
- API密钥:OpenAI、Anthropic或HuggingFace。
安装
我们建议使用 uv 用于快速依赖管理,但标准 pip 效果也不错。
- 克隆存储库
git clone https://github.com/mohd-faizy/Agentic_AI_using_LangGraph.git
cd Agentic_AI_using_LangGraph- 设置环境
*使用 uv (推荐):*
uv venv
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windows
uv add -r requirements.txt*使用 pip:*
python -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windows
pip install -r requirements.txt- 配置
创建一个 .env 文件:
cp .env.example .env添加您的密钥:
OPENAI_API_KEY=sk-...
LANGCHAIN_API_KEY=...⚡ 快速开始
from langgraph.graph import StateGraph, END
from typing import TypedDict
# 1. Define State
class AgentState(TypedDict):
messages: list
# 2. Define Nodes
def agent_node(state: AgentState):
return {"messages": ["Agent processing..."]}
# 3. Build Graph
workflow = StateGraph(AgentState)
workflow.add_node("agent", agent_node)
workflow.set_entry_point("agent")
workflow.add_edge("agent", END)
# 4. Compile & Run
app = workflow.compile()
print(app.invoke({"messages": ["Init"]}))______________________________________________________________________
🤝 贡献与支持
欢迎投稿!如果您觉得此存储库有用,请 星 它
📄 许可证
根据MIT许可证分发。看 LICENSE 了解更多信息。
