Skip to content

Repository files navigation

Beginning LangChain — 基于项目的 LangChain 学习指南

从调一次 API 到造一个产品,中间隔的不是更多的代码,而是对"不确定性"的工程驯服。

一本以项目驱动的方式学习 LangChain v1 的中文技术书。全书 15 章,从基础概念到生产部署,每章围绕可运行的代码示例展开,最终构建一个完整的智能文档助手系统。

在线阅读

本书通过 Netlify 部署,可直接在线阅读。

全书结构

阶段 章节 主题
基础篇 第 1-5 章 LangChain 生态全景、模型调用、提示词工程、LCEL 管道、中间件与事件流
应用篇 第 6-9 章 RAG 文档问答、高级检索与智能体、工具调用与结构化输出、多模态应用
进阶篇 第 10-15 章 LangGraph 状态图、函数式 API 与工作流、多智能体协作、安全护栏、观测评估、生产部署与 MCP

章节目录

  • 前言 — 本书定位与使用指南
  • 第 1 章:LangChain 生态全景与快速入门
  • 第 2 章:模型调用——数据怎么进,结果怎么出
  • 第 3 章:提示词工程——设计喂给模型的内容
  • 第 4 章:LCEL 深度与 Runnable 管道
  • 第 5 章:中间件与事件流系统
  • 第 6 章:RAG 基础——文档处理与向量检索
  • 第 7 章:RAG 进阶——高级检索与智能体驱动
  • 第 8 章:工具调用与结构化输出进阶
  • 第 9 章:多模态 AI 应用——让智能体"看"和"听"
  • 第 10 章:LangGraph 状态图——把智能体的黑箱变成白箱
  • 第 11 章:函数式 API 与工作流模式——从并行执行到多智能体协作
  • 第 12 章:多智能体协作——从单兵到团队
  • 第 13 章:高级安全护栏——从结构化输出验证到运行时隔离
  • 第 14 章:LangSmith 观测与评估——从"可靠"到"可度量"
  • 第 15 章:生产部署与 MCP 集成——从项目到产品
  • 总结与展望

快速开始

前置要求

  • Python 3.12+
  • uv — Python 包管理器
  • mdBook — 构建本书 HTML(可选,仅本地阅读时需要)
  • LLM API Key — 至少需要一个 OpenAI API Key

安装

# 克隆仓库
git clone https://github.com/chenyuluoe/projected-based-langchain.git
cd projected-based-langchain

# 安装 Python 依赖
uv sync

# 配置环境变量
cp .env.example .env
# 编辑 .env,填入你的 API Key

运行代码示例

每章配有可独立运行的 Python 示例,位于 examples/ 目录:

# 运行第 1 章示例
uv run python examples/chapter_01_hello.py

# 运行第 6 章 RAG 示例
uv run python examples/chapter_06_rag.py

# 运行第 12 章多智能体示例
uv run python examples/chapter_12_multi_agent.py

构建本书

# 构建 HTML 输出到 book/
mdbook build

# 启动本地服务器,浏览器自动打开,支持热重载
mdbook serve

便捷命令

项目提供 Makefile 封装常用操作:

命令 说明
make setup 安装 Python 依赖
make build 构建 mdBook
make serve 启动本地服务器(热重载)
make test 运行 Python 测试
make clean 清理构建产物和虚拟环境

项目结构

.
├── src/                        # 章节源文件(Markdown)
│   ├── SUMMARY.md              # 目录导航
│   ├── introduction.md         # 前言
│   ├── chapter_1.md ~ chapter_15.md  # 15 章内容
│   └── conclusion.md           # 总结与展望
├── examples/                   # 可运行的 Python 代码示例
│   ├── config.py               # 公共配置
│   ├── chapter_01_hello.py     # 第 1 章示例
│   ├── chapter_02_*.py         # 第 2 章示例(7 个)
│   ├── ...
│   └── chapter_15_deployment/  # 第 15 章部署示例(LangGraph Server)
├── book.toml                   # mdBook 配置
├── pyproject.toml              # Python 依赖声明
├── uv.lock                     # 锁定的依赖树
├── Makefile                    # 便捷命令
├── netlify.toml                # Netlify 部署配置
├── mermaid.min.js              # Mermaid 图表渲染
├── mermaid-init.js             # Mermaid 初始化脚本
├── .env.example                # 环境变量模板
├── WRITING_CRITERIA.md         # 撰写准则
└── book/                       # 构建输出(gitignored)

技术栈

类别 技术
书籍构建 mdBook 0.5+
图表渲染 Mermaid(通过 mdbook-mermaid 预处理器)
Python 3.12+
包管理 uv
LLM 框架 LangChain v1、LangGraph v1
模型提供商 OpenAI、Anthropic、Google GenAI、Ollama(本地)
向量数据库 ChromaDB
观测平台 LangSmith
部署 Netlify(书籍)、LangGraph Server(应用)

Python 依赖

版本 用途
langchain ≥1.0, <2.0 核心框架
langchain-classic ≥1.0, <2.0 兼容层
langchain-openai ≥1.0, <2.0 OpenAI 模型集成
langchain-anthropic ≥1.0, <2.0 Anthropic 模型集成
langchain-google-genai ≥3.0, <5.0 Google Gemini 集成
langgraph ≥1.0, <2.0 状态图与智能体编排
langgraph-checkpoint ≥2.0, <3.0 检查点持久化
chromadb ≥0.6, <0.7 向量存储
tiktoken ≥0.9, <1.0 Token 计数
langsmith ≥0.3, <0.4 观测与评估
python-dotenv ≥1.1, <2.0 环境变量加载
pydantic ≥2.0, <3.0 数据验证

环境变量

复制 .env.example.env 并填入你的 API Key:

# 必需:OpenAI API Key(大多数示例需要)
OPENAI_API_KEY=sk-your-key-here

# 可选:Anthropic API Key
ANTHROPIC_API_KEY=sk-ant-your-key-here

# 可选:Google Gemini API Key
GOOGLE_API_KEY=your-key-here

# 可选:LangSmith 追踪
LANGSMITH_API_KEY=lsv2-pt-your-key-here
LANGSMITH_PROJECT=beginning-langchain

适合谁读

  • 有 Python 基础,想从"调用 OpenAI API"走向"构建生产级 LLM 应用"的开发者
  • 不需要机器学习背景,不需要了解 Transformer 内部机制
  • 只需要会用 Python 写函数、处理列表和字典、打开终端运行命令

本书特色

  • 项目驱动:每章练习与全书大项目"智能文档助手"挂钩,学完即有可运行的系统
  • 原理优先:先讲"为什么这样设计",再讲"怎么做"
  • 可运行代码:所有示例均可通过 uv run python 直接运行,无需手动配置虚拟环境
  • 生产视角:每个 API 调用示例标注预估 token 用量和费用,附生产注意事项
  • 术语规范:技术术语首次出现标注英文原文,正文统一使用中文,全文一致

许可证

本项目采用 MIT 许可证,详见 LICENSE 文件。

About

A projected-based langchain tutorial based the latest langchain documents

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages