09. 学习和实践路径
1. 这一模块解决什么问题
这份路线帮助你从“知道名词”走到“能做一个企业 RAG 原型,并知道怎么演进到 Agent”。
配套可运行 Demo
完成 示例统一准备 后,按下面顺序运行。所有生成步骤都通过 ChatOpenAI 调用 OpenAI ChatGPT:
powershell
python docs/public/langchain-examples/01_chat_basics.py
python docs/public/langchain-examples/02_core_chain.py
python docs/public/langchain-examples/03_model_calling.py
python docs/public/langchain-examples/04_rag_pipeline.py
python docs/public/langchain-examples/05_agent_tools.py
python docs/public/langchain-examples/06_langgraph.py
python docs/public/langchain-examples/08_enterprise_rag.py最后配置 LangSmith 环境变量,再运行 07_langsmith.py 验证 trace 是否出现。
2. 阶段一:先跑通普通 RAG
目标:
text
问题 -> 检索 -> 回答 -> 引用要做什么:
- 准备 3 到 5 篇测试文档。
- 用 Loader 加载文档。
- 用 Text Splitter 切分文档。
- 用 Embedding 模型生成向量。
- 存入向量库。
- 写 Retriever。
- 写 Prompt。
- 调用 Chat Model 生成答案。
- 输出引用来源。
验收标准:
- 能打印检索结果。
- 能回答文档中明确存在的问题。
- 答案带来源。
- 至少准备 5 个测试问题。
3. 阶段二:理解 langchain_core
目标:看懂 LangChain 生态里最常见的基础对象。
要学什么:
- Message。
- PromptTemplate。
- ChatPromptTemplate。
- Runnable。
- Tool。
- OutputParser。
验收标准:
- 能解释
prompt | llm是什么。 - 能写一个 ChatPromptTemplate。
- 能把一个函数包装成 Tool。
- 能说清
.invoke()和.stream()的区别。
4. 阶段三:工具调用和简单 Agent
目标:让模型可以调用一个或多个工具。
要做什么:
- 写一个知识库搜索工具。
- 写一个业务查询工具。
- 给工具写清楚描述。
- 让模型根据问题选择工具。
- 记录工具调用过程。
验收标准:
- 模型能在需要时调用工具。
- 工具参数正确。
- 工具失败时有兜底。
- 能看到中间调用步骤。
5. 阶段四:引入 LangGraph
目标:把复杂 Agent 流程变成可控的图。
要做什么:
- 定义 State。
- 拆分 Node。
- 连接 Edge。
- 增加 Conditional Edge。
- 设置结束条件。
- 必要时增加 Checkpointer。
- 必要时增加人工审批。
验收标准:
- 每个节点职责单一。
- 流程图能解释给别人听。
- 循环有最大次数。
- 中断后能恢复。
6. 阶段五:接入 LangSmith
目标:让应用可观测、可评估、可复盘。
要做什么:
- 开启 trace。
- 建立测试 dataset。
- 设计 evaluation 指标。
- 收集用户 feedback。
- 监控成本和延迟。
验收标准:
- 能查看一次请求完整调用链。
- 能看到检索结果和 Prompt。
- 能跑一批测试集。
- 能比较两版 Prompt 效果。
7. 最小学习计划
7.1 第 1 天
学 RAG 主链路,跑通文档加载、切分、入库。
交付:
- 能打印 Document。
- 能看到 chunk。
- 能查向量库。
7.2 第 2 天
学 Prompt、Runnable、模型调用。
交付:
- 能写
prompt | llm。 - 能基于检索结果生成答案。
7.3 第 3 天
学 Tool 和简单 Agent。
交付:
- 能写一个检索工具。
- 模型能调用工具回答问题。
7.4 第 4 天
学 LangGraph。
交付:
- 能把 RAG 拆成 3 到 5 个节点。
- 能加一个条件分支。
7.5 第 5 天
学 LangSmith。
交付:
- 能看到 trace。
- 能建立最小测试集。
- 能分析一次错误回答。
8. 本模块自测
- 最小 RAG Demo 必须包含哪些步骤?
- 为什么要先普通 RAG,再 Agentic RAG?
- 什么情况下引入 LangGraph?
- LangSmith 应该在什么时候接入?
- 从 Demo 到生产还缺哪些能力?
评论
正在加载评论…