RAG核心概念

前提

目前网络上针对大模型有两种声音,一种是说AI展现出了惊人惊叹的强大能力,仿佛无所不能,可以解决博士级别科学问题。另一种声音说AI就是资本炒作,出现胡说八道的现象。其根源就是AI的"幻觉"问题,也就是业界所称的"AI Hallucination"现象。

AI出现"幻觉"现象的原因

  • 主要因素是其工作原理中的概率生成机制,在生成文本时,大型语言模型依赖统计概率来预测下一个最可能的词语,而不是基于事实进行查询,这可能引致信息错误。
  • 此外AI的回答局限在训练数据的范围内,大模型并不掌握你的个人信息或公司内部的私有信息,对于超出训练数据范围的问题,就容易胡说八道。

解决方法

现阶段基于Transformers架构的模型还无法彻底杜绝AI幻觉,不过给大模型外挂知识库就可以补齐知识短板,就能有效减少AI幻觉问题,这一方法就是RAG(Retrieval-Augmented Generation):检索增强生成。

RAG的工作原理

  1. 文本分块:将文本分割成有意义的片段或块的过程。对知识库文档进行分割是一个至关重要的步骤。文档分割的质量直接决定了检索的准确性和生成模型的效果。它能显著改善信息检索和内容生成效果,提供更精准相关的结果。

  2. 生成向量嵌入:这些文本块将由Embedding Model(嵌入模型)转换为向量。Embedding Model是一种机器学习模型,它可以将高维输入数据如文本、图像,转换为低维向量。在RAG中,嵌入模型将文本块转换成向量。这些向量捕捉了文本的语义信息,从而可以在海量文本库中检索相关内容。有多种模型可以用来生成向量嵌入(vector embeddings)。例如:可以使用OpenAI的text-embedding-3-large模型。不同模型生成的数值会有所不同。

    在这里我解释一下向量嵌入:向量嵌入vector embeddings是用一组数值表示的数据对象在多维空间中捕捉文本、图像或音频的语义和关联,可以让机器学习算法能够更轻松的对其进行处理和解读。因为向量嵌入能够以数值形式捕捉对象间的语义关系,所以我们可以通过向量搜索(也称相似性搜索)在向量空间中来查找相似对象,也就是与之距离最近的邻居。
    例如:Cat、Kitty、Apple,将他们转换成向量嵌入,你会发现Cat和Kitty的向量嵌入在数值上相近,且在向量空间中距离更近。在数值上相近的向量嵌入在语义上也是相似的。

  3. 向量嵌入存储到向量数据库:一些专业厂商提供高性能的向量数据库解决方案,比如:Pinecone、milvus、Chroma、Redis、drant等。

    向量数据库和传统数据库有什么区别?

    • 传统数据库主要用于存储结构化数据,数据通常以行和列的形式组织,适用于存储明确的数据类型,如整数、字符串、日期等。
    • 向量数据库专注于存储和检索高维向量数据,通常用于处理非结构化数据,如图像、文本和声音经过特征提取后的向量表示。
    • 向量数据库侧重于相似性搜索,它通过语义理解来检索相关结果,不依赖精确匹配来检索相关搜索结果,对拼写错误和同义词有较好的包容性。
    • 而传统数据库通过精确匹配关键词来检索数据,适用于结构化数据的高效查询。
  4. 用户提问问题

  5. 用户问题生成向量嵌入

  6. 检索:将问题向量与向量数据库中的其他向量进行比较,执行相似性搜索,找到最相关的数据条目。检索本质上就是在向量空间中寻找与查询向量最相似的邻居,通过计算"查询向量"与数据库中其他向量之间的距离找到距离最近的邻居,从而返回最相关的对象。

    怎样衡量向量嵌入的相似性呢?

    • 在相似性向量搜索中,最常用的度量距离的指标有,欧式距离(Euclidean Distance)、余弦相似度(Cosine Similarity)、点击相似度(Dot Product Similarity)。
    • 欧式距离:用于测量高维空间中两点之间的直线距离。
    • 余弦相似度:通过计算两个非零向量的夹角的余弦值来衡量它们之间的相似性。
    • 点击相似度:计算的是两个向量的模长乘积与它们之间夹角的余弦值的乘积。点击会受到向量的长度和方向的影响。
  7. Top K text chunks:系统检索出排名靠前的K个文本片段

  8. ReRanking:在检索出的Top K文本片段基础上进一步根据与用户查询的相关性和上下文适配度进行重新调整,即重新排序。

    这里举个例子:比如说Top K text chunks阶段检索出了10个相似的文本片段,但是他们的初始排序可能不是最优的,即相似性不是从高到底,然后我们将这10个文本块送入重排序模型(re-ranking model),重新进行排序,进而优化他们与用户查询的相关性适配程度,在已完成重新排序的文本块里,筛选出排名靠前的5个文本块,之后将作为"上下文相关信息(context)"发送给大模型

  9. 生成提示词模板(Prompt Template):把外部知识库中检索到的相关信息(context)和用户问题融合在一个提示词模板(Prompt Template)中。

  10. 将提示词模板发送给大模型

  11. 大模型生成答案发送给用户

相关推荐
u1301307 小时前
AI 日报(2026年9月9日)
人工智能
士明7 小时前
Thread、Session、Turn:Codex 的五种生命周期
人工智能
老余说AI7 小时前
从开源换脸工具到商业级 AI 换脸平台:SoundView 视频换脸的产业定位与边界
人工智能·音视频·视频换脸
Anhty7 小时前
叮咚变声器上手实测,iOS短板、安卓悬浮窗使用感受分享
android·人工智能·功能测试·ios·智能手机
四方云7 小时前
低配4C4G服务器,10秒录音1秒转写!解决电销系统混合录音质检最大难题
大数据·人工智能·自动化·电销破局
Henry-SAP7 小时前
SAP PP 反冲机制业务解析
人工智能·云原生·sap·erp
Akir.weiwen7 小时前
⑤ 消费格式差异:同一份契约的四角色消费格式
人工智能·编译·设计规范·语义
广凌股份(广凌科技)7 小时前
实验室安全检查包括哪些内容?智能管理平台筑牢校园实验安全防线
大数据·人工智能
差不多的周周7 小时前
《MotionLLM:从人体运动和视频理解人类行为》论文核心部分详解
人工智能·深度学习·机器学习·计算机视觉·语言模型·音视频
麻雀飞吧7 小时前
搜索“近期量化入门”时,先补交易理解再看 Python 和 API
人工智能·python