知识库 RAG — 本地向量索引智能检索
什么是 RAG
RAG(Retrieval-Augmented Generation,检索增强生成)是一种让 AI 回答问题时先检索相关内容再生成答案的技术。NoteGen 把这个机制用到了本地笔记上:
- 定期把你的 Markdown 笔记做向量化索引
- AI 对话时,先在向量索引中检索和问题最相关的笔记片段
- 把检索到的片段连同问题一起发给 AI 模型
- AI 基于你的真实笔记内容回答
这比单纯让 AI 凭常识回答好太多——它能引用你的真实素材,而不是瞎编。
索引构建
知识库索引构建在后台进行:
- 读取你的写作工作区的所有 Markdown 文件
- 用嵌入模型把每段文字转为向量
- 保存到本地向量数据库
- 文件变更时增量更新
嵌入模型可以是:
- 你配置的模型平台的嵌入 API
- 本地嵌入模型(如 Ollama 的 nomic-embed-text)
启用知识库
在 AI 对话/Agent 工具栏中启用知识库开关。启用后:
- 每次对话自动检索最相关的笔记片段
- 检索片段作为上下文的一部分发给模型
- AI 回答时可以引用这些片段
可以限制:
- 检索哪些文件夹/标签的笔记
- 返回多少个相关片段
- 相似度阈值
重排模型(可选)
除了向量检索,NoteGen 还支持重排模型(reranker):
- 先用向量检索返回一批候选片段
- 重排模型对候选片段做更精确的相关性打分
- 重新排序后再发给对话模型
重排能显著提升检索质量,尤其是在笔记量很大、检索结果不够精准的时候。
与网络搜索的区别
| 维度 | 本地知识库 | 网络搜索 |
|---|---|---|
| 数据源 | 你的笔记 | 公开网页 |
| 隐私 | 100% 本地 | 会发送搜索词给模型 |
| 时效性 | 实时同步你的笔记 | 搜到的内容可能过时 |
| 检索成本 | 一次性索引后很快 | 每次都要联网 |
检索不到的情况
有时候 AI 说"我没找到相关内容",原因可能是:
- 知识库索引还没构建或更新
- 你的笔记没包含相关内容
- 检索阈值设得太高
- 嵌入模型不适合你的笔记语言/领域
解决:
- 等待索引构建完成(看设置里的知识库状态)
- 手动触发一次重新索引
- 降低相似度阈值
- 换更好的嵌入模型