Skip to content

luochang212/dive-into-langgraph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dive into LangGraph

GitHub stars GitHub forks Language GitHub Project deploy-book

中文 | English

📚 在线阅读地址

📖《LangGraph 1.0 完全指南》

从零开始,动手实现强大的智能体


一、项目介绍

2025 年 10 月中旬,LangGraph 发布 1.0 版本。开发团队承诺这是一个稳定版本,预计未来接口不会大改,因此现在正是学习它的好时机。

这是一个开源电子书项目,旨在帮助 Agent 开发者快速掌握 LangGraph 框架。LangGraph 是由 LangChain 团队开发的开源智能体框架。它功能强大,你要的记忆、MCP、护栏、状态管理、多智能体它全都有。LangGraph 通常与 LangChain 一起使用:LangChain 提供基础组件和工具,LangGraph 负责工作流和状态管理。因此,两个库都需要学习。为了让大家快速入门,本教程将两个库的主要功能提取出来,分成 13 个章节进行介绍。

二、安装依赖

pip install -r requirements.txt
依赖包列表

以下为 requirements.txt 中的依赖包清单:

pydantic
python-dotenv
langchain[openai]
langchain-community
langchain-mcp-adapters
langchain-text-splitters
langgraph
langgraph-cli[inmem]
langgraph-supervisor
langgraph-checkpoint-sqlite
langgraph-checkpoint-redis
langmem
ipynbname
fastmcp
bs4
scikit-learn
supervisor
jieba
dashscope
tavily-python
ddgs

三、章节目录

本教程的内容速览:

序号 章节 主要内容
1 快速入门 创建你的第一个 ReAct Agent
2 状态图 使用 StateGraph 创建工作流
3 中间件 使用自定义中间件实现四个功能:预算控制、消息截断、敏感词过滤、PII 检测
4 人机交互 使用内置的 HITL 中间件实现人机交互
5 记忆 创建短期记忆、长期记忆
6 上下文工程 使用 State、Store、Runtime 管理上下文
7 MCP Server 创建 MCP Server 并接入 LangGraph
8 监督者模式 两种方法实现监督者模式:tool-calling、langgraph-supervisor
9 并行 如何实现并发:节点并发、@task 装饰器、Map-reduce、Sub-graphs
10 RAG 三种方式实现 RAG:向量检索、关键词检索、混合检索
11 网络搜索 实现联网搜索:DashScope、Tavily 和 DDGS
12 Deep Agents 简单介绍 Deep Agents
13 调试页面 介绍 langgraph-cli 提供的调试页面

未出现在上述章节但比较重要的代码,我放在仓库的 tests 目录下:

代码 说明
/tests/test_rag.py 使用 RAG 将本地文档片段注入智能体
/tests/test_langmem.py 使用 LangMem 管理智能体长期记忆
/tests/test_store.py 使用 RedisStore 快速读写长期记忆
/tests/test_router.py 实现一个简单的智能体路由

Note

承诺:本教程完全基于 LangGraph v1.0 编写,不含任何 v0.6 的历史残留。

四、调试页面

langgraph-cli 提供了一个可快速启动的调试页面。

langgraph dev

详见 第13章

五、延伸阅读

官方文档:

官方教程:

六、如何贡献

我们欢迎任何形式的贡献!

  • 🐛 报告 Bug - 发现问题请提交 Issue
  • 💡 功能建议 - 有好想法就告诉我们
  • 📝 内容完善 - 帮助改进教程内容
  • 🔧 代码优化 - 提交 Pull Request

七、开源协议

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。

Releases

No releases published

Packages

No packages published