跳转到正文
全部笔记/开发实践

用 RAG 连接自己的知识 ​

如果想让模型回答与你的个人笔记有关的问题,直接提问可能不够:模型没有自动读过那些笔记。RAG,也就是检索增强生成,提供了一种常见思路——先找出相关资料,再把资料和问题一起交给模型。

可以先把它想成开卷回答 ​

面对一个问题,系统先到资料集合中找出可能相关的内容,再要求模型结合找到的片段作答。检索负责找资料,生成负责组织答案。

这和把所有文档重新训练进模型不同。很多 RAG 流程可以在不改变模型参数的情况下,让模型使用当前检索到的材料。

一条基础流程 ​

text
准备阶段
原始笔记 → 清理与分块 → 建立可检索的索引

回答阶段
用户问题 → 检索相关片段 → 组合问题与资料 → 模型生成答案

检索可以使用关键词、向量或二者结合。向量检索是常见方式之一,但并不是所有 RAG 系统都必须使用向量数据库。

每一步都可能影响结果 ​

分块太碎,可能丢掉上下文。 一段话的定义与限定条件被拆开以后,检索结果可能只留下结论,没有留下前提。

检索到的内容可能并不相关。 相似的词句不一定回答了同一个问题。需要检查片段是否真的支持当前任务。

模型仍可能超出资料作答。 即使提供了材料,也需要检查答案是否正确引用,以及资料不足时是否明确表达不确定。

先用一个很小的实验开始 ​

可以先选十篇熟悉的笔记,再写五个能从笔记中找到答案的问题,以及两个资料里没有答案的问题。

逐个记录:检索到了哪些片段、答案依据在哪里、有没有出现无依据的补充。对比修改前后的结果,比单纯更换模型更容易看出问题发生在哪一步。

观察项目想确认的问题
检索结果关键资料有没有被找到?
资料支持回答中的事实能否对应到来源?
无答案问题资料不足时是否明确说明?

继续阅读 ​

✳

理解一点,记录一点。
愿这份手记,也成为你探索 AI 的一个起点。

继续翻阅笔记 ↗