InternLM大模型实战-3.InternLM+Langchain搭建知识库

news2024/11/23 3:34:44

文章目录

  • 前言
  • 笔记正文
    • 大模型开发范式
      • RAG
      • Finetune
    • LangChain简介
    • 构建向量数据库
    • 搭建知识库助手
      • 1 InternLM+Langchain
      • 2 构建检索问答链
      • 3 优化建议
    • Web Demo 部署
    • 搭建知识库

前言

本文是对于InternLM全链路开源体系系列课程的学习笔记。【基于 InternLM 和 LangChain 搭建你的知识库】 https://www.bilibili.com/video/BV1sT4y1p71V/?share_source=copy_web&vd_source=99d9a9488d6d14ace3c7925a3e19793e

笔记正文

大模型开发范式

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

两种开发范式用于解决这种局限性

RAG

检索增强生成。
低成本、可实时更新、受基座模型影响大、单次回答知识有限
在这里插入图片描述

Finetune

微调。
可个性化微调、知识覆盖面广、成本高昂、无法实时更新

LangChain简介

LangChain是一个开源工具,通过为各种LLM提供通用接口来简化应用程序的开发流程,帮助开发者自由构建LLM应用。其核心组成模块是Chains,可以见各种组建组合实现应用。
在这里插入图片描述

构建向量数据库

加载个人数据
加载源文件 -> 文档分块 -> 文档向量化

  • 确定源文件的类型,针对不同类型的源文件选用不同的加载器
  • 单个文档超出模型上下文的上限,所以需要切分
  • 使用向量数据库来支持语义检索,需要将文档向量化存入向量数据库

虽然源文件可以是各种格式的,但是存入向量数据库之后都会成为纯的以向量形式存储的字符串

搭建知识库助手

1 InternLM+Langchain

可以全部采用本地部署本地加载的形式,Langchain有提供自定义大模型的部署方式,将InternLM的接口封装为符合Langchain的LLM的一个类。

2 构建检索问答链

Langchain提供了检索问答链模板,可以自动实现只是检索、Prompt嵌入、LLM问答的全流程。
也就是说,只需要自己来进行模型的部署和向量知识库的创建。

3 优化建议

在这里插入图片描述

Web Demo 部署

建议web demo部署的有gradio和streamlit.

搭建知识库

见第三次作业博客中。

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

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

相关文章

RS232、RS485 和 DB9 接口详解

简介: 本文介绍了 RS232 和 RS485 两种串行通信协议的物理层标准,以及它们与 DB9 接口的连接方式。此外,还介绍了 RS485 接口的全双工和半双工模式,以及它们的应用场景。 1. DB9 接口 DB9 接口是一种常见的 D 型连接器&#xff…

C#在窗体正中输出文字以及输出文字的画刷使用

为了在窗体正中输出文字,需要获得输出文字区域的宽和高,这使用MeasureString方法,方法返回值为Size类型; 然后计算输出的起点的x和y坐标,就可以输出了; using System; using System.Collections.Generic; …

springboot180基于spring boot的医院挂号就诊系统

医院挂号就诊系统设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装医院挂号就诊系统软件来发挥其…

限制资源使用

限制资源使用 您需要显示对服务器资源的访问来保护Web应用程序和应用程序数据不受未授权用户的访问。在Java EE Web应用程序中,您可以通过在应用服务器中创建用户和用户组来保护资源免受未经授权的访问。您可以为应用程序定义角色并在部署过程中将角色分配给用户。 1. 创建授权…

MacOS - 菜单栏上显示『音量』

教程步骤 点击打开系统偏好『设置』,并找到『控制中心』 在『控制中心模块』找到『声音』,选择『始终在菜单栏显示』

华为环网双机接入IPTV网络部署案例

环网双机接入IPTV网络部署案例 组网图形 图2 环网双机场景IPTV基本组网图 方案简介配置注意事项组网需求数据规划配置思路操作步骤配置文件 方案简介 随着IPTV业务的迅速发展,IPTV平台承载的用户也越来越多,用户对IPTV直播业务的可靠性要求越来越高。…

数据库管理-第149期 Oracle Vector DB AI-01(20240210)

