AI-基于Langchain-Chatchat和chatglm3-6b部署私有本地知识库

2024-01-21

参考

手把手教你搭建本地知识库问答AI机器人
LangChain-Chatchat:基于LangChain和ChatGLM2-6B构建本地离线私有化知识库
在家庭私有云上部署体验语言模型chatglm3-6b,打造私人助理

概述

自从去年GPT模型火爆以来,降低了很多个人和企业进入人工智能领域的门槛,对于大模型尤其是开源的大模型国内应该比较受关注和期待,毕竟高额的成本也能将不少人阻挡在门外,其次,大家都希望在产品中集成LLM的能力,结合业务来落地智能化应用,提升产品的竞争力,最直接的应用就是构建知识库。

下面汇总了一下之前介绍的有关构建知识库相关的文章和视频,包含了开源和闭源多种不同的解决方案,从使用情况来看,因为都是开源产品,所以在架构和功能完整性上可能都不够全面,因为一直在持续的迭代过程。

如果是站在一个中小企业的角度,去选型一款比较符合企业构建本地知识库需求的产品来评估,从以下介绍的开源产品目前的实现效果和未来规划目标来看,个人觉得Quivr从设计上来讲更加符合应用需求,前提是增加企业已有文档库、数据库纳入知识库的能力,扩展Danswer提高的功能,完善并丰富对于开源或者闭源模型的支持(目前暂时支持较弱)尤其是对于中文支持不错的国产模型比如ChatGLM2等,另外一种方案就是今天介绍的LangChain-Chatchat刚好可以与Quivr互补,其对于模型的支持很丰富,但对于业务端的属性支持较弱,只支持单个用户单个知识库,不能建立多个知识库通过权限来隔离。

部署安装

环境准备

我使用的硬件和模型信息:

显卡:一块英伟达的A6000

LLM:开源的chatglm3-6b

向量模型:开源的jina-embedding-l-en-v1

向量数据库:开源的milvus

原理和流程图

在这里插入图片描述

一键启动

一键启动聊天机器人
安装完成,输入以下命令启动

$ python startup.py -a

看到下面画面后,表示正常启动了
在这里插入图片描述

启动WebAPI 服务

在线调用API服务的情况下,直接执执行 server/api.py 脚本启动 API 服务;

python server/api.py

启动 API 服务后,可访问 localhost:7861 或 {API 所在服务器 IP}:7861 FastAPI 自动生成的 docs 进行接口查看与测试。

FastAPI docs 界面
在这里插入图片描述

启动WebUI服务

在浏览器输入聊天机器人地址:http://127.0.0.1:8561
在这里插入图片描述

Docker部署

如果想快速部署 LangChain-Chatchat 产品来体验,可以选择Docker一键部署的方式,比较简单,只需要先安装Docker 容器,在Unbuntu环境中如何安装 Docker & Docker Compose,可以参考文章 《Quivr 基于GPT和开源LLMs构建本地知识库 (更新篇)》中的3.2节。这里不过多赘述。 Windows安装Docker更简单。

Docker镜像使用的版本一般会稍微滞后一些,如果想快速体验最新的版本按前面开发模式部署会更合适一点。

LangChain-Chatchat项目使用的 Docker 镜像地址是:

http://registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0

docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0
  • 该版本镜像大小 33.9GB,使用 v0.2.0,以 nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04 为基础镜像
  • 该版本内置一个 embedding 模型:m3e-large,内置 chatglm2-6b-32k
  • 该版本目标为方便一键部署使用,请确保您已经在Linux发行版上安装了NVIDIA驱动程序
  • 请注意,您不需要在主机系统上安装CUDA工具包,但需要安装 NVIDIA Driver 以及 NVIDIA Container Toolkit,请参考安装指南
  • 首次拉取和启动均需要一定时间,首次启动时请参照下图使用 docker logs -f 查看日志
  • 如遇到启动过程卡在 Waiting… 步骤,建议使用 docker exec -it bash 进入 /logs/ 目录查看对应阶段日志

