promptgarten 🌱
🌍 DE
概念●●○4 分钟 · +30 XP

RAG(检索增强生成)

RAG 会在生成回答之前从数据库中检索相关文档——这样 AI 就能使用训练数据中不包含的知识。

问题所在

LLM 只了解训练时融入其权重中的内容。最新事件、公司内部文档或你的私人知识库,它并不知道——除非你在 prompt 中提供。但如果有成千上万份文档,这些内容根本装不进一个 context window。

解决方案:Retrieval-Augmented Generation(检索增强生成)

RAG 将搜索与文本生成结合起来。它不是把所有知识都塞进模型,而是在每次请求时自动执行以下流程:你的问题会被转换成一个 embedding 向量,然后用它从数据库中检索出最相似的文本片段(retrieval),只有这几段相关内容会连同你的问题一起放入 context window。LLM 随后基于这些提供的材料来组织答案。

为什么这很有用

  • 无需重新训练模型,就能使用最新的和私有的知识
  • 减少 hallucination(幻觉),因为答案基于真实提供的来源,而不是纯粹的死记硬背
  • 回答可以附上来源出处

一种改进

Anthropic 提出了一种叫 "Contextual Retrieval" 的技术:在对每个文本片段做 embedding 之前,先为其添加来自整篇文档的额外上下文——这能显著提高检索到正确片段的可靠性。

示例

一个客服聊天机器人收到问题'我该如何取消订阅?'。RAG 首先从帮助文档中检索出相关段落,并将其提供给 LLM——这样答案就基于文档中真实、最新的文本,而不是靠猜测。

小测验

在 LLM 组织答案之前,RAG 做了什么?

来源

相关主题

Embeddings——文本变数字 ●●○Context Window(上下文窗口) ●○○幻觉:AI 为什么会自信地胡说 ●○○什么是 LLM? ●○○