【Langchain-Chatchat】部署ChatGLM3-6B-32K教程

介绍

Langchain-Chatchat这个框架可以帮助我们更容易的部署大语言模型,之前也写过ChatGLM传统的部署教程,有兴趣的可以参考

  • 【ChatGLM3】第三代大语言模型多GPU部署指南
  • 【ChatGLM2-6B】从0到1部署GPU版本

借助Langchain-Chatchat框架,可以用更少的配置,帮我们做了大量的细节,并且还支持知识库Agent等功能,下面将介绍如何使用docker方式和源码方式部署。

使用docker方式部署

docker run -d --name chatchat --gpus all -p 18501:8501 registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.7

使用源码方式部署

# 拉取仓库
git clone https://github.com/chatchat-space/Langchain-Chatchat.git

# 进入目录
cd Langchain-Chatchat

# 创建虚拟环境
conda create -n chatchat python==3.11
source activate chatchat

# 安装全部依赖
pip install -r requirements.txt 
pip install -r requirements_api.txt
pip install -r requirements_webui.txt  

# 默认依赖包括基本运行环境(FAISS向量库)。如果要使用 milvus/pg_vector 等向量库,请将 requirements.txt 中相应依赖取消注释再安装。

初始化知识库和配置文件

按照下列方式初始化自己的知识库和简单的复制配置文件

python copy_config_example.py
python init_database.py --recreate-vs

根据需要修改配置

以下列出需要修改的配置文件中的配置参数,根据参数名在配置文件在搜索

  • 修改模型相关配置参数configs/model_config.py.example
    • LLM_MODELS
    • MAX_TOKENS
    • 模型路径(根据自己使用的模型找到对应的路径进行修改):
      • MODEL_PATH.embed_model.bge-large-zh-v1.5
      • MODEL_PATH.llm_model.chatglm3-6b-32k
      • VLLM_MODEL_DICT.chatglm3-6b-32k
  • 修改服务启动相关配置参数configs/server_config.py.example
    • 服务启动端口:
      • web服务端口: WEBUI_SERVER.port
      • API服务端口: API_SERVER.port
      • FSCHAT_MODEL_WORKERS.default.gpus
      • FSCHAT_MODEL_WORKERS.default.num_gpus

一键启动

按照以下命令启动项目

python startup.py -a

编写启动脚本

新建start.sh,内容如下

source activate chatchat

>nohup.out
nohup python startup.py -a &

运行效果截图

在这里插入图片描述

参考资料

  • 源码

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

