增加每章节 README 文件

This commit is contained in:
2026-09-22 15:57:59 +08:00
parent 8e86665096
commit 9445061c76
49 changed files with 3815 additions and 6 deletions
@@ -0,0 +1,55 @@
# 工具调用生态(工具工厂五要素)
> 所属:阶段四 · 工具生态与外围组件集成
> 目标:掌握工具开发五要素(校验 / 超时 / 权限 / 异常包装 / 结果精简)和工具工厂模式。
---
## 📌 学习目的
掌握工具开发五要素(校验 / 超时 / 权限 / 异常包装 / 结果精简)和工具工厂模式。
## ✅ 学习要求(前置条件)
已完成阶段三「01_langchain_basics」+ 阶段一「04_python_core_toolkits」。
## 📚 主要学习内容
- 工具五要素:pydantic 校验 / 超时 / 权限白名单 / 异常包装 / 结果精简
- 工具工厂模式:业务只写纯函数,五要素自动继承
- 搜索工具:Tavily / SerpAPI / DuckDuckGo
- 代码执行沙箱:本地 / Docker 容器 / E2B 云沙箱三档位
- 文件处理:PDF(PyMuPDF)/ Excel(openpyxl)/ OCR
## 📖 对应 docs
- 目录:[`docs/04-阶段四-工具生态与外围组件集成/`](../../docs/04-阶段四-工具生态与外围组件集成/)(按目录名里的 `第 X 篇` 对应)
- 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
## 🛠️ 建议练习
- [ ] 实现一个带工具工厂的搜索工具(含超时与白名单)
- [ ] 用 Docker 跑一段用户生成的 Python 代码(断网 + 限内存)
- [ ] 用 PyMuPDF 解析一份 PDF 并截断返回前 2000 字
## 🏁 完成后达成标准
- [ ] 能说清工具五要素并落地一个带工厂的工具
- [ ] 能区分代码执行的三档位适用场景
- [ ] 能写出带重试 + 降级的搜索/外部接口封装
---
## 🚀 运行提示
```bash
# 激活根目录的虚拟环境
cd /Users/jack/source/Demo/py/demo_python_agent
source .venv/bin/activate # 或直接用 uv run ...
# 进入本章目录
cd code/004_phase4_tool_ecosystem/01_tool_calling_ecosystem
# 跑你的练习文件
uv run python your_exercise.py
```
@@ -0,0 +1,55 @@
# 向量数据库与记忆存储
> 所属:阶段四 · 工具生态与外围组件集成
> 目标:掌握向量基础、主流向量库选型、混合检索与 Rerank,能搭一个生产级记忆存储组合。
---
## 📌 学习目的
掌握向量基础、主流向量库选型、混合检索与 Rerank,能搭一个生产级记忆存储组合。
## ✅ 学习要求(前置条件)
已完成阶段一「05_llm_fundamentals」。
## 📚 主要学习内容
- Embedding:把文本映射成高维向量 / 余弦相似度
- 轻量方案:Chroma / FAISS
- 生产方案:Qdrant / Milvus / Pinecone / pgvector
- 检索进阶:元数据过滤 / 稠密+稀疏双路召回 / Rerank 精排
- 生产记忆组合:会话缓存 Redis + 语义库 Qdrant + 结构化 PG
## 📖 对应 docs
- 目录:[`docs/04-阶段四-工具生态与外围组件集成/`](../../docs/04-阶段四-工具生态与外围组件集成/)(按目录名里的 `第 X 篇` 对应)
- 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
## 🛠️ 建议练习
- [ ] 用 Chroma 完成增删改查 + 元数据过滤
- [ ] 用 Qdrant 实现混合检索 + Rerank
- [ ] 画一张「Redis + Qdrant + PG」三件套的记忆架构图
## 🏁 完成后达成标准
- [ ] 能区分轻量 vs 生产向量库的取舍
- [ ] 能用 Chroma / Qdrant 实现混合检索 + Rerank
- [ ] 能讲清「稠密 BM25 + RRF + Rerank」的完整链路
---
## 🚀 运行提示
```bash
# 激活根目录的虚拟环境
cd /Users/jack/source/Demo/py/demo_python_agent
source .venv/bin/activate # 或直接用 uv run ...
# 进入本章目录
cd code/004_phase4_tool_ecosystem/02_vector_db_and_memory
# 跑你的练习文件
uv run python your_exercise.py
```
@@ -0,0 +1,55 @@
# RAG 技术体系
> 所属:阶段四 · 工具生态与外围组件集成
> 目标:掌握 RAG 流水线、chunking 选型、查询改写 / Rerank / 引用溯源等高级技术,能把 RAG 封装成 Agent 工具。
---
## 📌 学习目的
掌握 RAG 流水线、chunking 选型、查询改写 / Rerank / 引用溯源等高级技术,能把 RAG 封装成 Agent 工具。
## ✅ 学习要求(前置条件)
已完成「02_vector_db_and_memory」+ 阶段三「02_langgraph_core」。
## 📚 主要学习内容
- RAG 七环节:加载 → 清洗 → 分块 → 向量化 → 检索 → 生成
- chunking 策略:固定长度 / 递归字符 / 标题感知 / 语义 / 父子
- 高级 RAG 四件套:查询改写 / 多轮迭代 / Rerank / 引用溯源
- Agent-RAG:把知识库封装成 kb_search 工具
- LlamaIndex 检索 + LangGraph 编排的黄金组合
## 📖 对应 docs
- 目录:[`docs/04-阶段四-工具生态与外围组件集成/`](../../docs/04-阶段四-工具生态与外围组件集成/)(按目录名里的 `第 X 篇` 对应)
- 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
## 🛠️ 建议练习
- [ ] 用 RAG 完整流程做一份知识库问答
- [ ] 对比固定长度 / 递归字符 / 父子分块的 recall@5
- [ ] 把 QueryEngine 包成 @tool 并接入 LangGraph Agent
## 🏁 完成后达成标准
- [ ] 能说清 RAG 七环节及每个环节的常见故障
- [ ] 能实现带查询改写 + 缓存 + 溯源的知识库检索工具
- [ ] 能区分普通 RAG 与 Agent-RAG 的适用场景
---
## 🚀 运行提示
```bash
# 激活根目录的虚拟环境
cd /Users/jack/source/Demo/py/demo_python_agent
source .venv/bin/activate # 或直接用 uv run ...
# 进入本章目录
cd code/004_phase4_tool_ecosystem/03_rag_technique
# 跑你的练习文件
uv run python your_exercise.py
```
@@ -0,0 +1,55 @@
# MCP 协议与工具接入
> 所属:阶段四 · 工具生态与外围组件集成
> 目标:理解 MCP 协议定位、最小实战把工具暴露成 MCP Server,以及 Agent 接入 MCP 客户端。
---
## 📌 学习目的
理解 MCP 协议定位、最小实战把工具暴露成 MCP Server,以及 Agent 接入 MCP 客户端。
## ✅ 学习要求(前置条件)
已完成「01_tool_calling_ecosystem」+ 阶段三「02_langgraph_core」。
## 📚 主要学习内容
- 为什么需要 MCP:N×M 集成爆炸 → 一套标准协议
- 核心概念:Host / Client / Server 与三大原语(tools / resources / prompts)
- 传输与部署:stdio(本地) / Streamable HTTP(远程)
- 最小实战:用 FastMCP 把工具工厂的工具暴露成 MCP Server
- Agent 接入 MCP:LangChain / OpenAI Agents SDK
## 📖 对应 docs
- 目录:[`docs/04-阶段四-工具生态与外围组件集成/`](../../docs/04-阶段四-工具生态与外围组件集成/)(按目录名里的 `第 X 篇` 对应)
- 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
## 🛠️ 建议练习
- [ ] 用 FastMCP 把一个搜索工具暴露成 MCP Server
- [ ] 用 LangChain MCP 客户端接入并调用
- [ ] 对比 MCP 与工具工厂的分工
## 🏁 完成后达成标准
- [ ] 能用 FastMCP 暴露一个最小 MCP Server
- [ ] 能解释 MCP 三大原语与安全边界
- [ ] 能判断什么场景该上 MCP、什么场景继续用工具工厂
---
## 🚀 运行提示
```bash
# 激活根目录的虚拟环境
cd /Users/jack/source/Demo/py/demo_python_agent
source .venv/bin/activate # 或直接用 uv run ...
# 进入本章目录
cd code/004_phase4_tool_ecosystem/04_mcp_protocol
# 跑你的练习文件
uv run python your_exercise.py
```
@@ -0,0 +1,54 @@
# 阶段四综合实战 · RAG 工具 Agent
> 所属:阶段四 · 工具生态与外围组件集成
> 目标:综合阶段四所有知识,搭一个支持知识库检索 + 工具调用的完整 Agent。
---
## 📌 学习目的
综合阶段四所有知识,搭一个支持知识库检索 + 工具调用的完整 Agent。
## ✅ 学习要求(前置条件)
已完成阶段四前 4 个小点。
## 📚 主要学习内容
- 工具工厂 + @tool:所有外部能力统一封装
- 向量库 + RAG:把公司文档接入 Agent
- kb_search + 改写 + 缓存 + 引用溯源
- LangGraph 编排:模型自主决定何时检索
## 📖 对应 docs
- 目录:[`docs/04-阶段四-工具生态与外围组件集成/`](../../docs/04-阶段四-工具生态与外围组件集成/)(按目录名里的 `第 X 篇` 对应)
- 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
## 🛠️ 建议练习
- [ ] 实现一个支持「kb_search + 计算 + 联网」三件套的 Agent
- [ ] 为 kb_search 加查询改写 + 缓存 + 引用溯源
- [ ] 用 LangGraph 编排「思考 → 检索 → 汇总」完整链路
## 🏁 完成后达成标准
- [ ] 能搭建一个企业内问应答的最小可用 Agent
- [ ] 能解释 RAG 与工具调用的边界与协作
- [ ] 能给出 Bad-case 的归因与修法
---
## 🚀 运行提示
```bash
# 激活根目录的虚拟环境
cd /Users/jack/source/Demo/py/demo_python_agent
source .venv/bin/activate # 或直接用 uv run ...
# 进入本章目录
cd code/004_phase4_tool_ecosystem/99_capstone_rag_tool_agent
# 跑你的练习文件
uv run python your_exercise.py
```