大模型学习之书生·浦语大模型3——基于InternLM和LangChain搭建知识库

在这里插入图片描述

基于InternLM和LangChain搭建知识库

在这里插入图片描述

1 大模型开发范式

在这里插入图片描述

LLM的局限性

在这里插入图片描述

  • 知识受限:最新知识无法实时获取
  • 专业能力有限:有广度无深度
  • 定制化成本高:训练成本高

RAG VS Finetune

在这里插入图片描述
RAG:

  • 无需重新训练
  • 组织外挂加入知识
  • 容易受基座模型的影响
  • 问题+回答一起送入大模型,占据token长度

Finetune

  • 个性化微调:风格,领域知识
  • 知识面覆盖广:新的数据集及通用数据集按照比例混合
  • 训练成本高
  • 无法实时更新

RAG检索增强

在这里插入图片描述

2 LangChain简介

在这里插入图片描述

  • 开源
  • 通用
  • 核心模块:
    • chains
    • agent

基于LangChain搭建RAG应用

在这里插入图片描述

3 构建向量数据库

在这里插入图片描述
在这里插入图片描述

  • 加载源文件
    • 不同的文件有不同的加载方式
  • 文档分块chunk
    • 字符串长度分割
    • 重叠区间
    • 代码的话就是代码块 类等
  • 文档向量化
    • 文档embedding
    • 存入向量数据库

4 搭建知识库助手

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
限制:

  • 检索精度
  • prompt性能

5 Web Demo部署

在这里插入图片描述
在这里插入图片描述

6 动手实战环节

在这里插入图片描述

创建开发机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

新建虚拟环境

在这里插入图片描述
在这里插入图片描述

安装相关依赖

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

下载模型文件

本机有,可以先复制
在这里插入图片描述
在这里插入图片描述

  • internLM-7B
  • modelscope
  • huggfingace:sentence-transformer
  • nltk
  • punkt
  • tagger

搭建自己知识库

  • 克隆opencompass项目
    在这里插入图片描述
  • 构建向量数据库
    • 导入数据md,txt文件
    • 获取文件中的文本
    • 对文本进行分块
    • 词向量模型进行编码
    • 加载数据到向量库Chroma
    • 向量库保存到本地磁盘
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

将InternLM接入LangChain

在这里插入图片描述

构建检索问答链

在这里插入图片描述

  • 加载词向量模型
  • 加载LLM模型
  • 定义Prompt 模板
    • 不懂的要回答说不知道,缓解幻觉问题
  • 运行chain

在这里插入图片描述

  • 存储检索问答链的对象
    在这里插入图片描述
    在这里插入图片描述

  • 实例化核心功能对象

  • gradio创建聊天机器人页面

执行代码

python web_demo.py

在这里插入图片描述
自己部署,知识库为kkndme关于房价的
Ib0bN.png
Ibknm.png
Ib6Tt.png
IbmRC.png

  • 注意:demo要在本地打开,不然显示界面乱码;本地打开需要进行端口映射

参考

  • InternLM-tutorial

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

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

相关文章

2024--Django平台开发-Django知识点(六)

day06 Django知识点 今日概要: Form和ModelForm组件【使用】【源码】缓存【使用】ORM【使用】其他:ContentTypes、Admin、权限、分页、信号等 1.Form和ModelForm组件 背景:某个公司后台管理项目。 垃圾 def register(request):"&quo…

Android App打包加固后的APK无法安装问题

最近开发的一个应用要上架,正常流程打完包后去加固,由于以前一直用的是360的加固助手,这里开始也是选择用它。 使用360加固: 问题一、开始出现的问题是说应用未签名无法加固,我明明是签名后打的包,怎么会…

Linux日志服务管理

一:日志管理: 1.日志介绍: /var/log/boot.log 系统服务启动的相关信息,文本格式 2.日志的级别: 3.日志的种类及位置: 3.1系统日志: /var/log/secure:系统安全信息 /var/log/messag…

【SpringCloud】之配置中心(进阶使用)

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《SpringCloud开发之配置中心》。🎯&a…

流程控制语句(关键字break和continue的使用)、质数(素数)判断

目录 一、break和continue的说明 二、质数(素数)判断 一、break和continue的说明 此外,很多语言都有goto语句,goto语句可以随意将控制转移到程序中的任意一条语句上,然后执行它,但使程序容易出错。Java中的…

在 WinForms 应用程序中实现 FTP 文件操作及模式介绍

在 WinForms 应用程序中实现 FTP 文件操作及模式介绍 简介 在许多应用程序中,能够从远程服务器获取文件是一个非常有用的功能。本文将详细介绍如何在 Windows Forms (WinForms) 应用程序中使用 FTP 协议进行文件操作,包括连接到 FTP 服务器、列出目录、…

小程序商城搭建:快速入门指南

随着移动互联网的普及,小程序商城逐渐成为了商家们进行线上销售的重要渠道。如果你也想搭建一个小程序商城,那么本文将为你介绍如何使用乔拓云这一第三方小程序搭建平台来轻松搭建自己的小程序商城。 一、选择合适的第三方小程序搭建平台 在选择第三方小…

EI级 | Matlab实现VMD-TCN-LSTM变分模态分解结合时间卷积长短期记忆神经网络多变量光伏功率时间序列预测

EI级 | Matlab实现VMD-TCN-LSTM变分模态分解结合时间卷积长短期记忆神经网络多变量光伏功率时间序列预测 目录 EI级 | Matlab实现VMD-TCN-LSTM变分模态分解结合时间卷积长短期记忆神经网络多变量光伏功率时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.【E…

超大规模企业的经验教训:对象存储如何推动下一波托管服务的成功浪潮

在过去的几个月里,我们看到基于对象存储的超快速分析数据库的托管服务有所增加。随着企业意识到将闪电般快速的数据准备与对象存储相结合的战略优势,尤其是对于 AI 和 ML 应用程序,这些托管服务越来越受欢迎,吸引了人们的兴趣和工…

Python从入门到网络爬虫(控制语句详解)

前言 做任何事情都要遵循一定的原则。例如,到图书馆去借书,就需要有借书证,并且借书证不能过期,这两个条件缺一不可。程序设计亦是如此,需要使用流程控制实现与用户的交流,并根据用户需求决定程序“做什么…

2024年工信部AI人工智能证书“计算机视觉工程师”证书报考中!

为进一步贯彻落实中共中央印发《关于深化人才发展体制机制改革的意见》和国务院印发《关于“十四五”数字经济发展规划》等有关工作的部署求,深入实施人才强国战略和创新驱动发展战略,加强全国数字化人才队伍建设,持续推进人工智能专业人员能…

【Copilot使用】

Copilot是什么 copilot有多火,1月4日,科技巨头微软在官网上宣布将为Windows 11 PC推出Copilot键。 Copilot是微软在Windows 11中加入的AI助手,该AI助手是一个集成了在操作系统中的侧边栏工具,可以帮助用户完成各种任务。 Copilo…