知识库问答可以拆成两件事:先找到相关资料,再据此组织答案。RAG From Scratch 提供围绕索引、检索与生成的 Notebook 和视频入口。本文提供独立设计的学习任务,不转载仓库代码;该仓库当前未声明统一许可,阅读不等于获得任意转载授权。

准备五份有来源的说明

使用自己编写或有权使用的软件操作说明,每份记录标题、系统、版本、更新时间与来源地址。故意保留一份旧版说明,供后续练习区分适用范围。先用纯文本整理,避免同时处理复杂扫描 PDF。

先理解切分,再选择具体工具

按小节将说明分成能够独立理解的片段,每段保留文档编号与小节标题。不要把“点击保存”单独切出来而丢失它属于哪个页面。片段大小没有通用最优值,应通过自己的问题检查;嵌入模型和索引方式以实际选用工具的说明为准。

先检查检索结果,不急着生成答案

  1. 准备问题:“新版软件如何导出项目?”
  2. 在你采用的检索工具中执行查询。
  3. 展开返回片段,检查是否确实包含导出步骤。
  4. 核对片段属于新版还是旧版,来源是否仍可定位。

如果相关段落都没有被找到,改写回答提示词通常解决不了根本问题。先检查文档整理、切分和查询表达,再进入生成阶段。

让答案带回原始证据

仅根据提供的片段回答问题。
先说明适用版本,再列操作步骤。
每条关键结论标注文档编号和小节标题。
片段不足时明确说明缺少什么,不自行补齐。
问题:[实际问题]
资料:[检索到的片段及来源]

引用可以帮助读者核对,但引用存在不等于结论正确。逐项打开来源,确认引用段落支持对应步骤,并检查是否混用了不同版本。

常见问题

有知识库就不会编造吗?

仍可能出现检索错误或回答越界。需要同时检查检索片段、生成内容和引用对应关系。

应该直接照抄课程 Notebook 吗?

先阅读章节环境要求和资料使用条件。可用自己的工具复现本文的原创练习目标,不必为了入门复制整套项目。

完整演示:先手动做一遍检索与引用

第一次可以不安装向量数据库。把下面三段分别保存为 A、B、C 三条记录;这就是本练习的数据集,每段的方括号编号充当可追溯的来源。

[A / 使用指南 / 版本 2] 打开软件设置,选择“导出”,选择 PDF 后点击保存。
[B / 使用指南 / 版本 1] 打开文件菜单,选择“打印”,再选择保存为 PDF。
[C / 常见问题 / 版本 2] 导出前应确认文档已经保存。资料没有说明免费额度。
  1. 提问:“版本 2 如何导出 PDF?”先人工检索 A、C,把两段及编号交给模型,不提供 B。
  2. 要求输出步骤,并在每一步末尾标注对应编号;如果资料缺少信息,要写“资料未说明”。
  3. 参考答案:先确认文档已保存 [C];打开设置,选择导出、PDF,再点击保存 [A]。
  4. 再问“版本 2 免费额度是多少?”正确处理是资料未说明,不应该推测数额。
  5. 故意只提供 B 后重问版本 2 的问题。合理答案应说明没有版本 2 的证据,不能把版本 1 的打印步骤冒充版本 2 的步骤。

检索阶段先验证找回的片段是否正确,再检查生成阶段是否使用并正确引用这些片段。自动化实现时,把人工选片段替换为你的检索系统,但继续保留版本、标题和编号作为元数据。

项目来源与许可

原项目:langchain-ai/rag-from-scratch。许可说明:仓库未声明统一许可;本文仅提供原创练习与阅读链接,详见原仓库许可与说明。仓库与许可核验于 2026-10-31。本文为本站编写的中文导读与练习设计,不是原教程逐字翻译;未在读者环境执行,运行结果需自行核对。