入门linux之Ubuntu学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1、介绍Ubuntu2、虚拟机目录解析3、常用指令ls:罗列当前目录文件信息对ls -l 的结果解析1.第一个字符2.每三个字符(第一个字符后&#x…

新店开通后要做什么?一定要先做这几个设置,不然会影响店铺流量

大家好,我是电商花花。 新手做店如果没有一个完整的做店思路,很容易迷茫,没有方向,没有步骤,做完上一步不知道下一步该去干嘛。 今天给大家讲一下在开店后一定要做的几项基础搭建。 1、绑定官方账户 开店后在店铺后…

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i 运行测试

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i 运行测试 1 Prerequisites1.1 C11 or C0x Compiler1.2 Pangolin1.3 OpenCV1.4 Eigen3 2 安装 Intel RealSense™ SDK 2.02.1 测试设备2.2 编译源码安装 3 编译 ORB-SLAM34 使用 D435i 运行 ORB-SLAM34.1 运行4.2 运…

【Linux】环境变量常见指令操作&基本实验(入门必看!)

前言 大家好吖,欢迎来到 YY 滴Linux系列 ,热烈欢迎! 本章主要内容面向接触过Linux的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的《…

如何用联合(共用体)union验证系统大小端

一:思路 由联合体的特点,可知上图,char c 和 int i 共用四个字节,假设是小端,则由左到右是低地址到高地址,四个字节的内容如图所示01 00 00 00 代码展示: 如果第一个字节是1,则证明…

【前端】Web API

1.Web API 简介 JS分为三大部分: ESCMScript:基础语法部分DOM API:操作页面结构BOM API:操作浏览器 Web API包含 DOM BOM 2.DOM基本概念 DOM全称 Document Object Mod…

Jenkins中支持maven构建遇到仓库报错问题

目的 Jenkins中支持maven构建(Jenkins使用docker安装) 问题 1.构建一个maven项目 2.执行报错 /var/lib/jenkins/local_maven_repo/com/sx/root/1.0.4/root-1.0.4.pom.part.lock (No such file or directory) Failed to transfer Could not transfer artifact co…

后端系统开发之——功能完善

原文地址:https://blog.yiming1234.cn/?p830 下面是正文内容: 前言 通过SpringBoot开发用户模块的部分也就差不多要结束了,这一片文章就主要提一些在系统开发中需要注意到的细节部分和功能,也就是剩余的部分。 但是这个专栏只介…

监控系统Prometheus--入门

文章目录 Prometheus特点易于管理监控服务的内部运行状态强大的数据模型强大的查询语言PromQL高效可扩展易于集成可视化开放性 Prometheus架构Prometheus 生态圈组件架构理解 Prometheus的安装安装Prometheus Server上传安装包解压安装包修改配置文件 prometheus.yml 安装Pushg…

linux下docker容器的使用

1、根据已有镜像images创建容器 1.1、查看镜像 如果是接手的别人的项目,需要从以往的images镜像中创建新容器,使用命令查看当前机器上的docker镜像: docker images1.2、创建容器 使用docker run 根据images镜像名创建容器,命令…

查看Scala类的方法

文章目录 一、概述如何查看Scala类的方法二、使用Scala文档查看类的方法三、使用反射机制查看类的方法 一、概述如何查看Scala类的方法 本文介绍了在Scala中查看Int类方法的两种方法:使用Scala标准库文档和使用反射机制。通过Scala标准库文档,您可以方便…

[Netty实践] 请求响应同步实现

目录 一、介绍 二、依赖引入 三、公共部分实现 四、server端实现 五、client端实现 六、测试 一、介绍 本片文章将实现请求响应同步,什么是请求响应同步呢?就是当我们发起一个请求时,希望能够在一定时间内同步(线程阻塞&am…

操作系统面经-用户态和内核态

字节实习生带你面试,后台私信可以获得面试必过大法!! 根据进程访问资源的特点,我们可以把进程在系统上的运行分为两个级别: 用户态(User Mode) : 用户态运行的进程可以直接读取用户程序的数据,拥有较低的…

启动Vue-demo时引发的一系列问题—解决办法

目录 1.初始遇到的问题:输入npm run dev 1.治标的解决方法 2.治本的解决方法 第一步:检查是否安装了cnpm 第二步:手动找到cnpm目录 第三步:配置系统环境变量 第四步:查看是否安装成功 1.初始遇到的问题&#xf…

JavaSE:类与对象

目录 一、前言 二、类与对象的介绍 1.类的定义格式 三、类的实例化 1.类的实例化介绍 2.成员初始化 3.类中方法的实现 四、封装 1.private实现封装 2.getter和setter方法 五、构造方法的使用 1.构造方法的介绍 2.构造方法的特性 六、this引用 1.this的介绍 2.th…

LeetCode---126双周赛

题目列表 3079. 求出加密整数的和 3080. 执行操作标记数组中的元素 3081. 替换字符串中的问号使分数最小 3082. 求出所有子序列的能量和 一、求出加密整数的和 按照题目要求,直接模拟即可,代码如下 class Solution { public:int sumOfEncryptedInt…

Oracle Data Guard常用命令

--查询数据库角色和保护模式 select database_role,switchover_status from v$database; --切换备库为主库(切换后,主库为mount状态) --TO PRIMARY alter database commit to switchover to primary; --SESSIONS ACTIVE alter database comm…

如何保障消息一定能发送到RabbitMQ?

我们知道,RabbitMQ的消息最终是存储在Queue上的,而在Queue之前还要经过Exchange,那么这个过程中就有两个地方可能导致消息丢失。第一个是Producer到Exchange的过程,第二个是Exchange到Queue的过程。 为了解决这个问题&#xff0c…

大学期末考试搜题软件?这4款足够解决问题 #知识分享#笔记#职场发展

当代大学生面临着繁重的学业压力和海量的知识点,如何高效地进行学习和搜题成了他们关注的焦点。幸运的是,随着科技的不断进步,我们有越来越多的日常搜题和学习软件可以帮助我们更好地应对这些挑战。在本文中,我将为大家介绍10款备…

皓学IT:WEB06_ EL表达式JSTL标签库

一、EL表达式 1.1.特点 是一个由java开发的工具包 用于从特定域对象中读取并写入到响应体开发任务,不能向域对象中写入。 EL工具包自动存在Tomcat的lib中(el-api.jar),开发是可以直接使用,无需其他额外的包。 标准…
最新文章