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

news2024/11/25 20:29:11

前言

书生·浦语大模型应用实战营 第二期正在开营,欢迎大家来学习。(参与链接: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.coloradmin.cn/o/1591227.html

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

相关文章

OOCT WPF_D3D项目报错无法加载依赖项

运行示例项目报错缺少dll,发现运用了这个大老李,通过添加PATH路径也无法解决,看到debug文件夹下面没有其他的依赖项。 通过depneds工具可以看到 OCCTProxy_D3D.dll 缺少依赖项,图中的缺项都是OCCT生成的模块dll所以讲这些dll从..…

ABAP ADBC_QUERY 测试代码

项目中使用的接口取数采用的是DBLink的方式,对方提供的表名太长,超过标准程序ADBC_QUERY的参数长度,于是写了一份简单的测试代码用来测试连接和取数。 DBCO配置: 测试程序: 程序源码: *&------------…

java Arrays工具类常用方法整理

Arrays工具类常用方法的表格整理: 方法名调用传参要求实现效果asList()传入一个数组将数组转换为列表binarySearch()传入一个排序好的数组和要查找的元素在排序数组中查找指定元素的索引copyOf()传入一个数组和要复制的长度复制指定长度的数组copyOfRange()传入一个…

Linux系统编程---文件IO

一、系统调用 由操作系统实现并提供给外部应用程序的编程接口(Application Programming Interface,API),用户程序可以通过这个特殊接口来获得操作系统内核提供的服务 系统调用和库函数的区别: 系统调用(系统函数) 内核提供的函数 库调用 …

《零基础入行IT:步步为营的转型攻略与实践策略》

在信息化社会,IT行业以其强劲的发展势头、广阔的就业前景和丰厚的薪酬待遇,吸引了无数希望转行或初入职场人士的目光。然而,对于毫无相关背景知识的人来说,如何成功叩开IT行业的大门,似乎是一项颇具挑战性的任务。本文…

RabbitMQ的介绍

为什么使用 MQ? 流量削峰和缓冲 如果订单系统最多能处理一万次订单,这个处理能力在足够应付正常时段的下单,但是在高峰期,可能会有两万次下单操作,订单系统只能处理一万次下单操作,剩下的一万次被阻塞。我们…

HCIP-Datacom(H12-821)题库补充(4月12日)

最新 HCIP-Datacom(H12-821)完整题库请扫描上方二维码访问,持续更新中。 在BGP进程下,Aggregate命令中的detail_suppressed关键字的作用是以下哪一项? A:抑制生成的聚合路由下发IP路由表 B&…

【前端】解决前端图表大数据配色难题:利用HSL动态生成颜色方案

解决前端图表大数据配色难题:利用HSL动态生成颜色方案 在数据可视化项目中,尤其是当需要绘制包含大量数据点的图表时,一个常见的挑战是如何为每个数据点分配一个独特而又视觉上容易区分的颜色。使用固定的颜色列表可能在数据点数量超过列表限…

人脸表情数据集

https://download.csdn.net/download/mqdlff_python/89128573

【最全四种方案对比】Redis 与 MySQL 数据一致性问题探讨

前言: 缓存必须要有过期时间;保证数据库跟缓存的最终一致性即可,不必追求强一致性。 目录如下: 1. 什么是数据库与缓存一致性2. 缓存的使用策略 2.1 Cache-Aside (旁路缓存)2.2 Read-Through(直读)2.3 W…

秒杀优化-异步秒杀思路

6、秒杀优化 6.1 秒杀优化-异步秒杀思路 我们来回顾一下下单流程 当用户发起请求,此时会请求nginx,nginx会访问到tomcat,而tomcat中的程序,会进行串行操作,分成如下几个步骤 1、查询优惠卷 2、判断秒杀库存是否足…

vue 原理【详解】MVVM、响应式、模板编译、虚拟节点 vDom、diff 算法

vue 的设计模式 —— MVVM M —— Model 模型,即数据V —— View 视图,即DOM渲染VM —— ViewModel 视图模型,用于实现Model和View的通信,即数据改变驱动视图渲染,监听视图事件修改数据 初次渲染 将模板编译为 render …

面试-数据库基础以及MySql、ClickHost、Redis简介

面试-数据库基础以及MySql、ClickHost、Redis简介 0.数据完整性1.数据库并发控制1.1事物1.2 并发读写错误1.3 锁1.3.1 乐观锁与悲观锁1.3.2 共享锁和排他锁1.3.3 行锁与表锁1.3.4 意向锁 1.4 封锁协议与隔离级别1.5 MVCC1.5.1 概念1.5.2 当前读与快照读1.5.3 MVCC in InnoDB 2.…

linux启动流程(s3c2400)

概述 大致流程:内核(kernel)都是由bootloader程序引导启动的,所以我们应该先烧进去bootloader程序。然后可以通过保存的内核代码或者通过远程连接(nfs/tftp)的主机下载再运行,再挂载根文件系统。…

海外媒体宣发:旅游业媒体5个提高转化率绝佳实践方法-华媒舍

随着旅游业的迅速发展和数字化进程的加速,旅游业媒体成为了推动旅游业发展的重要力量。仅仅依靠大量流量和曝光并不足以实现收益最大化,更为关键的是如何提高旅游业媒体的转化率,将流量转化为实际销售和盈利。本篇文章将介绍并讨论5个提高旅游…

『VUE』16. v-model表单输入和绑定(详细图文注释)

目录 绑定机制v-model修饰符简易绑定使用修饰符lazy实现勾选框效果总结 欢迎关注 『VUE』 专栏,持续更新中 欢迎关注 『VUE』 专栏,持续更新中 绑定机制 在 Vue.js 中,使用 v-model 指令可以实现表单输入元素与 Vue 实例中的数据双向绑定。这…

Redis--16--Spring Data Redis

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Spring Data Redishttps://spring.io/projects/spring-data-redis 1.依赖2.RedisTemplate3.案例 序列化1.默认是 JdkSerializationRedisSerializer2.添加Redis配置文…

CSS导读 (复合选择器 上)

(大家好,今天我们将继续来学习CSS的相关知识,大家可以在评论区进行互动答疑哦~加油!💕) 目录 二、CSS的复合选择器 2.1 什么是复合选择器 2.2 后代选择器(重要) 2.3 子选择器(重要) Questions 小提…

GRE/MGRE详解

GRE GRE:通用路由封装,是标准的三层隧道技术,是一种点对点的隧道技术; 该技术可以实现不同的网络之间安全的访问; 如上:可以使用该技术搭建一条专线,实现公司A与分公司A1之间相互通信&#xf…

蓝桥杯 前一晚总结 模板 新手版

《准备实足&#xff0c;冲冲冲 省一》https://www.yuque.com/lenyan-svokd/hi7hp2/hfka297matrtsxy2?singleDoc# 《准备实足&#xff0c;冲冲冲 省一》 #include<bits/stdc.h> // 包含标准库头文件using namespace std; using ll long long; // 定义 long long 数据类…