RAG(Retrieval-Augmented-Generation)检索增强生成

什么是RAG(检索增强生成)?

RAG是一种AI框架,结合传统的数据检索技术和LLM(大语言模型)的优势,通过将外部数据和LLM生成语言技能集合,对LLM的输出进行优化,使输出更准确、更及时,并且与您的具体需求相关

简单来说,人在遇到认知外的问题时会去翻书和上网查找答案。同样地,当LLM遇到问题时,可能会回答虚假信息,RAG就相当于为LLM提供了一个智能检索系统,使其能够像人类一样"查阅资料"来解决问题。

RAG工作流程

在传统模式下,LLM 仅基于预训练知识和用户输入直接生成响应。RAG 系统则引入了一个关键的信息检索组件,其工作流程如下:

1.创建知识数据文档

LLM训练使用的训练集以外的数据,可以来自不同的数据源,数据库/HTML/API或doc、pdf和md文件,得到原始的数据后,就可以进行处理,可以使用嵌入语言模型的 AI 技术将数据转换为数字表示形式并将其存储在向量数据库中,会创建一个LLM可以理解的知识库

使用Spring AI的ETL(Extract Transform Load )提取转换加载可实现对原始数据处理。

原始数据 --> List<Document>(文档列表)--> 向量转换、存储

ETL 管道 :: Spring AI 参考 --- ETL Pipeline :: Spring AI Reference

2.文档检索相关信息

实现第一步的知识库后,数据以向量格式存储([1,2,5,1,...])与向量数据库。

用户提问也要转换成向量格式,然后与向量数据库进行匹配。此时再提问“张三是谁?”,就会转换成向量,基于一定的搜索匹配策略与向量数据库匹配,得到结果后再进行过滤,就能得到与用户的提问“张三是谁?”匹配的文档。

用户提问 --> 向量转换 --> 匹配向量数据库

嵌入模型 API :: Spring AI Reference --- Embeddings Model API :: Spring AI Reference

3.增强 LLM 提示

得到问题的相关文档后,接下来,RAG 模型通过在上下文中添加检索到的相关数据来增强用户输入。使用提示工程技术与 LLM 进行有效沟通。增强提示允许大型语言模型为用户查询生成准确的答案。

用户提问 --> 结合文档 --> 新的用户提问上下文 --> LLM

检索增强生成 :: Spring AI 参考 --- Retrieval Augmented Generation :: Spring AI Reference

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值