当前位置: 首页 > news >正文

【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 &

运行效果截图

在这里插入图片描述

参考资料

  • 源码

相关文章:

  • 微服务day05(中) -- ES索引库操作
  • Linux下安装redis
  • FL Studio2024全能数字编曲音频工作站,打造专业电音的不二之选!
  • 专业前沿问题问答合集10-2——比特币的加密原理
  • 阿里云服务器地域怎么选择?可用区是什么?
  • 「渗透笔记」致远OA A8 status.jsp 信息泄露POC批量验证
  • iOS应用审核问题解决方案及优化方法 ✨
  • 【Linux】从零认识进程 — 中下篇
  • VUE3.0(一):vue3.0简介
  • Apipost智能Mock功能详解
  • web前端之小功能聚集、简单交互效果
  • 从零开始学习在VUE3中使用canvas(六):lineCap(线条端点样式)
  • C++简单实现哈希查找
  • TypeScript再学习(1)数据类型
  • Docker之docker compose!!!!
  • JavaScript-如何实现克隆(clone)函数
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 2017前端实习生面试总结
  • dva中组件的懒加载
  • Java到底能干嘛?
  • PHP 7 修改了什么呢 -- 2
  • React系列之 Redux 架构模式
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 京东美团研发面经
  • 日剧·日综资源集合(建议收藏)
  • 如何胜任知名企业的商业数据分析师?
  • 实现菜单下拉伸展折叠效果demo
  • 使用parted解决大于2T的磁盘分区
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • #数学建模# 线性规划问题的Matlab求解
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (0)Nginx 功能特性
  • (145)光线追踪距离场柔和阴影
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (一)Java算法:二分查找
  • (转)Android学习笔记 --- android任务栈和启动模式
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET 分布式技术比较
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .net 验证控件和javaScript的冲突问题
  • .NET的数据绑定
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • //TODO 注释的作用
  • @Builder用法
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法