一江山水的随笔

当前位置:首页 - 技术 - 正文

Enjoy life!

先看效果

问 ChatGPT 一个公司内部政策,它可能乱编。但用 RAG,它会说:"根据公司《员工手册》第三章第二条,年假需提前三天申请。"并附上引用。这就是 RAG 的威力——让大模型基于你的资料回答,不瞎编。

RAG 是什么?

RAG 全称 Retrieval-Augmented Generation,即检索增强生成。简单说:给大模型配一个知识库,回答前先去库里找相关文档,再基于这些文档生成答案。

传统大模型靠训练时的记忆回答,遇到没见过的内容就"幻觉"乱编。RAG 相当于开卷考试,模型可以查资料,答案有据可查。

原理:三步走

  1. 索引:把文档(PDF、网页、笔记等)切碎,转成向量存入数据库。
  2. 检索:用户提问时,把问题转成向量,到数据库里找最相似的几个片段。
  3. 生成:把问题和检索到的片段一起喂给大模型,让它基于这些内容回答。

关键点:向量检索让机器理解语义,不是简单关键词匹配。比如搜"怎么请假",能匹配到"年假申请流程"。

适用场景

  • 企业内部知识库:员工问政策,AI 引用 HR 文档回答。
  • 客服机器人:基于产品手册回答,减少错误。
  • 学习助手:基于教材或笔记回答问题,不跑偏。
  • 法律/医疗咨询:需要引用法条或临床指南的场景。

不适合:需要模型发挥创造力的场景(写诗、头脑风暴),因为 RAG 限制模型只能基于资料。

普通用户如何低成本搭建?

不用写代码,用开源工具 10 分钟搞定。

方案一:AnythingLLM(最推荐)

AnythingLLM 是一个桌面应用,支持 Windows/Mac/Linux,内置 RAG 功能。

  1. 下载安装 AnythingLLM
  2. 选择本地模型(如 Ollama 上的 Llama 3)或远程 API(如 OpenAI)。
  3. 上传文档(PDF、TXT、Markdown 等),自动建立索引。
  4. 开始聊天,AI 会自动检索并引用来源。

效果:你问"我们的退款政策是什么?",它会回答"根据《退款政策》第2条,30天内可全额退款。"并显示来源文档。

方案二:Ollama + LangChain(更灵活)

适合有编程基础的朋友,用 Python 脚本。

# 安装依赖
pip install langchain chromadb ollama

from langchain.embeddings import OllamaEmbeddings
from langchain.vectorstores import Chroma
from langchain.llms import Ollama
from langchain.chains import RetrievalQA

# 加载文档
from langchain.document_loaders import TextLoader
loader = TextLoader('your_doc.txt')
documents = loader.load()

# 切分文档
from langchain.text_splitter import CharacterTextSplitter
text_splitter = CharacterTextSplitter(chunk_size=500, chunk_overlap=50)
texts = text_splitter.split_documents(documents)

# 创建向量库
embeddings = OllamaEmbeddings(model='llama3')
vectorstore = Chroma.from_documents(texts, embeddings)

# 创建检索问答链
llm = Ollama(model='llama3')
qa = RetrievalQA.from_chain_type(llm=llm, chain_type='stuff', retriever=vectorstore.as_retriever())

# 提问
result = qa.run('我们的退款政策是什么?')
print(result)

跑通后,你就能用自己的文档和本地模型问答了。

注意事项

  • 文档质量:垃圾进垃圾出,确保文档内容准确。
  • 分块大小:块太小丢失上下文,块太大检索不精确,一般 500-1000 字符。
  • 模型选择:小模型(如 Llama 3 8B)也能用,但大模型(如 GPT-4)效果更好。
  • 隐私:本地部署避免数据外泄,适合敏感文档。

总结

RAG 是让大模型靠谱的实用技术。它原理不复杂,工具也成熟了。现在动手,给自己搭一个专属知识库问答机器人,让 AI 只认你的资料说话。

本文来源:一江山水的随笔

本文地址:https://298.name/post/190.html

主要内容:RAG是什么?让大模型引用你的资料来回答,不乱编

版权声明:如无特别注明,转载请注明本文地址!

想找什么搜索会更快哦!
站点信息
  • 文章总数:171
  • 页面总数:1
  • 分类总数:4
  • 标签总数:170
  • 评论总数:61
  • 浏览总数:1643341
控制面板
您好,欢迎到访网站!
  查看权限
Top