RAG技术探索

什么是RAG

1 RAG原理

RAG(Retrieval Augmented Generation, 检索增强生成),即LLM在回答问题或生成文本时,先会从大量文档中检索出相关的信息,然后基于这些信息生成回答或文本,从而提高预测质量。RAG模型尤其适合知识密集型的任务。

LLM vs RAG检索:

RGA.PNG

RAG 方法使得开发者不必为每一个特定的任务重新训练整个大模型,只需要外挂上知识库,即可为模型提供额外的信息输入,提高其回答的准确性。

RAG典型案例

[ChatPDF]

实现原理:

image.png

实现流程:

1 ChatPDF首先读取PDF文件,将其转换为可处理的文本格式,例如txt格式;
2 对提取出来的文本进行清理和标准化,例如去除特殊字符、分段、分句等;
3 使用OpenAI的Embeddings API将每个分段转换为向量,这个向量将对文本中的语义进行编码,以便于与问题的向量进行比较;
4 当用户提出问题时,ChatPDF使用OpenAI的Embeddings API将问题转换为一个向量,并与每个分段的向量进行比较,以找到最相似的分段;
5 ChatPDF将找到的最相似的分段与问题作为prompt,调用OpenAI的Completion API,让ChatGPT学习分段内容后,再回答对应的问题;
6 ChatPDF会将ChatGPT生成的答案返回给用户,完成一次查询.

BaiChuan

百川大模型的搜索增强系统融合了多个模块,包括指令意图理解、智能搜索和结果增强等组件。 该体系通过深入理解用户指令,精确驱动查询词的搜索,并结合大语言模型技术来优化模型结果生成的可靠性。通过这一系列协同作用,大模型实现了更精确、智能的模型结果回答。

[Multi-modal retrieval-based LMs]

RA-CM3 是一个检索增强的多模态模型,其包含了一个信息检索框架来从外部存储库中获取知识,具体来说,作者首先使用预训练的 CLIP 模型来实现一个检索器(retriever),然后使用 CM3 Transformer 架构来构成一个生成器(generator),其中检索器用来辅助模型从外部存储库中搜索有关于当前提示文本中的精确信息,然后将该信息连同文本送入到生成器中进行图像合成,这样设计的模型的准确性就会大大提高。

[LeanDojo]

通过检索增强进行数学证明的案例,其中 Lean是公式数学的编码语言.

image.png

实现方法

RAG 的实现主要包括三个主要步骤:数据索引、检索和生成。

数据索引

原始数据处理成为便于检索的格式(通常为embedding),该过程又可以进一步分为:

  • 数据提取
  • 分块(Chunking)
  • embedding及索引
检索

检索环节是获取有效信息的关键环节,主要包含:

  • 元数据过滤
  • 图关系检索:引入知识图谱,将实体变成node,把它们之间的关系变成relation,就可以利用知识之间的关系做更准确的回答。
  • 检索技术:相似度检索、关键词检索、SQL检索
  • 重排序:相关度、匹配度等重调整
  • 查询轮换:子查询、HyDE等;
文本生成

原始query 和检索得到的文本组合起来输入模型得到结果的过程。

那么,我们该如何学习大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一、大模型全套的学习路线

学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。

L1级别:AI大模型时代的华丽登场

L2级别:AI大模型API应用开发工程

L3级别:大模型应用架构进阶实践

L4级别:大模型微调与私有化部署

一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。

以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/845351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据在内存中的存储<C语言>

导言 在计算机中不同类型的数据在计算机内部存储形式各不相同,弄懂各种数据在计算机内部存储形式是有必要的,C语言的学习不能浮于表面,更要锻炼我们的“内功”,将来在写程序的时候遇见各种稀奇古怪的bug时,也便能迎刃而…

天文学专业大学院校排名(2024最新排行榜)

序号 学校代码 学校名称 学科名称 评估结果 1 10284 南京大学 天文学 A 2 10358 中国科学技术大学 天文学 A 3 10001 北京大学 天文学 B- 4 10248 上海交通大学 天文学 C 5 10027 北京师范大学 天文学 C- 天文学专业排名前5名的大学有&#xff1…

pipeline在计算机领域有什么贴切的翻译

在计算机领域,"pipeline"一词通常被翻译为“流水线”。这个术语指的是一种技术或架构,其中多个处理阶段按顺序执行,使得数据可以在一个阶段完成处理后立即被送入下一个阶段,从而提高效率和性能。在不同的上下文中&#…

控制障碍函数CBF详解(附带案例实现)

控制障碍函数CBF详解(附带案例实现) 文章目录 控制障碍函数CBF详解(附带案例实现)1. Control Affine System2. Lyapunov Theory, Nagumos Theory, Invariance Principle3. Control Lyapunov Function (CLF) and CLF-QP4. Control …

算法(十二)分治算法

文章目录 算法概念算法例子字符串中小写转大写求X^n问题 算法概念 分治算法(divide and conquer)算法的核心思想其实就是"分而治之",将原问题划分成n个规模较小,并且结构与原问题相似的子问题,递归地解决这…

