使用说明
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 了解更多信息。
