欢迎来到 终极 LangGraph 1.0 课程!🚀
本仓库旨在帮助您从完全初学者成长为使用 LangGraph 和 Google Gemini 构建生产级 自主代理 的开发者。
本课程遵循 “边做边学” 的理念。每个模块都是一个独立的小项目。
concept.md):首先阅读这部分以理解理论。project.py):运行此部分以查看工作示例。challenge.py):一个损坏或不完整的脚本。您的任务是修复它!solution.py):卡住了?检查参考答案。我们使用 uv 进行快速依赖管理。
安装 uv:
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
安装依赖项:
uv sync
设置 API 密钥:
将 .env.example 重命名为 .env 并添加您的 Google API 密钥。
cp .env.example .env
# 编辑 .env 并添加 GOOGLE_API_KEY=...
文件夹: 01-foundations
学习 节点、边 和 状态图 的基础知识。我们将构建一个模拟思考过程的系统。
graph LR
START((开始)) --> 规划者
规划者 --> 分析者
分析者 --> 结论者
结论者 --> END((结束))
style START fill:#f9f,stroke:#333,stroke-width:2px
style END fill:#f9f,stroke:#333,stroke-width:2px
uv run 01-foundations/project.py文件夹: 02-state-management
掌握 状态 模式。学习如何使用 Reducer(如 add_messages)并处理复杂的数据流。
graph LR
START((开始)) --> 验证器
验证器 --> 计算器
计算器 --> 收据
收据 --> END((结束))
uv run 02-state-management/project.py文件夹: 03-persistence
给您的代理添加 记忆!学习关于 检查点 和 线程ID,以便在重启时记住对话。
graph TD
START((开始)) --> 机器人
机器人 --> END((结束))
subgraph "💾 记忆保存器"
机器人
end
uv run 03-persistence/project.py文件夹: 04-human-in-the-loop
学习如何使用 interrupt_before 暂停执行以等待人工批准,并使用 命令 继续执行。
graph TD
START((开始)) --> 准备
准备 -->|中断| 部署
部署 --> END((结束))
style 部署 stroke:#f00,stroke-width:4px
uv run 04-human-in-the-loop/project.py文件夹: 05-tool-use
构建一个真正的 ReAct 代理。学习如何将工具(函数)绑定到LLM,并让其决定何时调用它们。
graph TD
START((开始)) --> 代理
代理 -->|调用工具| 工具
工具 --> 代理
代理 -->|最终答案| END((结束))
uv run 05-tool-use/project.py文件夹: 06-mcp-integration
使用 模型上下文协议(MCP) 将您的代理连接到世界。我们模拟与SQLite数据库的连接。
graph TD
START((开始)) --> 代理
代理 -->|MCP协议| SQLite[SQLite DB]
SQLite --> 代理
代理 --> END((结束))
uv run 06-mcp-integration/project.py文件夹: 07-special-project-a2a-mcp
结合 代理间通信 和 MCP工具。
graph LR
START((开始)) --> 侦察员
侦察员 -->|交接| 分析员
分析员 --> END((结束))
subgraph "分布式工具"
侦察员 -.-> 列出表
分析员 -.-> 运行查询
end
uv run 07-special-project-a2a-mcp/project.py文件夹: 08-multi-agent-orchestration
扩展!使用 监督模式 协调多个专业代理。
graph TD
START((开始)) --> 监督员
监督员 -->|路由| 编码员
监督员 -->|路由| 测试员
编码员 --> 监督员
测试员 --> 监督员
监督员 -->|完成| END((结束))
uv run 07-multi-agent-orchestration/project.py文件夹: 09-capstone-project
最终大Boss。将您学到的所有内容整合成一个强大的应用程序。
graph LR
START((开始)) --> 研究员
研究员 -->|草稿| 编辑员
编辑员 -->|审查| END((结束))
subgraph "工具"
研究员 -.-> 搜索
end
uv run 08-capstone-project/main.py如果您发现错误或希望添加更多挑战,请随时打开问题或PR!
祝编程愉快!🤖