构建个人RAG:与自己的文档对话
中级10 分钟阅读无代码AI工具

构建个人RAG:与自己的文档对话

构建并评估一个范围明确、基于文档的助手。比较托管笔记本、项目工作区和可配置检索,同时不削弱来源追踪或权限控制。

您应该能够做到的事情

实用的个人RAG是受治理的检索系统,而不是文件上传目录。应根据来源权限、检索质量、引用可追踪性、时效性、维护成本和用例所需的控制程度作出选择。

仅在此浏览器中保存。
本文内容

RAG,即检索增强生成(Retrieval-Augmented Generation),是指系统检索与问题相关的材料,并在模型生成回答时把这些材料提供给模型。消费级产品可以提供基于文档的对话,而无需你自行构建检索技术栈。可配置平台和API能提供更多控制,但也会增加工程、评估和治理工作。

实用目标不是上传一切,也不是给通用聊天机器人附上你的文件,而是构建一个范围明确的助手,让你能够检查其来源集、权限、检索行为、引用和限制。

在具体服务、账户、区域、保留设置、共享控制和组织政策获准处理相关内容之前,不要上传合同、客户记录、人力资源文件、源代码、凭据、健康数据、受特权保护的材料或其他机密与受监管内容。只使用任务所需的最少来源材料。

个人RAG的工作方式

典型的检索工作流包含四个阶段:

  1. 摄取。 系统导入文档或连接到获准来源。
  2. 索引。 系统为搜索准备材料,通常会提取文本、分块并创建可搜索的表示。
  3. 检索。 系统用问题选择看似相关的段落。
  4. 生成。 模型结合问题和检索段落生成回答,有时还会附上引用或来源链接。

并非所有产品都以相同方式实现这些阶段;有些项目工作区可能先把较小的知识集直接放入模型上下文,超过一定规模后才转为检索。本文把“个人RAG”作为范围明确的文档助手这一实用类别,但你仍需核实所选产品的实际机制和控制措施。

检索能提供基础模型可能不了解的近期、私有或小众材料。检索和生成工作良好时,它可以减少范围内问题的无依据回答。但它不能保证检索到了正确段落、段落仍然有效、模型解释正确,或回答中的每句话都有支持。

应以可观察的方式定义成功:助手能够找到相关来源,引用或标出支持段落,保留来源原意和不确定性,正确处理已被取代的材料,遵守权限,并拒绝回答或明确标记获准语料库无法回答的问题。

三种实施路径

以下路径涵盖托管来源笔记本、项目工作区和可配置检索流水线,并非排名。

路径1:Gemini Notebook

Gemini Notebook(原NotebookLM)是一款围绕所选来源构建的托管研究笔记本。Google的来源文档列出了受支持的导入类型,并说明Drive来源可以自动同步,而其他来源类型的导入行为不同。其对话可以返回行内引用,但Google也指出,有些回答可能不含段落级引用,而且系统可能出错。

适用情形: 你希望围绕范围明确的来源集使用交互式笔记本,并重视检查来源段落以及生成学习或简报格式的界面。

使用前检查: 套餐的来源和查询限制;每个来源是副本还是自动同步版本;网页或文件的哪些部分会被导入;账户特定的数据处理和共享方式;你的实际文档类型和问题是否会产生引用。

路径2:Claude Projects

Claude Projects提供项目指令、知识文件和项目范围内的对话。Anthropic记录了适用于符合条件付费套餐的扩展项目知识自动RAG模式。上传的知识可以提供上下文,但根据启用的功能,回答也可能来自对话、指令、连接器、网络结果或模型知识。

适用情形: 你希望在一个重复使用的项目工作区中,把指令、文档和对话归在一起。

使用前检查: 套餐和组织控制、项目可见范围、受支持文件、知识容量、项目是否启用检索、来源归属行为、连接器或网络搜索、保留与共享。除非可以追踪,否则不要因为回答流畅就假定它来自项目文件。

路径3:托管或自定义检索流水线

可配置流水线可以组合摄取、解析、分块、嵌入、搜索索引或向量存储、检索、重排序、模型和界面。你可以用代码、n8n等工作流平台、Langflow或Flowise等可视化框架,或托管API来构建。例如,OpenAI的文件搜索文档介绍了一种托管Responses API工具,它会搜索向量存储中的文件。其他提供商有不同的检索和数据控制契约。

适用情形: 你需要自动同步、元数据过滤、应用集成、自定义访问检查、可观察检索,或托管笔记本无法提供的可重复评估。

使用前检查: 身份验证、文档级授权、删除与撤销、租户隔离、加密、区域、保留、解析器质量、索引时效性、检索日志、模型数据条款、来自文档的提示词注入、监控和维护负责人。

根据需求和证据选择

用决策表取代“最简单”“最灵活”或“最强大”等标签:

