书生·浦语大模型实战营 | 第3次学习笔记

前言

书生·浦语大模型应用实战营 第二期正在开营,欢迎大家来学习。(参与链接:https://mp.weixin.qq.com/s/YYSr3re6IduLJCAh-jgZqg

第三堂课的视频链接:https://www.bilibili.com/video/BV1QA4m1F7t4/

本次笔记是学习完第三堂课,结合自己关心内容而创作,更偏向个人。尽管有很多细节丢失,但组织出来的内容仍反映本节课的关键知识、也是我的收获,与大家分享。

论述

引出RAG

RAG中文名叫检索生成技术,它是怎样一个技术呢?
市面上有很多通用大模型
这是书生浦语自主研发的模型评测平台

它们神通广大、无所不知,有着惊人的能力。但是事情总有我们不如意的时候,这些通用大模型可能会在某些垂直领域回答还是不尽人意,无法满足我们的业务需求。怎么办?

我们可以微调大模型,去更新它的网络参数。但面对闭源模型,你没办法了。还能怎么办?RAG技术就可以解决这样的困境,在不改变大模型本身能力的同时,能提升它回答的表现!这是一种神奇的方法,一种外挂知识库的方法。

RAG到底是怎么做到的?简单点说就是从直接prompt到给大模型做阅读理解将用户的提问去知识库里匹配相关的信息,然后组合在一起再prompt给大模型。实践验证这种方法很好,大大提升了相关领域的回答表现。

我们来看RAG技术加持下,大模型问答的运行机制是怎样的

RAG技术加持的大模型的运行机制

请添加图片描述

以上就是大模型问答实质的运行机制。接下来,我以开发者的视角来讲解这张图

前面我们已经知道RAG实际是怎么提升回答表现的。作为开发者呢,我们首先得去搭建知识库,整个开发的过程我们都是再Langchain框架下的,在该框架下让我们的开发更容易。

我们收集了大量的文件材料,它们有word、有excel、pdf、markdown等等等等。我们首先做的就是对这些文件材料去除格式,这里我们就要用到去除文本结构器,就是个工具,不必焦虑在哪里找它们,Langchain为你们提供了。去除了文件的格式我们得到了纯字符串的文本信息。

这一个字符串可能10万个字符,我们要对它切割,用Langchain提供的文本分割器来实现。我们得到了文本片段集合,然后对这一个个片段进行编码成一个个向量,这种形式的信息方便进行相关度比较。于是我们构建起了向量数据库,也可以叫做知识库,里面都是知识嘛。

这都是开发阶段做的工作。在实际用户提出一个提问/prompt后是怎样个运行机制呢?

首先用户的提问也要进行编码成向量,为了可以与向量数据库的信息检索匹配嘛。然后从向量数据库里检索出了相关的向量信息。直接将向量输入到大模型?我们做不了。那是要解码吗?也不是,实际上无论是prompt向量还是知识库里的向量,在编码的时候都是建立了与自然语言文本一一对应的关系的。我们直接凭借着这个对应关系,找到对应的自然语言文本拼接在一起就行了。然后就是喂给大模型,图中展示的是Internlm大模型。最后我们就得到了回答了。以上就是理论上RAG下的大模型问答的运行机制。




————————
以上就是我本篇想讲的所有内容了,如果这篇文章对你有价值的话,还请点个赞,你的支持对我非常重要!

我是阿航,一位胆大包天、梦想成为大牛的学生~

我们下篇文章接着聊

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

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

相关文章

vueRouter动态路由(实现菜单权限控制)

一、权限控制管理: 对于企业级的项目, 我们可能需要对项目做权限控制管理, 实现不同角色的用户登录项目根据所拥有的权限访问不同的页面内容,此时就需要使用到动态路由来对权限页面做限制。 【使用vue-router实现动态路由,达到实现菜单权限…

FFmpeg: 简易ijkplayer播放器实现--06封装打开和关闭stream

文章目录 流程图stream openstream close 流程图 stream open 初始化SDL以允许⾳频输出;初始化帧Frame队列初始化包Packet队列初始化时钟Clock初始化音量创建解复用读取线程read_thread创建视频刷新线程video_refresh_thread int FFPlayer::stream_open(const cha…

Docker 学习笔记(七):介绍 Dockerfile 相关知识,使用 Dockerfile 构建自己的 centos 镜像

一、前言 记录时间 [2024-4-12] 系列文章简摘: Docker学习笔记(二):在Linux中部署Docker(Centos7下安装docker、环境配置,以及镜像简单使用) Docker 学习笔记(三)&#x…

【MoS2】应变增强的单层MoS2光电探测器

这篇文章的标题是《Strain-Enhanced Large-Area Monolayer MoS2 Photodetectors》,作者是Borna Radatovic等人,发表在《ACS Applied Materials & Interfaces》期刊的2024年第16卷。文章主要研究了应变增强的大面积单层MoS2光电探测器的性能和应用潜力…

【安全】挖矿木马自助清理手册

一、什么是挖矿木马 挖矿木马会占用CPU进行超频运算,从而占用主机大量的CPU资源,严重影响服务器上的其他应用的正常运行。黑客为了得到更多的算力资源,一般都会对全网进行无差别扫描,同时利用SSH爆破和漏洞利用等手段攻击主机。 …

GC垃圾回收

垃圾回收 1、什么是 垃圾回收机制: 理解Java的垃圾回收机制,就要从:“什么时候”,“对什么东西”,“做了什么”三个方面来具体分析。 ​ 第一:“什么时候”即就是GC触发的条件。 ​ GC触发的条件有两种…

相机模型浅析

相机模型 文章目录 相机模型四个坐标系针孔相机模型世界坐标系到相机坐标系相机坐标系到图像坐标系图像坐标到像素坐标 四个坐标系 ①世界坐标系:是客观三维世界的绝对坐标系,也称客观坐标系。因为数码相机安放在三维空间中,我们需要世界坐标…

【opencv】示例-image_alignment.cpp 利用ECC 算法进行图像对齐

affine imshow("image", target_image); imshow("template", template_image); imshow("warped image", warped_image); imshow("error (black: no error)", abs(errorImage) * 255 / max_of_error); homography 这段代码是一个利用EC…

【300套】基于Springboot+Vue的Java毕业设计项目(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 🧡今天给大家分享300的Java毕业设计,基于Springbootvue框架,这些项目都经过精心挑选,涵盖了不同的实战主题和用例,可做毕业…

银行司库系统应用架构介绍

继国务院国资委印发了《关于推动中央企业加快司库体系建设进一步加强资金管理的意见》以及《关于中央企业加快建设世界一流财务管理体系的指导意见》,司库体系建设开始得到了更多重视。其中,作为改革风向标,央企数字化转型及司库建设对整个行…

【YUNBEE云贝-进阶课】MySQL8.0性能优化实战培训

众多已经学习过MySQL 8.0 OCP认证专家的课程的同学们对 MySQL 8.0 的安装部署、体系结构、配置监控、用户管理、主从复制、系统运维、MGR等基础操作和动手实验有了一定的学习基础.很多学员反馈希望更进一步提升技术能力、解决工作中碰到的性能问题。 针对MySQL8.0的数据库性能优…

Ubuntu 20.04 设置开启 root 远程登录连接

Ubuntu默认不设置 root 帐户和密码 Ubuntu默认不设置 root 帐户和密码 Ubuntu默认不设置 root 帐户和密码 如有需要,可在设置中开启允许 root 用户登录。具体操作步骤如下: 操作步骤 1、首先使用普通用户登录 2、设置root密码 macw:~$ sudo passwd …

基于STM32F103单片机的时间同步项目

一、前言 本项目为前一个时间同步项目的更迭版本,由于之前的G031开发板没有外部晶振,从机守时能力几乎没有,5秒以上不同步从机时间就开始飞了。在考虑成本选型后,选择了带有外部有缘晶振的STM32F103C8T6最小单片机,来作…

DRF的认证、权限、限流、序列化、反序列化

DRF的认证、权限、限流、序列化、反序列化 一、认证1、直接用,用户授权2、认证组件源码3、第三方认证djangorestframework-simplejwt 二、权限1. 直接使用,用户权限2.权限组件源码 三、序列化1. 序列化1.1 自定义Serailizer类序列化1.2 在视图APIView中使…

嵌入式驱动学习第七周——GPIO子系统

前言 GPIO子系统是用来统一便捷地访问实现输入输出中断等效果。 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏,一起讨论一起学习。现在关注就是老粉啦&#xff0…

spring boot整合Redis监听数据变化

一、前言 Redis提供了数据变化的通知事件,可以实时监测key和value的变化,客户端可以通过订阅相关的channel来接收这些通知事件,然后做相应的自定义处理,详细的介绍可以参考官方文档Redis keyspace notifications | Docs 使用Red…

httpsok-快速申请谷歌SSL免费证书

🔥httpsok-快速申请谷歌SSL免费证书 使用场景: 部署CDN证书、OSS云存储证书证书类型: 单域名 多域名 通配符域名 混合域名证书厂商: ZeroSSL Lets Encrypt Google证书加密类型: ECC、 RSA 一、证书管理 进入 证书管…

【数学建模】2024Mathorcup数学建模C题完整思路与代码论文解析

2024Mathorcup数学应用挑战赛C题|图神经网络的预测模型ARIMA时间序列预测模型人员排班混合整数规划模型|完整代码和论文全解全析 我们已经完成了2024Mathorcup数学建模挑战赛C题的40页完整论文和代码,相关内容可见文末,部分图片如下: 问题分…

[蓝桥杯] 岛屿个数(C语言)

提示: 橙色字体为需要注意部分,红色字体为难点部分,会在文章“重难点解答”部分精讲。 题目链接 蓝桥杯2023年第十四届省赛真题-岛屿个数 - C语言网 题目理解 这道题让我们求岛屿个数,那么我们就应该先弄懂,对于一…

Qt5 编译oracle数据库

库文件 1、Qt源码目录:D:\Qt5\5.15.2\Src\qtbase\src\plugins\sqldrivers\oci 2、oracle客户端SDK: https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html 下载各版本中的如下压缩包,一定要版本相同的 将两个压缩包…