一个全面的 LangGraph 学习项目,提供从基础概念到高级应用的完整学习路径。通过系统化的教程、丰富的示例代码和实际项目案例,帮助开发者掌握 LangGraph 框架,构建有状态的 AI Agent 和工作流应用。
- 📚 系统化学习路径 - 从 Python 基础到 LangGraph 高级特性的完整体系
- 💻 丰富示例代码 - 28+ Python 文件,10+ Jupyter Notebooks
- 📖 详细文档指南 - 48+ 文档文件,涵盖理论与实践
- 🛠️ 实际项目案例 - 聊天机器人、RAG 系统、多 Agent 架构等
- 🎯 渐进式难度 - 从 Hello World 到复杂工作流的学习曲线
- 🔧 开箱即用 - 完整的开发环境配置和最佳实践
- Python 3.8+
- 基础的 Python 编程知识
- OPENAI API 密钥(用于访问 LLM)
-
克隆项目
git clone https://github.com/your-username/hello-langgraph.git cd hello-langgraph -
创建虚拟环境
python -m venv .venv source .venv/bin/activate # macOS/Linux # .venv\Scripts\activate # Windows
-
安装依赖
pip install -r requirements.txt
-
配置环境变量
cp .env.example .env # 编辑 .env 文件,添加你的 OPENAI API 密钥
运行你的第一个 LangGraph 应用:
# 简单的 Agent 机器人
python Agents/01-Agent_Bot.py
# 或者使用 Jupyter Notebook
jupyter notebook Graphs/01-Hello_Word.ipynbhello-langgraph/
├── 📂 Foundations/ # 系统学习资料
│ ├── 01-Python前置/ # Python 基础知识
│ ├── 02-图论与状态机/ # 图论和状态机原理
│ ├── 03-LangGraph基础/ # LangGraph 核心概念
│ ├── 04-进阶特性/ # 条件路由、循环、记忆
│ ├── 05-工具与集成/ # 工具调用、LLM 集成
│ ├── 06-开发实践/ # 调试、测试、性能优化
│ ├── 07-部署与运维/ # Docker、K8s 部署
│ ├── 08-项目案例/ # 实际应用示例
│ └── 09-速查手册/ # 快速参考文档
├── 📂 Agents/ # Agent 实现示例
│ ├── 01-Agent_Bot.py # 简单 LLM 集成
│ └── 02-Memory_Agent.py # 带记忆的对话 Agent
├── 📂 Graphs/ # 图结构示例
│ ├── 01-Hello_Word.ipynb # 基础图结构
│ ├── 02-Multiple_Inputs.ipynb # 多输入处理
│ ├── 03-Sequential_Agent.ipynb# 顺序执行图
│ ├── 04-Conditional_Agent.ipynb# 条件分支图
│ └── 05-Looping.ipynb # 循环控制图
├── 📂 Exercises/ # 练习题集合
│ └── Exercise_Graph*.ipynb # 不同难度练习
├── 📄 LangGraph学习笔记.md # 核心概念总结
├── 📄 CLAUDE.md # Claude Code 指南
└── 📄 requirements.txt # 项目依赖
适合:Python 初学者、编程新手
-
第1周:Python 前置知识
- 类型系统和 TypedDict
- 异步编程基础
- 完成
Foundations/01-Python前置/练习
-
第2周:图论基础
- 图的基本概念
- 状态机原理
- 工作流模式理解
-
第3周:LangGraph 入门
- 运行
Graphs/01-Hello_Word.ipynb - 学习状态、节点、图的概念
- 完成基础练习
- 运行
-
第4周:实践应用
- 构建简单聊天机器人
- 理解 Agent 工作原理
适合:有 Python 基础的开发者
-
第1周:核心概念
- 快速浏览
Foundations/03-LangGraph基础/ - 完成所有
Graphs/示例
- 快速浏览
-
第2周:高级特性
- 条件路由和循环控制
- 记忆和持久化
- 工具集成
-
第3周:项目实战
- RAG 系统构建
- 多 Agent 架构
适合:有 AI/ML 经验的开发者
- 直接学习
Foundations/04-进阶特性/及后续章节 - 运行
Foundations/08-项目案例/中的复杂示例 - 参考
Foundations/07-部署与运维/进行生产部署
项目使用 OPENAI 作为统一的 LLM API 入口,支持多种模型:
# .env 文件配置
OPENAI_API_KEY=sk-or-xxxxxxxxxxxxxxxxxxxx
OPENAI_BASE_URL=https://OPENAI.ai/api/v1
OPENAI_MODEL=openai/gpt-4o支持的模型包括:
- OpenAI GPT-4/GPT-3.5
- Anthropic Claude
- Google Gemini
- 其他开源模型
from typing import TypedDict, List
from langchain_core.messages import HumanMessage
class AgentState(TypedDict):
messages: List[HumanMessage]
user_name: str
step_count: intfrom langgraph.graph import StateGraph, START, END
def process_message(state: AgentState) -> AgentState:
# 处理逻辑
return {"messages": updated_messages}
workflow = StateGraph(AgentState)
workflow.add_node("process", process_message)
workflow.add_edge(START, "process")
workflow.add_edge("process", END)
app = workflow.compile()- 支持上下文记忆
- 多轮对话管理
- 个性化响应
- 文档检索增强
- 向量数据库集成
- 智能答案生成
- 任务分解与分配
- Agent 间通信
- 结果汇总整合
- 条件分支逻辑
- 循环控制结构
- 人机交互节点
我们欢迎社区贡献!你可以通过以下方式参与:
- 🐛 报告问题 - 发现 bug 或文档错误
- 💡 功能建议 - 提出新的示例或改进想法
- 📝 文档改进 - 完善教程和说明文档
- 🔧 代码贡献 - 添加新的示例或优化现有代码
- Fork 项目仓库
- 创建功能分支:
git checkout -b feature/amazing-feature - 提交更改:
git commit -m 'Add amazing feature' - 推送分支:
git push origin feature/amazing-feature - 提交 Pull Request
- 📧 问题反馈:提交 GitHub Issues
- 💬 讨论交流:GitHub Discussions
- 📖 文档:查看
Foundations/目录 - 🔍 快速查找:使用
Foundations/09-速查手册/
本项目基于 MIT 许可证开源。详情请查看 LICENSE 文件。
感谢以下项目和社区的支持:
⭐ 如果这个项目对你有帮助,请给我们一个 Star!
📚 开始你的 LangGraph 学习之旅吧!