RAG 对话机器人:LangChain 工程文档式系列教程
目标:学完本系列,你能从零搭建一个知识问答 RAG 对话机器人。 路线:从”规定性最少”的概念开始,一步步看到每个概念为什么必然出现(逻辑必然性),最终拼出完整系统。 原则:不用 LangGraph、不用依赖它的 agent、不用任何弃用包——全部用 langchain 1.x 官方活跃维护的 API。
一、这套教程回答的问题
二、核心方法论:规定性展开 + 逻辑必然性
规定性(prescriptivity):一个概念对你(代码编写者)施加的约束数量。- 规定性越少 = 概念越简单、越自由、约束越少;
- 规定性越多 = 概念越复杂、越精确、越接近生产现实。
- 上集回顾 —— 上一篇结尾必然有个”还差什么”,本篇来解决它
- 数据字典 —— 本篇涉及的关键类:字段、数据类型、结构示例(JSON)
- 关键方法 —— 方法签名 + 参数 + 返回值
- 进程线程模型 —— 这段代码在哪个线程跑、阻塞不阻塞、并发在哪
- 网络模型 —— 底层走了什么 HTTP 请求、协议、流式、超时、重试
- 可运行验证 —— 配套
code/代码,亲手跑一遍看输出 - 边界 —— 这个概念什么时候不适用、坑在哪
三、目录
逻辑顺序 = 认知依赖:先懂”模型返回什么 / 怎么构造输入”(0105),再学会话与知识(0610),然后工具与底层(1113),最后上线(1415)。
四、版本与环境(本机实测)
五、明确不用什么(为什么)
识别弃用包的方法:pip show <包>看是否活跃维护;看到from langchain_community、from langchain.chains、langchain-classic都要警惕。
六、怎么开始
- 从 00-环境准备 开始,把环境跑通。
- 每篇读完,运行配套代码(
code/目录),亲手看到输出。 - 每篇的”数据字典”和”进程线程模型 / 网络模型”是重点——它们回答”这个东西到底是什么数据结构、底层到底怎么跑的”。
- 第 15 篇是把前面所有零件拼成完整系统的最终交付。