从入门到精通的完整 LangChain 开发学习路径
最后更新: 2026-03-16
特色: ✅ Ollama 本地模型 (qwen3.5:9b) | ✅ 阿里云百炼 | ✅ 35+ 示例代码 | ✅ 项目实战
| 类别 | 数量 | 状态 |
|---|---|---|
| 示例代码文件 | 35+ | ✅ |
| Ollama 专项示例 | 10+ | ✅ |
| 阿里云专项示例 | 6+ | ✅ |
| 项目实战 | 1 | ✅ |
| 覆盖章节 | 9/10 | 🔄 |
LangChain-Tutorial/
├── 00-setup/ # 环境配置与基础
├── 01-core-concepts/ # 核心概念 (5 个示例)
├── 02-models/ # 模型集成 (9 个示例) ⭐
├── 03-prompts/ # 提示工程 (7 个示例 + 项目) ⭐
├── 04-chains/ # 链式调用 (2 个示例)
├── 05-agents/ # 智能体 (2 个示例)
├── 06-memory/ # 记忆系统 (2 个示例)
├── 07-retrieval/ # 检索增强 RAG (2 个示例)
├── 08-vector-stores/ # 向量数据库 (1 个示例)
├── 09-output-parsers/ # 输出解析 (1 个示例)
├── 10-real-world/ # 实战项目 (待创建)
├── resources/ # 学习资源
├── COMPLETION_REPORT.md # 完成报告
└── README.md # 本文件
- ✅ 环境配置 (00-setup)
- ✅ 核心概念理解 (01-core-concepts)
- ✅ 模型调用 (02-models) - 含 Ollama/阿里云
- ✅ 提示工程基础 (03-prompts)
- ✅ 链式调用 (04-chains)
- ✅ 记忆系统 (06-memory)
- ✅ 输出解析 (09-output-parsers)
- ✅ 基础 Agents (05-agents)
- 🔄 RAG 检索增强 (07-retrieval)
- 🔄 向量数据库 (08-vector-stores)
- 🔄 复杂 Agents
- ✅ 实战项目 (03-prompts/project)
- 🔄 生产部署
- 🔄 性能优化
- 🔄 最佳实践
- 🔄 社区贡献
主题文件夹/
├── README.md # 主题介绍与学习目标
├── examples/ # 示例代码
│ ├── basic/ # 基础示例 ✅
│ ├── intermediate/ # 中级示例 ✅
│ └── advanced/ # 高级示例 ✅
├── project/ # 项目实战 (部分章节) ✅
│ ├── README.md
│ ├── src/
│ ├── tests/
│ └── examples/
├── exercises/ # 练习题
└── resources/ # 扩展资源
Python 3.10+
pip install -r requirements.txt# 复制环境变量模板
cp .env.example .env
# 编辑 .env 文件
# Ollama (本地,无需 API Key)
OLLAMA_HOST=localhost:11434
# 阿里云百炼 (可选)
DASHSCOPE_API_KEY=your_api_key_here# macOS
brew install ollama
# 下载模型
ollama pull qwen3.5:9b
# 启动服务
ollama serve
# 验证
ollama list# 基础示例
python 02-models/examples/basic/ollama_basic.py
# 中级示例
python 02-models/examples/intermediate/ollama_intermediate.py
# 高级示例
python 02-models/examples/advanced/ollama_advanced.py
# 阿里云示例 (需配置 API Key)
python 02-models/examples/basic/aliyun_basic.py- Python 环境设置
- LangChain 安装
- API 密钥配置
- 开发工具配置
- 环境验证脚本
- LLM 基础
- Token 理解
- LangChain 架构
- 基本组件
- 示例:
langchain_components.py,ollama_basic.py,chaining_patterns.py
- OpenAI 模型
- Anthropic Claude
- Ollama 本地模型 (qwen3.5:9b)
- 阿里云百炼
- 模型切换与比较
- 示例: 9 个完整示例 (基础/中级/高级)
ollama_basic.py- Ollama 基础调用ollama_intermediate.py- 高级配置与优化ollama_advanced.py- 生产级应用aliyun_basic.py- 阿里云基础aliyun_intermediate.py- 阿里云高级特性aliyun_advanced.py- 阿里云生产实践
- Prompt 模板
- Few-shot 学习
- 提示优化技巧
- 系统提示设计
- 项目实战: 提示词模板管理器
- 示例: 7 个示例 + 完整项目
- LLMChain
- SequentialChain
- 并行链
- 条件链
- 示例:
llm_chain.py,ollama_chains.py
- Agent 基础
- Tool 使用
- ReAct 模式
- 自定义 Agent
- 示例:
agent_intro.py,ollama_agent.py
- ConversationBuffer
- ConversationSummary
- 自定义记忆
- 记忆持久化
- 示例:
conversation_memory.py,ollama_memory.py
- Document 加载
- Text 分割
- Embedding
- 检索策略
- RAG 基础实现
- 示例:
document_loading.py,ollama_retrieval.py
- FAISS
- ChromaDB
- 向量优化
- 示例:
vector_store_intro.py
- 结构化输出
- Pydantic 解析
- JSON 解析
- 错误处理
- 示例:
json_parser.py
- 智能客服
- 文档问答
- 代码助手
- 数据分析
完整支持 Ollama 本地模型 (qwen3.5:9b),无需 API Key 即可学习:
- ✅ 基础调用与配置
- ✅ 高级参数优化
- ✅ 缓存与性能优化
- ✅ 生产级应用模式
完整支持阿里云百炼大模型:
- ✅ DashScope SDK
- ✅ OpenAI 兼容接口
- ✅ 多模型路由
- ✅ 成本优化实践
每个核心章节配备完整项目实战:
- 真实场景应用
- 完整代码结构
- 可独立运行
- 可扩展开发
- 循序渐进: 按顺序学习每个主题,不要跳级
- 动手实践: 运行并修改示例代码,不要只看
- 完成练习: 每个主题都有练习题,务必完成
- 记录笔记: 在
notes/文件夹记录心得 - 本地优先: 开发测试优先使用 Ollama,节省成本
- 参与社区: 加入 LangChain 社区讨论
| 主题 | 状态 | 示例数 | 完成日期 | 笔记 |
|---|---|---|---|---|
| 00-setup | ✅ | 1 | - | - |
| 01-core-concepts | ✅ | 5 | - | - |
| 02-models | ✅ | 9 | - | - |
| 03-prompts | ✅ | 7+ 项目 | - | - |
| 04-chains | ✅ | 2 | - | - |
| 05-agents | ✅ | 2 | - | - |
| 06-memory | ✅ | 2 | - | - |
| 07-retrieval | ✅ | 2 | - | - |
| 08-vector-stores | 🔄 | 1 | - | - |
| 09-output-parsers | 🔄 | 1 | - | - |
| 10-real-world | ⬜ | 0 | - | - |
图例: ✅ 已完成 | 🔄 进行中 | ⬜ 待开始
Day 1-2: 00-setup - 环境配置
Day 3-4: 01-core-concepts - 核心概念
Day 5-7: 02-models (基础) - 模型调用
Day 8-10: 02-models (中级/高级) - 深入模型
Day 11-14: 03-prompts - 提示工程 + 项目实战
Day 15-17: 04-chains - 链式调用
Day 18-21: 06-memory - 记忆系统
Day 22-24: 05-agents - 智能体
Day 25-28: 07-retrieval + 08-vector-stores - RAG
Day 29-31: 09-output-parsers - 输出解析
Day 32+: 10-real-world - 综合项目
# 检查安装
ollama --version
# 重新启动服务
ollama serve
# 查看日志
tail -f ~/.ollama/logs/server.log# Ollama
llm = ChatOllama(model="qwen3.5:9b") # 或 llama3:8b, mistral:7b 等
# 阿里云
llm = ChatOpenAI(
model="qwen-plus",
openai_api_key=api_key,
openai_api_base="https://dashscope.aliyuncs.com/compatible-mode/v1"
)- 开发测试使用 Ollama 本地模型
- 实现缓存机制,避免重复调用
- 选择合适的模型 (简单任务用 qwen-turbo)
- 设置合理的 max_tokens 限制
本教程采用 MIT 许可证,欢迎 Fork 和贡献。
感谢 LangChain 社区、Ollama 团队、阿里云百炼提供的优秀工具和文档。
祝你学习愉快!🎉
如有问题,欢迎在 Issues 中提问或讨论。
最后更新: 2026-03-16
维护者: 大龙虾 🦞