通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 176|回复: 1
打印

RAG [复制链接]

军衔等级:

  新兵

注册:2024-7-1
跳转到指定楼层
1#
发表于 2025-10-27 16:56:49 |只看该作者 |倒序浏览
AI幻觉:AI的回答局限在训练数据的范围内,对于超出训练数据范围的问题,就容易一本正经的胡说八道。给大模型外挂知识库,补足其知识短板,可以有效减少AI幻觉问题,这一方法便是RAG。
检索增强生成(RAG,Retrieval-Augmented Generation)是一种AI框架,它通过将大语言模型与外部信息源相整合,来提升模型的输出质量。RAG从外部知识库中检索相关的上下文context,并将这些信息连同用户的问题,一起传递给大语言模型,从而提高输出的准确性和可靠性。
RAG分类:Naive RAG、Advanced RAG、Modular RAG
工作流程:
  • 当用户提出问题时,系统会先将问题转化为向量表示,随后在向量数据库中进行相似性搜索,向量数据库中储存的是外部知识库信息。
  • 向量数据库存储的,并非大量外部知识库的原始内容,而是经过一系列处理,将外部知识库中的知识,转化后所得到的向量数据,当系统检索出相关信息后,将作为问题的上下文相关信息Context来使用。
  • 用户的问题与Context相结合,形成一个全新的提示词,接下来这个新提示词会被发送到大语言模型,利用其强大的推理和文本生成能力,生成一个答案。
朴素RAG包含流程:索引、检索和生成。
  • 索引
    • 数据处理:包括清理和提取原始数据,将PDF、HTML、Word、Markdown 等不同文件格式转换为纯文本。
    • 分块:将加载的文本分成较小的块,因为语言模型所能处理的上下文量通常是有限制的。
    • 编码:通过嵌入模型将文本编码为向量,生成的向量将用于后续的检索过程,以计算向量与问题向量之间的相似度。
    • 创建索引:以键值对的形式存储原始语料块和嵌入,以便将来快速、频繁地进行检索。
  • 检索
    • 通过嵌入模型将Query(用户输入的查询信息)转换成向量。
    • 计算查询向量与输入数据的相似度,根据问题的级别,选择前K个文档块作为当前问题的Context(增强上下文信息)
  • 生成
    • 用户的查询问题与Context相结合,形成一个全新的提示词。
    • 大语言模型根据所提供的提示词生成答案。
解释:
文本分块的质量直接决定了检索的准确性和生成模型的效果,它能显著改善信息检索和内容生成效果,提供更精准相关的结果。
文本块将由Embedding Model(嵌入模型)转换为向量。Embedding Model是一种机器学习模型,可以将高维输入数据,如文本图像转换为低维向量。文本块转换成的向量捕捉了文本的语义信息,从而可以在海量文本库中检索相关内容,不同模型生成的向量数值可能会有所不同。
向量在多维空间中捕捉文本,图像或音频的语义和关联,可以让机器学习算法更轻松地对其进行处理和解读。向量的每个数值表示对象在特定维度上的特征或属性。
通过相似性搜索,在向量空间中寻找与查询向量Query距离最近的邻居,这些邻居便是与查询向量最相似的对象。
通常,向量具有数百甚至数千个维度,为了实现向量空间的可视化,采用PCA技术,将嵌入维度从2048维降低到三维,相似的对象在向量空间中会靠的更近,而不相似的对象则会分散的更远。



举报本楼

本帖有 1 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

版规|手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2025-10-29 14:16 , Processed in 0.115824 second(s), 16 queries , Gzip On.

Copyright © 1999-2025 C114 All Rights Reserved

Discuz Licensed

回顶部