书生·浦语大模型--第三节课笔记--基于 InternLM 和 LangChain 搭建你的知识库

在这里插入图片描述

文章目录

  • 大模型开发范式
    • RAG
      • LangChain框架:
      • 构建向量数据库
      • 构建检索问答链
      • 优化建议
      • web 部署
  • 实践部分

大模型开发范式

LLM的局限性:时效性(最新知识)、专业能力有限(垂直领域)、定制化成本高(个人专属)

两种开发范式:

  • RAG(检索增强生成):外挂知识库,首先匹配知识库文档,交给大模型。优势:成本低,实时更新,不需要训练。但受限于基座模型,知识有限,总结性回答不佳。
  • Finetune(微调):轻量级训练微调,可个性化微调,是一个新的个性化大模型。但是需要在新的数据集上训练,更新成本仍然很高,无法解决实时更新的问题。

RAG

  • 基本思想
    在这里插入图片描述

LangChain框架:

通过组件组合进行开发,自由构建大模型应用。将私人数据嵌入到组件中。
在这里插入图片描述
步骤:首先,Unstructed Loader 组件加载本地文档,将不同格式的文档提取为纯文本格式。通过Text Splitter组件对提取的纯文本进行分割成Chunk。再通过开源词向量模型Sentence Transformer来将文本段转化为向量格式,存储到基于Chroma的向量数据库中,接下来对用户的每个输入会通过Sentence Transformer转为为同样维度的向量,通过在向量数据库中进行相似度匹配找到和用户输入的文本段,将相关的文本段嵌入到已经写好的Prompt Template中,最后交给LLM回答即可。在这里插入图片描述

构建向量数据库

基于个人数据构建向量数据库。LangChain支持自定义LLM,可以直接接入到框架中。

  • 多种数据类型,针对不同类型选取不同加载器,转化为无格式字符串。
  • 由于单个文档超过模型上下文上限,还需要对文档进行切分。
  • 使用向量数据库支持语义检索,需要将文本向量化存入向量数据库

构建检索问答链

自动实现知识检索、Prompt嵌入、LLM问答。
问答性能还有所局限

在这里插入图片描述

优化建议

基于语义切分而不是字符串长度。
给每个chunk生成概括性索引。
在这里插入图片描述

web 部署

简易框架:Gradio、Streamlit等

实践部分

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

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

相关文章

Android 仿快手视频列表,RecyclerView与Banner联动效果

这是看到群里讨论过快手APP的一个观看他人视频列表的一个联动效果,但是并不是完全按照这个软件的效果来做的,只是参考,并不是完全仿照这个软件来做的,没时间去优化排版问题了,请见谅,如图: 实现…

如何分析测试任务及需求(附分析流程)

测试分析 确认测试范围 根据测试项目的不同需求,有大致几类测试项目类型:商户/平台功能测试、支付方式接入测试、架构调整类测试、后台优化测试、性能测试、基本功能自动化测试。 测试项目需要按照文档要求进行测试需求分析,并给出对应的输出…

Swift 周报 第四十五期

文章目录 前言新闻和社区苹果或将扩充健康版图,为Apple Watch X铺路更新后的《Apple Developer Program 许可协议》现已发布 提案通过的提案 Swift论坛推荐博文话题讨论关于我们 前言 本期是 Swift 编辑组整理周报的第四十五期,每个模块已初步成型。各位…

【Linux 内核源码分析】RCU机制

RCU 基本概念 Linux内核的RCU(Read-Copy-Update)机制是一种用于实现高效读取和并发更新数据结构的同步机制。它在保证读操作不被阻塞的同时,也能够保证数据的一致性。 RCU的核心思想是通过延迟资源释放来实现无锁读取,并且避免了…

IOS自动化测试元素定位

一、元素属性介绍 1、元素属性 2、查看各定位方式执行效率 二、iOS常用定位方法 1、accessibility_id 2、class_name 3、Xpath 4、ios_class_chain(类型链) 5、ios_predicate(谓词) 一个页面最基本组成单元是元素,想要定位一个元素,我们需…

Linux网络服务部署yum仓库

目录 一、网络文件 1.1.存储类型 1.2.FTP 文件传输协议 1.3.传输模式 二、内网搭建yum仓库 一、网络文件 1.1.存储类型 直连式存储:Direct-Attached Storage,简称DAS 存储区域网络:Storage Area Network,简称SAN&#xff0…

