Forum

本地 RAG(检索增强问答)该怎么搭?...
 
Notifications
Clear all

本地 RAG(检索增强问答)该怎么搭?有哪些步骤?

0 帖子
1 Users
0 Reactions
13 查看
0
[#11]
Topic starter

【官方常见问题精选】欢迎在下方补充你的经验或追问。

RAG 的思路是:先从你的资料库里检索出相关片段,再把它们和问题一起交给模型回答,这样模型能基于你的文档作答,减少胡编。

基本流程:

  • 1. 读取文档:PDF、Word、网页、Markdown 等,先转成纯文本。扫描版 PDF 需要先做 OCR。
  • 2. 切分(chunking):把文本切成若干段,常见做法是按段落或标题切,并保留少量重叠。切得太碎会丢上下文,切得太大会稀释重点,具体大小需要在自己的数据上调。
  • 3. 向量化(embedding):用嵌入模型把每段文本变成向量。
  • 4. 存入向量库:如 Chroma、Qdrant、FAISS、pgvector 等。
  • 5. 检索:把用户问题也向量化,找出最相似的几段。
  • 6. 生成:把检索到的片段放进提示词,让模型“仅根据以下资料回答,不知道就说不知道”。

想少写代码,可以用现成方案,例如 Open WebUI 的知识库功能、AnythingLLM、Dify、LlamaIndex、LangChain 等。

提高效果的常见手段:

  • 检索到的片段保留来源,回答时让模型给出引用,便于核对。
  • 加一个重排序(reranker)模型,先多取几条再精选。
  • 混合检索(向量 + 关键词)通常对专有名词更友好。
  • 索引和查询必须使用同一个嵌入模型。

效果不好时,先检查“检索到的内容对不对”,再怀疑模型本身。你在搭建时遇到什么问题?欢迎留言。


Share: