通信人家园
标题: RAG [查看完整版帖子] [打印本页]
时间: 2025-10-27 16:56
作者: jpfjpf148468
标题: RAG
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维降低到三维,相似的对象在向量空间中会靠的更近,而不相似的对象则会分散的更远。
时间: 2025-10-27 19:09
作者: 不吹不黑
嗯,了解了
| 通信人家园 (https://www.txrjy.com/) |
Powered by C114 |