01-15

#include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);//判断是否有该数据库if(!db.contains("stuInfo.db")){//说明数据库不存在 则创建dbQSqlDatabase::addDatabase("QSQLITE")…

ELK之Filebeat输出日志格式设置及输出字段过滤和修改

一、Filebeat输出日志格式设置 1.1 编辑vim filebeat.yml文件,修改输出格式设置 # output to console output.console:codec.format: string: %{[@timestamp]} %{[message]}pretty: true### 1.2 测试 执行 ./filebeat -e 可以看到/tmp/access.log(目前文件里只有140.77.188…

【LV12 DAY9 ADC实验】

电压在1501mv~1800mv时,LED2、LED3、LED4、LED5点亮 电压在1001mv~1500mv时,LED2、LED3、LED4点亮 电压在501mv~1000mv时,LED2、LED3点亮 电压在0mv~500mv时,LED2闪烁 #include "exynos_4412.h"void delay(unsigned in…

大语言模型系列-总述

大语言模型发展史 研究人员发现,扩展预训练模型(Pre-training Language Model,PLM),例如扩展模型大小或数据大小,通常会提高下游任务的模型性能,模型大小从几十亿(1 B 10亿&#x…

Mysql判断一个表中的数据是否在另一个表存在

方式一: 判断A表中有多少条数据在B表中【存在】,并且显示这些数据–EXISTS语句 select A.ID, A.NAME from 表A where EXISTS(select * from 表B where A.IDB.ID) 判断A表中有多少条数据在B表中【不存在】,并且显示这些数据–NOT EXISTS语句 select …

使用Go语言通过API获取代理IP并使用获取到的代理IP

目录 前言 【步骤一:获取代理IP列表】 【步骤二:使用代理IP发送请求】 【完整代码】 【总结】 前言 在网络爬虫、数据抓取等场景中,经常需要使用代理IP来隐藏真实的IP地址,以及增加请求的稳定性和安全性。本文将介绍如何使用…

ubuntu22: nvtop no gpu to monitor.

解决方法: 重新下载nvtop sudo apt update sudo apt -y install nvtop真是逆天 ,ubuntu系统的nvidia driver突然坏了,然后我重装了nvidia driver, 之后用nvtop就出现这个问题了,但是逆天的是我竟然没有搜到一篇中文的帖子讲这个问…

NLP论文阅读记录 - 2021 | WOS 使用 GA-HC 和 PSO-HC 改进新闻文章的文本摘要

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试 二.相关工作三.本文方法3.1 总结为两阶段学习3.1.1 基础系统 3.2 重构文本摘要 四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 Improved Text Summa…

云卷云舒:2023年,我眼中的十大数据库

我眼中的十大数据库,只要看成长性和演进速度(个见勿怪)。 一、五强 1、openGauss:生态影响力变大,基于高斯的产品层出不穷 2、OceanBase:只因霸榜,技术强大,新特性更新频繁&#x…

lv14 并发控制:上下文、中断屏蔽和原子变量

1 上下文和并发场合 执行流:有开始有结束总体顺序执行的一段代码 又称上下文 应用编程:任务上下文 内核编程: 任务上下文:五状态 可阻塞 a. 应用进程或线程运行在用户空间b. 应用进程或线程运行在内核空间(通过调用…

python基础语法看一篇就够了,全网最全python语法笔记汇总

前言 Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。 如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极…

提前避坑Anzo Capital总结浮动差价的3个缺点

在交易中很多投资者倾向于选择浮动差价模式,这种模式的便利性就不言而喻了,但Anzo Capital需要提醒各位投资者,一定要知道浮动差价的3个缺点,在交易中提前避坑,下面Anzo Capital就和各位投资者一起总结浮动差价的这3…

leetcode 24两两交换链表中的节点

题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 思想 对于操作链表节点的时候,首先需要就是创建一个虚拟的…

前端动画特效分享(附在线预览)

分享几款不错的动画特效源码 其中有CSS动画、canvas动画、js小游戏等等 下面我会给出特效样式图或演示效果图 但你也可以点击在线预览查看源码的最终展示效果及下载源码资源 canvas爱心代码动画 爱心代码动画特效 由里向外不断的产生的小爱心形成一个巨大的爱心动画 以下图片…