首页 > 其他分享 >课程3-笔记-书生浦语大模型实战营-3

课程3-笔记-书生浦语大模型实战营-3

时间:2024-02-26 10:56:10浏览次数:23  
标签:检索 RAG 模型 笔记 书生 LLM 文本 浦语 向量

对LLM进行增强的方法一般有两种:RAG(Retrieval Augmented Generation检索增强生成)或者finetune。其中,RAG可以简单理解为外接一个知识库,从而对某个特定的领域进行增强原始LLM的能力。相比Finetune而言,成本低,且实时性好。不需要对原模型进行修改,但是,也非常受限于原LLM的能力。

RAG的原理

用户输入将会被sentence transformer转换成文本向量,在向量数据库中进行匹配后,会找到相似的文本段。RAG的一个假设是:认为,与用户的输入文本段(问题)相似的文本段,大概率会包含到答案,然后将这个检索到的相似文本段,和prompt一起,传入LLM,并得到答案。

1 环境配置

  1. InternLM 模型
  2. LangChain、词向量模型
  3. NLTK 相关资源

2 知识库搭建

  1. 数据收集
  2. 加载数据
  3. 构建向量数据库
  4. 整体脚本

3 InternLM 接入 LangChain

4 构建检索问答链

  1. 加载向量数据库
  2. 实例化自定义 LLM 与 Prompt Template
  3. 构建检索问答链

 

 

标签:检索,RAG,模型,笔记,书生,LLM,文本,浦语,向量
From: https://www.cnblogs.com/russellwang/p/18033843

相关文章

  • MMFN论文阅读笔记(Multi-modal Fake News Detection on Social Media via Multi-graine
    论文标题:Multi-modalFakeNewsDetectiononSocialMediaviaMulti-grainedInformationFusion论文作者:YangmingZhou,YuzhouYang,QichaoYing,ZhenxingQian,XinpengZhang论文来源:ICMR2023,paper论文代码:暂无介绍目前的多模态方法主要集中在文本和视觉特征的融......
  • Slope trick 学习笔记
    博客传送门Slopetrick的定义Slopetrick是一种通过分析DP函数在转移时的斜率变化来优化转移的技巧。通常来说,被维护的函数图像是离散的凸函数,Slopetrick会维护函数的斜率或者斜率的差分。维护凸函数主要有以下几个优点:方便维护形如\(dp'[i]\leftarrow\max(dp[i],dp......
  • Lua学习笔记之迭代器、table、模块和包、元表和协程
    迭代器迭代器是一种对象,它能够来遍历标准库模板容器中的部分或全部元素,每个迭代器对象代表容器中确定的地址,在Lua中迭代器是一种支持指针类型的结构,他可以遍历集合的每一个元素。泛型for迭代器泛型for自己内部保存迭代函数,实际上保存三个值:迭代函数、状态常量、控制变量。泛型......
  • 《构建之法》阅读笔记二
    在《构建之法》的第一章就有醒目的黑体字写着软件=程序+软件工程。作为一名程序员,不能仅仅会写代码,深入了解一个软件是通过怎么样的层层工序制作出来,也是我们应当重点掌握的。文中通过生活实例,启发我对什么是程序,什么是软件,什么是软件工程,没有使用到算法需不需要学习、掌握。软......
  • 《构建之法》读书笔记一
    个人的成功不是天生的,而是慢慢积累的。当然,一个优秀的程序员也是慢慢学成的;正所谓:千里之行始于足下,我们必须从最基础的开始,不仅要学会写代码,更要学会看代码,看别人的代码,发表自己的意见;并且还要学会将代码规范化,代码看了要简洁明了,让别人看了就很舒服;当代码完成后,我们在为团队成员......
  • 《构建之法》阅读笔记三
    编程是艺术,开发是工程比起一门编程语言,软件工程的入门过程,要难得多。盖因一门语言,其语法、关键字、系统库和常用工具,总是确定而有限的。而软件工程,作为工程学的一个门类,它肩负着在软件开发的过程中,将种种条件确定下来,将资源安排妥当,使工作过程确定清晰,产出稳定可靠的责任。这其中......
  • 《程序是怎样跑起来的》第十一章读书笔记
    Window控制硬件时借助的是输入输出指令。其中具有代表性的两个输入输出指令就是IN和OUT。这些指令也是汇编语言的助记符。I/O是loput/Output的缩写。显示器、键盘等外围设备都有各自专用的I/O控制器。I/0控制器中有用于临时保存输人输出数据的内存。这个内存就是端口。端口(port)......
  • 《程序是怎样跑起来的》第十二章读书笔记
    C语言的rund(函数中,也肯定通过某些公式生成了伪随机数。假如使用的是线性同余法的话,就需要提前设定Ri、a、b、c的数值,为此就要用到代码清单12-1及代码清单12-2中的srand(time(NULL));。srand(函数中的参数time(NULL),是用来获取当前时间的参数。以time(NULL)的值为基础,来设定Ri、a......
  • 《程序是怎样跑起来》第十章读书笔记
    通过调查本地代码的内容,可以了解程序最终是以何种形式来运行的。但是,如果直接打开本地代码来看的话,只能看到数值的罗列。如果直接使用这些数值来编写程序的话,还真是不太容易理解。因而就产生了这样-一种想法,那就是在各本地代码中,附带上表示其功能不过,即使是用汇编语言编写的源代......
  • 《程序是怎样跑起来的》第九章读书笔记
    监控程序就是具有加载和运行工能,就是操作系统的原型。通过实现启动监控程序,程序员就可以根据需要将各种程序加载到内存中运行。应用对的可执行文件指的是计算机的CPU可以直接解释并运行的本地代码。在操作系统个环境中,应用并不是直接控制硬件,而是通过操作系统来控制硬件的。变量定......