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

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

http://www.lryc.cn/news/2383784.html

相关文章:

  • 黑马点评前端Nginx启动失败问题解决记录
  • 第12天-Python+Qt5开发实战:10大经典案例与深度解析
  • 软件开发命名避开保留关键字指南
  • 力扣第450场周赛
  • React-改变当前页class默认的样式
  • zabbix 常见问题
  • 人工智能培训:解锁未来职场竞争力的核心路径与课程内容解析
  • 深入解析Java泛型:从定义到实战应用
  • 【开源】一个基于 Vue3 和 Electron 开发的第三方网易云音乐客户端,具有与官方客户端相似的界面布局
  • 【云实验】Excel文件转存到RDS数据库
  • 从零开始:用Python语言基础构建宠物养成游戏:从核心知识到完整实战
  • labview设计一个虚拟信号发生器
  • 工业路由器WiFi6+5G的作用与使用指南,和普通路由器对比
  • Chrome 插件网络请求的全面指南
  • 编译Qt5.15.16并启用pdf模块
  • Python绘制新冠疫情的知识图谱
  • canvas(三)-动画3d
  • 使用RUST在Arduino上进行编程(MacOS,mega板)
  • MySQL迁移SSL报错
  • 大模型微调与高效训练
  • LLM驱动的未来软件工程范式与架构策略
  • OpenCv高阶(十六)——Fisherface人脸识别
  • Unity3D 异步加载材质显示问题排查
  • 【Django Serializer】一篇文章详解 Django 序列化器
  • 二分算法的补充说明
  • C++:array容器
  • java每日精进 5.19【Excel 导入导出】
  • java基础(api)
  • CentOS7/Ubuntu SSH配置允许ROOT密码登录
  • C++ HTTP框架推荐