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

2024-03-23 20:04

本文主要是介绍【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 &

运行效果截图

在这里插入图片描述

参考资料

  • 源码

这篇关于【Langchain-Chatchat】部署ChatGLM3-6B-32K教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/839385

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署