数据库管理149期 2024-02-10 数据库管理-第149期 Oracle Vector DB & AI-01(20240210)1 机器学习2 向量3 向量嵌入4 向量检索5 向量数据库5 专用向量数据库的问题总结 数据库管理-第149期 Oracle Vector DB & AI-01(20240210&#xf…

PHP特性知识点总结

如果想观感更好看到图片,可以去我的gitbook或者github去看 github:https://github.com/kakaandhanhan/cybersecurity_knowledge_book-gitbook.22kaka.fun gitbook:http://22kaka.fun description: 专门出的关于php的特性比较,后面好像也有java的特性。 🏀 PHP特性知识点…

Centos7离线安装MySQL5.7

卸载mariadb rpm -e --nodeps mariadb-libs可以使用rpm -qa|grep mariadb命令检测是否卸载完成。 关闭selinux 将/etc/selinux/config文件中的SELINUX设置为disabled下载MySql的相关rpm包 打开https://dev.mysql.com/downloads/mysql/ 选择Red Hat Enterprise Linux / Oracle L…

MySQL-索引(INDEX)

文章目录 1. 索引概述及优劣势2. 索引结构和不同引擎对索引的支持情况2.1 Btree2.2 Hash索引 3. 索引分类4. 索引语法5. 索引在什么情况下会失效?5.1 最左前缀法则5.2 范围查询5.3 索引列运算5.4 头部模糊查询5.5 OR连接条件5.6 字符串不加引号5.7 数据分布影响 6. …

《统计学简易速速上手小册》第8章:贝叶斯统计(2024 最新版)

文章目录 8.1 贝叶斯理论基础8.1.1 基础知识8.1.2 主要案例:疾病诊断8.1.3 拓展案例 1:垃圾邮件过滤8.1.4 拓展案例 2:财经新闻对股价的影响 8.2 贝叶斯方法的应用8.2.1 基础知识8.2.2 主要案例:个性化推荐系统8.2.3 拓展案例 1&a…

docker安装、运行

1、安装 之前有docker的话,需要先卸载旧版本: sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 安装之前需要安装yum工具: sud…

数据结构:并查集讲解

并查集 1.并查集原理2.并查集实现3.并查集应用4.并查集的路径压缩 1.并查集原理 在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合。开始时,每个元素自成一个单元素集合,然后按一定的规律将归于同一组元素的集合合并。在此过程中…

详细分析Redis中数值乱码的根本原因以及解决方式

目录 前言1. 问题所示2. 原理分析3. 拓展 前言 对于这方面的相关知识推荐阅读: Redis框架从入门到学精(全)Java关于RedisTemplate的使用分析 附代码java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全) …

《Git 简易速速上手小册》第5章:高级 Git 技巧(2024 最新版)

文章目录 5.1 交互式暂存5.1.1 基础知识讲解5.1.2 重点案例:为 Python 项目分阶段提交5.1.3 拓展案例 1:细粒度控制更改5.1.4 拓展案例 2:处理遗漏的更改 5.2 使用 Rebase 优化提交历史5.2.1 基础知识讲解5.2.2 重点案例:整理 Pyt…

npm install 安装依赖如何加速

在使用npm安装依赖时,有几种方法可以加速这一过程,尤其是在面临网络限制或npm官方源速度慢的情况下。以下是一些常用的加速技巧: 1. 使用国内镜像源 国内有几个镜像源可以提供更快的下载速度,例如淘宝npm镜像。你可以通过以下命…

操作系统基础:IO核心子系统【下】

🌈个人主页:godspeed_lucip 🔥 系列专栏:OS从基础到进阶 🏆🏆本文完整PDF源文件请翻阅至文章底部下载。🏆🏆 ⚕️1 I/O核心子系统——概述🔱1.1 核心子系统要完成的功能…

【教学类-48-03】202402011“闰年”(每4年一次 2月有29日)世纪年必须整除400才是闰年)

2000-2099年之间的闰年有25次, 背景需求: 已经制作了对称年月的数字提取,和年月日相等的年份提取 【教学类-48-01】20240205对称的“年”和“月日”(如2030 0302)-CSDN博客文章浏览阅读84次。【教学类-48-01】202402…

SpringCloud-项目引入Nacos

一、安装Nacos服务 首先,我们需要从 Nacos 的官方网站下载发布版本。下载地址:Releases alibaba/nacos GitHub 选择合适的版本并下载,解压缩得到 Nacos 的安装包。 在解压后的 Nacos 目录中,找到 bin 文件夹。 用写字板编辑…

【Effective Objective - C 2.0】——读书笔记(二)

文章目录 前言六、理解“属性”这一概念七、在对象内部尽量直接访问实例变量八、理解“对象等同性”这一概念九、以“类族模式”隐藏实现细节十、在既有类中使用关联对象存放自定义数据十一、理解objc_msgSend的作用十二、理解消息转发机制动态方法解析备援接受者完整的消息转发…