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

目录
  • 参考
  • 概述
  • 部署安装
    • 环境准备
    • 原理和流程图
    • 一键启动
    • 启动WebAPI 服务
    • 启动WebUI服务
  • Docker部署
  • 知识库管理
  • 常见问题
    • 本地知识库怎么微调?回答不准确

概述

自从去年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 镜像地址可在下方领取!!
在这里插入图片描述

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层面可以考虑增加问题改写步骤(看我前两天分享),换更好的大模型,向量切分方面的优化等

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

### 部署 Langchain-Chatchat 0.3.0 ChatGLM 6B #### 安装依赖库 为了成功部署 Langchain-Chatchat 0.3.0 并运行 ChatGLM 6B 模型,需先安装必要的 Python 库。建议创建一个新的虚拟环境来管理这些依赖项。 ```bash pip install -r requirements.txt ``` 此命令会依据 `requirements.txt` 文件中的列表自动下载并配置所需的软件包[^2]。 #### 下载预训练模型 接下来要获取 ChatGLM 6B 模型权重文件。这可以通过克隆 Hugging Face 上托管的仓库完成: ```bash git clone https://huggingface.co/THUDM/chatglm2-6b-32k /your_path/chatglm2-6b ``` 上述指令将把指定路径下的存储库复制到本地机器上,其中包含了用于初始化大型语言模型所需的数据集参数设置[^3]。 #### 修改 Peft 文件夹以支持 P-Tuning 由于 FastChat 使用特定方式加载自定义调整后的模型版本,在某些情况下可能无法直接读取由其他工具生成的结果。针对这种情况,LangChain Chatachat 社区提供了详细的指导文档说明如何适配不同类型的微调方法,特别是对于不完全遵循标准接口实现的情况进行了特别处理[^4]。 具体操作涉及编辑源码内的几个关键位置,确保能够识别来自外部插件或框架所提供的特殊格式化输入。这部分工作通常需要具备一定编程基础以及对内部架构有一定了解才能顺利完成。 #### 启动服务端口监听 最后一步是在服务器端启动应用程序实例,使其可以接收客户端请求并向其返回预测结果。一般而言,开发者会选择 Flask 或者 FastAPI 这样的轻量级 Web 框架作为 HTTP 接口层,并通过 gunicorn 等 WSGI 服务器增强性能表现。 ```python from langchain_chatchat import app if __name__ == "__main__": app.run(host='0.0.0.0', port=8080, debug=True) ``` 这段简单的脚本展示了如何快速搭建起一个基于 Langchain-Chatchat 的 RESTful API 服务平台[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值