知识库管理

切换到知识库管理后,可以查看和删除已创建知识库、新增知识库,也可以对知识库进行文件增减。
在这里插入图片描述

新建知识库:点击“新建知识库”,输入知识库名称和简介,选择向量数据库和模型,再点击新建即可。

在这里插入图片描述

上传文件到知识库:选择已创建知识库,选择上传文件,点击“添加文件到知识库”

在这里插入图片描述

创建好知识库后,可以切换菜单到“对话”,选择对话模式为“知识库问答”,并选择要对话的知识库,即可开启和特定知识库聊天。

常见问题

本地知识库怎么微调?回答不准确

知识库不用微调,不准确需要分析定位原因,是数据本身问题还是ai问题,ai层面可以考虑增加问题改写步骤(看我前两天分享),换更好的大模型,向量切分方面的优化等

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AI-基于Langchain-Chatchat和chatglm3-6b部署私有本地知识库 的相关文章

随机推荐

  • SpringBoot中整合MybatisPlus快速实现Mysql增删改查和条件构造器

    场景 Mybatis Plus 简称MP 是一个Mybatis的增强工具 只是在Mybatis的基础上做了增强却不做改变 MyBatis Plus支持所有Mybatis原生的特性 所以引入Mybatis Plus不会对现有的Mybatis构
  • Kubernetes (十三) 存储——持久卷-动静态分配

    一 简介 二 NFS持久化存储步骤 静态分配 1 集群外主机用上次nfsdata共享目录中创建用来测试的pv 1 3 目录 用来对三个静态pv 2 创建pv的应用文件 vim pv yaml apiVersion v1 kind Persi
  • Hutool改变我们的coding方式(二)

    Hutool改变我们的coding方式 Hutool 简介 Hutool如何改变我们的coding方式 文档 安装 Maven
  • 像素高低:影响照片质量、分辨率与细节表现的奥秘

    在数字摄影时代 像素成为了衡量照片质量的重要标准之一 那么 什么是像素 像素的高低又如何影响照片的质量 分辨率和细节表现呢 本文将为您揭开这个奥秘 首先 我们来了解一下像素的基本概念 像素 Pixel 是组成数字图像的基本单元 通常由字母
  • 哪里有视频压缩软件免费版在线使用?轻松压缩视频大小

    作为一个文件管理员 我常常需要处理大量的视频文件 有时候 视频文件过大给传输 存储带来了诸多不便 遇到这种情况 很多人就会选择使用视频压缩软件来减小文件大小 不过一些小伙伴不清楚视频压缩软件app 电脑软件 网页有哪些 接下来我们将从功能
  • AI帮助终结全球饥饿问题

    全球饥饿问题是牵动人心的头等大事 5月28日是 世界饥饿日 这一问题更值得关注 让人人都能吃饱的想法不仅令人向往 而且很快就会变成现实 与大多数新事物引进一样 对于在控制世界粮食供应这样复杂的任务中AI究竟应该发挥多大的作用 人们还踟蹰不前
  • 程序员找工作难!拿到外包公司的 offer 我应该去么?

    引言 前一阵子有一个帖子引起了非常广泛的讨论 描述的就是一个公司的外包工作人员 加班的时候因为吃了公司给员工准备的零食 被公司的HR当场批评 这个帖子一发出来 让现在测试行业日益新增的外包公司备受关注 那么外包公司和非外包公司有什么样的不一
  • SpringBoot+MybatisPlus+dynamic-datasources实现连接Postgresql和mysql多数据源

    场景 dynamic datasource spring boot starter实现动态数据源Mysql和Sqlserver dynamic datasource spring boot starter实现动态数据源Mysql和Sqlse
  • SpringBoot中整合ElasticSearch实现增删改查等操作

    场景 SpringBoot中整合ElasticSearch快速入门以及踩坑记录 https blog csdn net BADAO LIUMANG QIZHI article details 135599698 在上面进行集成的基础上 实现
  • 高精度磁导航传感器MGS系列RS232|RS485|CANBUS通讯连线方法

    高精度磁导航传感器MGS系列 包含 CNS MGS 080N CNS MGS 160N等 具有1mm的检测精度 特别适应于 精度磁条导航 利 检测磁场相对位置来进 AGV的辅助定位对接 获得更 的导航 定位 驻 精度 MGS系列磁导航传感器
  • 给文件夹添加备注,保姆版?

    文件夹里的文件太多 太乱怎么办 这么办 怎么做 3 1 如果没有备注这一栏 鼠标右键这里 将备注勾选 3 2 文件夹顶部 查看 选项 3 3 查看 不勾选 隐藏受保护系统文件 显示隐藏文件 文件夹 点击应用 确认 3 4 选择要备注的文件夹
  • 有效降低信号串扰的PCB设计原则

    降低信号串扰的一些PCB设计建议 1 对于传输线 保持相邻信号线之间的间距至少为两倍信号线宽 2 尽量避免信号跨越返回路径中的不连续点或者空隙 3 如果必须在返回路径中跨越空隙 则尽量使用差分线 4 电容器不是一种低阻抗互连结构 其高频阻抗
  • 有机小分子化合物的核磁H谱图分析教程-科学指南针

    1 核磁分析的原理 核磁共振波谱法 Nuclear Magnetic Resonance Spectroscopy NMR NMR是研究原子核对射频辐射 Radio frequency Radiation 的吸收 它是对各种有机和无机物的成
  • 国外拨号VPS指南:开启你的全球网络之旅

    在当今数字化时代 互联网已经成为了我们生活的一部分 而要在全球范围内畅通无阻地访问互联网 拥有一个可靠的国外拨号VPS是非常重要的 无论您是为了工作 学习还是娱乐 国外拨号VPS都可以为您提供更广泛的网络体验 本文将为您提供国外拨号VPS的
  • (2024最新整理)Java最全八股文及答案!

    Java的特点 Java是一门面向对象的编程语言 面向对象和面向过程的区别参考下一个问题 Java具有平台独立性和移植性 Java有一句口号 Write once run anywhere 一次编写 到处运行 这也是Java的魅力所在 而实
  • 短视频时代:影响播放量的秘密与破解之道

    在当下这个信息爆炸的时代 短视频已经成为我们日常生活的一部分 无论是刷朋友圈 看新闻还是消磨时光 短视频都是我们的首选 正因为如此 许多自媒体人和内容创作者纷纷投身到这片热土 希望通过短视频实现自己的价值 然而 许多人在创作过程中都会遇到一
  • 你知道修图软件手机端的哪些比较好用吗?分享我的爱用工具

    你是否经常在朋友圈看到朋友晒出的照片 美得如同画中景 让人惊叹不已 你是否也曾羡慕过那些轻松将普通照片变成艺术大片的摄影高手 其实 他们背后的 魔法 大多都来自于使用p图软件给图片进行美化 今天 就让我们一起来探讨一下 p图软件哪个好用免费
  • 史上最全Java面试八股文(带全部答案)2024年最新版

    今天要谈的主题是关于求职 求职是在每个技术人员的生涯中都要经历多次 对于我们大部分人而言 在进入自己心仪的公司之前少不了准备工作 有一份全面细致 面试题 将帮助我们减少许多麻烦 在跳槽季来临之前 特地做这个系列的文章 一方面帮助自己巩固下基
  • CIO必备技能,手把手教你做好企业信息化规划

    很多公司在做信息系统实施的时候 我都会要求他们先做一件事 顶层设计 用大白话说就是IT规划或者信息化规划 那么到底什么是信息化规划 中小企业适不适合去做信息化规划 该怎么做 由谁去做 本着说人话 不废话的原则 这篇给大家分享关于企业信息化建
  • AI-基于Langchain-Chatchat和chatglm3-6b部署私有本地知识库

    目录 参考 概述 部署安装 环境准备 原理和流程图 一键启动 启动WebAPI 服务 启动WebUI服务 Docker部署