当前位置: 首页 > news >正文

RAG(检索增强生成)原理详解

为什么需要 RAG?

大语言模型(LLM)有两个核心问题:

问题说明
知识截止模型训练后无法获取新信息(如 2024 年的新闻)
幻觉(Hallucination)模型会"编造"看似合理但实际错误的信息

RAG 的解决思路:让模型在回答问题前,先去查资料(检索),再基于查到的资料来回答(生成),就像开卷考试。

Retrieve(检索)

步骤组件作用技术细节
输入Query用户的自然语言问题
编码Embedding 模型将文本转为向量如 BGE、OpenAI text-embedding-3
检索Vector Database(向量数据库)相似度搜索FAISS、Chroma、Milvus
输出Context(检索结果)召回的相关文档片段Top-K 个最相关的 chunk(文本块)

Augment(增强/组装)

为什么叫"增强"?

因为用户的原始问题(Query)是"单薄"的,通过拼接检索到的上下文(Context),形成了一个"信息更丰富"的完整提示,让 LLM 有依据可答。

来源内容作用
固定模板系统指令 + 格式要求(System Message)角色设定、回答规则、格式要求约束 LLM 行为
Context(检索到的上下文)从向量库检索到的相关文档提供事实依据
Query(检索到的上下文)用户的原始问题明确回答目标

固定模版:eg:"你是一个专业分析师,请根据以下资料回答问题..."

Generate(生成)

特性说明
条件生成LLM 不是自由发挥,而是基于提供的 Context 生成
注意力机制模型会重点关注 Context 中与 Query 相关的部分
约束遵循如果 Prompt 中要求"不知道就说不知道",模型会遵守

RAG关键设计思想

为什么 Query 要同时走两条路?

Query ────▶ Embedding ──▶ 检索(找相关资料) 为了让机器"理解"问题,找到相关知识划定知识范围。

Query ────▶ Prompt──▶ 保留原始问题 为了让 LLM 知道用户"到底在问什么"

综上所述

RAG 是一种结合了检索(Retrieval)生成(Generation)的技术架构。它在模型回答问题之前,先从海量的外部知识库中“查找”相关的辅助信息,然后将这些信息连同问题一起喂给大模型,让模型基于这些事实进行总结和回答。

  • 纯 LLM:像一个闭卷考试的学生,只能靠记忆(预训练数据)回答问题,记错或没背过就容易瞎编。

  • RAG 模式:像一个开卷考试的学生,遇到问题先去翻书(检索知识库),找到依据后再作答。

RAG 的核心流程

一个典型的 RAG 系统包含以下三个关键步骤:

  • 数据索引 (Indexing)

    • 将企业的文档(PDF、Word、Markdown 等)切分成小块(Chunks)。

    • 利用Embedding 模型将文本转化为向量(Vector),存储在向量数据库(如 Milvus, Pinecone, Chroma)中。

  • 检索 (Retrieval)

    • 当用户提问时,系统将问题也转化为向量。

    • 在向量数据库中计算相似度,找出最相关的 top-K 个文档切片。

  • 增强生成 (Generation)

    • 将检索到的原文与用户问题拼接成一个增强后的提示词(Prompt)。

    • 大模型阅读这些背景材料,输出准确的答案。

http://www.jsqmd.com/news/786005/

相关文章:

  • 网络安全零基础自学 CTF 完整路线,打通 CTF 到护网进阶之路
  • 南宁初中数学差找什么家教?南宁家教总动员学科匹配与试听指南 - 教育快讯速递
  • 可解释AI(XAI)技术解析:从原理到行业落地实践
  • Ubuntu22-04上安装配置NVIDIA-RTX3090显卡驱动
  • 2026届学术党必备的六大AI辅助写作工具推荐榜单
  • 怎么从视频里快速提取文字?2026年这5款可以提取视频中文字的软件对比
  • 华为CANN opbase算子开发API列表
  • 初次接触大模型API的新手从注册到发出第一个请求的全指南
  • ESP固件烧录终极指南:15分钟掌握esptool核心技巧
  • 在Taotoken控制台查看与分析API用量数据的实践
  • C语言Json库 —— cJson
  • CANN/GE运行时执行系统——从OM文件到硅片计算的桥梁
  • 【收藏级】2026版Agentic AI从原理到实战完整指南,小白程序员必看!
  • CANN基础设施CI使用指南
  • CANN/ops-nn LogSigmoid算子
  • CCS下MSPM0G3507基础教程(一)——软件的安装(包含安装包)
  • 原生AI交易代理Logica:在Arena生态中实现自主交易与社交
  • Linux中如何添加环境变量
  • 视频直播点播/音视频点播EasyDSS构建智慧校园视频智能服务新体系
  • 基于Python的自动化求职监控系统:从爬虫到通知的完整实现
  • 2026年探秘凤凰古城:这五条小巷的深夜食堂,藏着最地道的湘西味
  • 通过TaotokenCLI工具一键配置团队开发环境中的大模型密钥
  • MindSpeed RL:昇腾强化学习解决方案
  • 质谱数据分析:机器学习模型选型、实现与可解释性实践指南
  • EARN框架:破解AI公平性度量共识难题的人本协同实践
  • 2026届毕业生推荐的六大AI科研平台实际效果
  • 泰山派3M-RK3576-系统功能-Debian12-ADB使用
  • CANN/ops-math ClipByValue算子
  • 基于纹理变换器的扫描电镜图像超分辨率重建技术研究
  • 互联网大厂 Java 求职者面试:深入探讨 Spring Boot 与微服务架构