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

本文介绍了如何利用InternLM和LangChain搭建知识库,包括大模型开发的局限性、RAG与Finetune方法比较、LangChain的核心模块、向量数据库构建、实战部署步骤以及WebDemo的实现。通过这些技术,开发者可以创建个性化的知识库并解决检索精度和提示性能问题。
摘要由CSDN通过智能技术生成

在这里插入图片描述

基于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要在本地打开,不然显示界面乱码;本地打开需要进行端口映射

参考

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uncle_ll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值