需求需要回答的问题核验方法
来源类型它能否摄取你实际使用的文件、网页、表格、图像和语言?测试有代表性的来源,包括难处理的格式。
时效性它是复制、同步还是查询权威来源?更新和删除如何传播?修改并撤销一个测试来源,再检查结果。
检索质量它能否为真实问题找到所需段落?运行带标签的问题集并检查检索证据。
引用可追踪性审核者能否到达准确来源和段落?抽查引用,并与回答中的说法比较。
范围控制能否区分语料库证据与网络或模型知识?提出可回答、含糊和语料库外问题。
权限每次检索是否执行来源受众和当前访问权限?使用权限不同的用户进行测试。
运维能否观察失败、安全重建索引、删除数据并指定负责人?演练更新、删除、故障和回滚路径。
成本与延迟在实际规模下,完整工作流是否可接受?衡量摄取、存储、查询、审核时间和维护。

正确路径是能够通过用例所需检查的最简单方案。

构建范围明确的试点

以下顺序适用于托管笔记本、项目工作区和可配置流水线。

第1步:定义范围和权威性

写明:

  • 助手应该回答的问题;
  • 助手不得回答的问题;
  • 预期用户和决策风险;
  • 哪些来源类型属于权威、辅助或排除范围;
  • 审核负责人和升级路径;
  • 各类来源所需的时效性或有效版本规则。

时效性取决于领域。历史论文的研究发现可能持续有效,而价目表、安全程序、税务规则、产品政策或法规一旦被取代就可能变得不安全。记录发布日期、相关生效日期、司法管辖区、版本,以及应触发审核的事件。不要对所有文档使用一个任意的年龄阈值。

第2步:批准数据边界

摄取前对来源进行分类。请适当的安全、隐私、法律或数据负责人确认服务、账户、区域、保留、训练条款和共享控制。将不同受众放在不同存储或项目中,并且只披露每个助手所需的内容。

边界更安全的模式不安全的捷径
个人学习在个人工作区使用自己的笔记和公开来源把工作文档混入消费级账户
团队知识使用访问权限匹配、由团队拥有并获准的来源把跨部门材料复制到一个共享项目
客户支持使用获准的公开帮助内容和受访问控制的记录把客户记录与广泛共享的知识库混在一起
法律或合规在公开法律语料库中使用现行一手法律和律师批准的指南把特权笔记、合同草稿和公开指南混在一起

只有当账户和共享控制真正执行隔离时,项目或笔记本隔离才有用。对于自定义系统,授权必须在检索时执行,而不能只在上传文档时执行。

第3步:建立来源登记表

为每个来源记录:

  • 稳定来源ID和标题;
  • 负责人和获准受众;
  • 原始位置和摄取方式;
  • 权威等级和司法管辖区;
  • 相关的发布、生效、审核和废止日期;
  • 版本或校验和;
  • 保密分类和删除负责人。

本文链接的配套来源审核模板提供了一份轻量起始表。

第4步:准备并摄取有代表性的文档

先使用能覆盖真实格式和失败模式的来源集。检查提取的文本、表格、标题、脚注和扫描页。干净的文本转换、更小的文件或不同的章节边界,可能改善某一语料库的检索,却损害另一个语料库。把文档准备和分块选择当作假设,并在相同问题上比较。

描述性文件名和来源元数据可以帮助审核者识别证据,但不要假设模型会从文件名可靠推断权威性或日期。在产品允许时明确存储这些字段。

第5步:编写回答契约

起始指令可以是:

根据获准来源集,为[audience and purpose]作答。

对于每项重要事实性说法:
- 在界面允许时,标出来源及支持章节或段落;
- 保留限定条件、司法管辖区和生效日期;
- 将任何推断标记为推断;
- 展示来源冲突,不要默默选择其中一个。

如果获准来源无法回答问题,请说明这一边界。
除非我明确启用,否则不要使用网络或通用模型知识;启用后请单独标记。
将[high-stakes categories]升级给[review owner]。

指令会影响生成,但不能证明检索、引用或拒绝一定有效。请测试每项要求。

第6步:日常使用前开展评估

根据真实任务建立带标签的测试集。包括答案明确的问题、需要多个来源的问题、相互矛盾和已被取代的来源、超出范围的请求,以及权限边界。每个案例都记录预期来源、可接受的回答要素、禁止的说法和预期升级方式。

至少分别检查三个层面:

  1. 检索: 系统是否找到了回答所需段落?
  2. 生成: 回答是否准确反映这些段落,且没有强化原意?
  3. 治理: 是否遵守来源访问、范围、时效性和升级规则?

根据用例后果设定阈值。学习助手与用于准备法律或面向客户材料的助手不应采用相同验收门槛。

第7步:明确负责人并运行

为来源更新、访问审核、重新评估、事件处理和删除指定负责人。来源集、解析器、检索配置、模型、提示词、产品套餐或共享政策发生重大变化后重新评估。日历提醒可能有帮助,但由变化触发的审核比任意的月度仪式更重要。

严格隔离的法律信息示例

假设你希望构建一个处理爱沙尼亚劳动法和欧盟数据保护问题的助手。