移植其他命令行Vivado IDE的工具

移植其他命令行Vivado IDE的工具 介绍 本章介绍如何迁移各种AMD命令行工具以在AMD中使用 Vivado™集成设计环境(IDE)。 迁移ISE Partgen命令行工具 ISE™Design Suite Partgen工具可获得: •系统上安装的所有设备的信息 •详细的包装信息 您可…

[openwrt-21.02]openwrt-21.02 make menuconfig不显示luci-app-firewall问题分析及解决方案

问题描述 make menuconfig在 在applications界面没有luci-app-firewall 问题分析 首先重新执行 ./scripts/feeds update -a ./scripts/feeds install -a 然后再次执行make menuconfig,依然不显示,所以不是feeds安装的问题 最后看到log有个openmptc…

GB-T 43206-2023 信息安全技术 信息系统密码应用测评要求

GB-T 43206-2023 信息安全技术 信息系统密码应用测评要求 编写背景 随着信息技术的飞速发展,信息系统在社会经济活动中扮演着越来越重要的角色。信息安全问题也随之成为社会关注的焦点。GB-T 43206-2023《信息安全技术 信息系统密码应用测评要求》是针对信息系统中…

kotlin gradle 在libs.versions.toml控制下添加本地aar/jar的方法

与之前gradle集中控制的方法相同,唯一不同的是改成kotlin dsl格式: 修改Module级别的build.gradle.kt文件 在dependencies函数块内添加下面代码块 implementation(fileTree(mapOf("dir" to "libs","include" to listOf(…

记录mabatis-plus初体验

一、简介 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 测试问题现象:测试mabatis的crud方法 增加 批量删除都没有问题 单单就是这个根据ID删除有问题 解决方案:真的就是pom文件的问题 自己的版本是Intelli…

Fully Convolutional Networks for Semantic Segmentation--论文笔记

论文笔记 资料 1.代码地址 2.论文地址 https://arxiv.org/abs/1411.4038 3.数据集地址 论文摘要的翻译 卷积网络是强大的视觉模型,可以产生特征层次结构。我们表明,卷积网络本身,经过端到端,像素对像素的训练,在…

【新能源大巴BMS结构与乘用车的区别】

新能源大巴BMS结构与乘用车的区别 这篇文章主要介绍新能源大巴的电池和BMS的结构与乘用车的区别。 主要有,新能源大巴行业、新能源电池系统结构和新能源大巴的BMS系统。 第一部分 新能源大巴行业 其实数数全球的商用车(大巴卡车),大致的方向还是沿着就…

解释 Vue route和router的区别?

Vue中的route和router在单页应用(SPA)开发中扮演着不同的角色,它们的区别可以归纳为以下几点: 定义与功能: router:router是Vue Router的一个实例对象,它是全局的。通过Vue.use(VueRouter)和Vue…

RocketMQ重复消费的幂等性问题

什么是幂等性?----》多次调用接口,得到的结果都一样。 用幂等性来解决重复消费的问题。 重复消费可以解决吗-----》重复消费根部避免不了。只能从消息的幂等消费入手。 为什么会有重复消费? 由于我们要求RocketMQ消息不丢失,要…

前端传String字符串 后端使用enun枚举类出现错误

情况 前端 String 后端 enum 前端 后端 报错 2024-05-31T21:47:40.61808:00 WARN 21360 --- [nio-8080-exec-6] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to con…

多态的一些问题

🏷️ 问答题: 1. 什么是多态? 多态(Polymorphism)是面向对象编程中的一个重要概念,指的是同一操作作用于不同对象时,可以表现出不同的行为方式。多态性允许不同类型的对象以统一的接口进行操作…

tomlkit mypy error: Value of type “Item | Container“ is not indexable [index]

使用tomlkit进行TOML文件的读写时,mypy静态检查报错如下: demo.py:5: error: Value of type "Item | Container" is not indexable [index]poetry_conf doc[tool][poetry]^~~~~~~~~~~~~~~~~~~~~ demo.py:7: error: Unsupported target for …

香港服务器无法访问是什么情况?

香港服务器无法访问是什么情况?简单来说,这意味着香港服务器没有响应请求,客户端无法访问。此错误可能由于多种原因而发生,包括网络连接问题、服务器停机、防火墙限制和 DNS 错误。当发生服务器无法访问错误时,它会影响您网站的性…

OncePerRequestFilter 和 GenericFilterBean比较

OncePerRequestFilter 和 GenericFilterBean 都是Spring框架提供的用于构建自定义Servlet过滤器(Filter)的基类,它们主要用于处理Web请求的拦截和处理逻辑。以下是它们各自的详细说明: GenericFilterBean 类描述:Gen…

Qt for android : libusb在android中使用

简介 如何在Qt for Android中使用libusb, 其实libusb的文档里面都写的很清楚, 这里只是稍微做下整理。 libusb libusb github源码 libusb release的版本, 有编译好的静态 步骤 1. 下载libusb libusb v1.0.027 源码包 2. 整理提取libusb android使用源…