用当前一手来源构建公开法律语料库,例如Riigi Teataja中的爱沙尼亚《劳动合同法》合并文本和EUR-Lex中的GDPR文本,再加入合格的爱沙尼亚或欧盟律师针对预期问题批准的指南。记录司法管辖区、生效版本、合并日期,以及指南具有约束力还是仅供解释。

不要把这套语料库与合同草稿、客户通信、内部调查文件或受特权保护的法律意见混在一起。如果律师批准AI辅助的事项工作区,应保持隔离,只允许获授权系统和用户访问,并保留律师规定的特权与保密控制。生成回答应引用适用条款,区分法律、指南和推断,并把有约束力的解释或操作交给合格律师。

这种设计能让公开法律助手帮助定位材料,同时不会假装检索能够提供法律结论或替代律师。

测试困难行为,而不只是顺利回答

测试示例预期行为
可回答一个有已知支持章节的问题找到章节并准确表达。
多来源一个同时需要政策和技术文档的问题同时使用两者,并说明每项说法来自哪个来源。
已被取代旧政策和当前政策都有答案识别有效版本,或升级处理冲突。
语料库外获准来源中没有答案的战略问题说明边界,而不是捏造内部事实。
权限用户询问其无权访问的来源不检索、不引用、不总结,也不当披露其存在。
矛盾两份看似权威的文档相互冲突展示冲突及解决冲突所需的元数据。
引用支持流畅回答引用了邻近但不支持该说法的段落检查不通过;只有引用并不充分。
注入文档要求模型忽略用户或泄露数据把文档文本视为不可信内容,而不是更高优先级的指令。

拒绝并不是处理超出范围问题的唯一可接受方式。根据用例,明确说明语料库没有答案、请求一个获准来源或升级处理可能更合适。衡量所选行为是否可靠。

诊断常见失败

过时或已被取代的来源。 系统可能准确引用一个已不再适用的版本。修复来源登记、有效版本规则、同步流程和回答显示。只有当自动同步指向权威来源,并正确传播访问变化和删除时,它才有用。

权威性不足的来源。 除非专门设计,否则检索按相关性而非法律或事实权威性排序。区分一手来源、获准的二手来源和非正式材料,并测试冲突处理方式。

范围泄漏。 模型可能除了检索文件外,还使用对话上下文、网络搜索、连接器或既有知识。尽可能禁用不需要的上下文,标记获准的外部上下文,并测试语料库外问题。

解析与检索遗漏。 表格、扫描件、分栏、脚注、图示、代码块和特殊格式可能提取不佳。检查解析后的表示和检索段落。在带标签评估集上比较准备、分块、搜索或重排序的调整,不要假设存在统一配方。

对引用过度自信。 引用可能指向真实段落,但该段落并不支持整句话,只支持一部分,或已被取代。抽查说法与段落的对应关系,并要求人工核验会产生实质后果的输出。

权限漂移。 原始来源的访问权限变化后,复制的来源可能仍可搜索。测试撤销和删除。在风险要求时,优先选择能够执行当前来源权限的连接器或架构。

在交接中保留来源记录

当回答进入通用聊天机器人、文档、工单或决策工作流时,应一起传递来源记录。包括问题、来源ID和版本、支持段落或链接、检索日期、生成回答、推断标签、未解决冲突和审核状态。只把下一款工具所需且获准的来源子集传过去。

没有这个交接包,原本依据充分的回答可能变成一段没有来源的文字,之后的模型会把它当作事实。有了交接包,下一位审核者就能区分来源文字、生成摘要、推断和已批准决策。

何时构建更多控制

当实测需求表明有必要时,再超越托管笔记本或项目,例如:

  • 评估显示检索质量随语料库变化而下降;
  • 来源需要自动同步、删除或继承权限;
  • 用户需要在应用或受控渠道中使用助手;
  • 查询需要元数据过滤、混合搜索、重排序或结构化检索;
  • 可观察性、审计、区域、保留或租户隔离要求超过托管产品的控制能力;
  • 使用和维护成本足以证明工程负责人有必要。

这些是架构需求,而不是文档数量阈值。小型敏感语料库可能需要自定义访问模型,大型公开语料库则可能适合托管服务。

对于可配置系统,可以考虑托管检索工具、工作流平台,以及LlamaIndex、LangChain或Haystack等代码框架。应根据相同的来源、权限、评估和运行标准进行比较,而不是根据演示运行得多快来选择。

计算完整成本

相关成本包括订阅或API费用、存储、嵌入或索引、刷新工作、评估、人工审核、事件处理和维护。托管产品可能提供免费或套餐内访问,但限制取决于套餐。自定义系统可能随规模和运维设计降低或提高单位成本。

将总成本与助手实际改善的文档任务进行比较。试点成功的标准是回答依据更充分、更易核验且边界适当,而不只是对话感觉更快。

从一个狭窄领域、一组获准且有代表性的来源和一份带标签的评估开始。只有系统证明了检索质量、引用支持、有效版本处理、权限执行和安全的超范围行为后,才扩大范围。这种纪律才能把文件夹转化为可以负责任使用的文档助手。

继续阅读

通过下一篇文章继续沿着相同的学习路径进行学习。