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

GPU部署ChatGLM3

首先,检查一下自己的电脑有没有CUDA环境,没有的话,去安装一个。我的电脑是4060显卡,买回来就自带这些环境了。没有显卡的话,也不要紧,这个懒人安装包支持CPU运行,会自动识别没有GPU,就会以CPU运行,但是非常慢,毫无意义。

------------------------------------------------------懒人一键启动 start-----------------------------------------------------------------------------------------

1、下载一键安装包,解压后放到一个不带中文和特殊字符的路径

链接:https://pan.baidu.com/s/1ishHMyGpUkVjPVQk1GBGGA 
提取码:Zh6L 

 2、直接运行脚本,就能启动成功了

3、到这里,可以不用往下看了。


但是,作为一名java程序员,怎能不使用docker部署一个。下面,是docker方式部署。

 ---------------------------------------------------------懒人一键启动end---------------------------------------------------------------------------------------------------

--------------------------------------------------------docker容器启动 start---------------------------------------------------------------------------------------------------

拉取镜像

拉取一个Nvidia官方docker镜像,免去在容器中手动安装cuda、cudnn的烦恼。

docker pull nvcr.io/nvidia/pytorch:23.05-py3

运行容器

docker run --gpus all -itd --name chatglm3 -p 81:80 -p 6006:6006 -p 8888:8888 -p 7860:7860  -p 8501:8501 -p 8000:8000 --shm-size=32gb -v D:\temp\GLM3:/data nvcr.io/nvidia/pytorch:23.05-py3

如果没有GPU,就把 --gpus all 参数去掉,--shm-size=32gb是计算机的内存,我的是32G。

D:\temp\ChatGLM3 是挂载目录,就是刚刚下载解压的安装包目录,改成你自己的目录就行。

进入容器内部

docker exec -it chatglm3 /bin/bash

进入data目录

cd /data

安装依赖

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
pip config set install.trusted-host mirrors.aliyun.com
pip install -r requirements.txt

 进入目录

cd openai_api_demo/

 下载依赖

pip install -r requirements.txt

返回上一层目录,进入ChatGLM3目录,执行启动脚本

cd ChatGLM3
nohup sh 02startApi.sh &

 02startApi.sh脚本内容为:

#!/bin/bashexport HF_ENDPOINT=https://hf-mirror.com
export HF_HOME=../huggingface
export MODEL_PATH=../../models/THUDM_chatglm3-6bcd openai_api_demopython openai_api.py

 如果运行报错,就用idea或者其他工具,转换一下格式,转成linux格式。(鼠标选中文件,就有这个选项了)

 不出意外的话,就启动成功了,使用postman等接口调用工具就可以调用接口了。

这是我的java调用代码

private static void chatglm3() {Map<String, Object> params = new HashMap<>();params.put("model", "chatglm3-6b");List<Map<String, Object>> messages = new ArrayList<>();Map<String, Object> prompt = new HashMap<>();prompt.put("role", "user");prompt.put("content", "给我讲一个笑话");messages.add(prompt);params.put("messages", messages);params.put("stream", false);params.put("max_tokens", 100);
//        params.put("temperature", 0.8);
//        params.put("top_p", 0.8);String url = "http://127.0.0.1:8000/v1/chat/completions";String result = post(url, JSONUtil.toJsonStr(params), new HashMap<>());System.out.println(result);
}

---------------------------------------------------------------docker 容器启动end------------------------------------------------------------------------

接下来,记录一下,将容器导出成镜像,并且把模型文件和代码文件一起打包到镜像中,方便以后在别的服务器上一键部署。

导出镜像命令:

docker commit [CONTAINER_ID_OR_NAME] [REPOSITORY_NAME]:[TAG]

  • [CONTAINER_ID_OR_NAME]是您的容器ID或名称。

  • [REPOSITORY_NAME]是您想要给新镜像起的名字。

  • [TAG]是镜像的标签,通常用于区分同一个镜像的不同版本,默认为latest

最终命令是:

docker commit chatglm3 chatglm3-cwp:v1.0.1

在懒人安装包解压目录下创建一个Dockerfile文件,文件内容为:

FROM chatglm3-cwp:v1.0.1MAINTAINER cwpCOPY ChatGLM3 /data
COPY models /dataENV TZ=Asia/ShanghaiEXPOSE 81
EXPOSE 8000
EXPOSE 7860
EXPOSE 8501
EXPOSE 8888
EXPOSE 6006

构建镜像

docker build -t chatglm3-gpu:1.0 .

 将镜像推送到自己的阿里云镜像仓库

阿里云镜像仓库访问地址 https://cr.console.aliyun.com/cn-hangzhou/instances

可以新建一个镜像仓库 

 

 跟着操作指南一步步做,最后推送到镜像仓库。

 以后就可以拉取自己的阿里云镜像,运行容器,一键启动ChatGLM3。参照下一篇文章,轻轻松松搭建自己的GPT了。

docker一键部署GPU版ChatGLM3-CSDN博客

http://www.lryc.cn/news/334276.html

相关文章:

  • Windows远程执行
  • AJAX —— 学习(一)
  • Activity——idea(2020以后)配置actiBPM
  • MyBatis——配置优化和分页插件
  • [蓝桥杯 2013 省 B] 翻硬币
  • [BT]BUUCTF刷题第13天(4.1)
  • 特别详细的Spring Cloud 系列教程1:服务注册中心Eureka的启动
  • Day108:代码审计-PHP模型开发篇MVC层动态调试未授权脆弱鉴权未引用错误逻辑
  • 重读Java设计模式: 桥接模式详解
  • 新规解读 | 被网信办豁免数据出境申报义务的企业,还需要做什么?
  • fakebook-攻防世界
  • mynet开源库
  • 深度挖掘商品信息,jd.item_get API助您呈现商品全面规格参数
  • A Random Walk Based Anonymous Peer-to-Peer
  • php代码执行计划任务dos实现方式和宝塔面板实现方式
  • 千万不要错过这6款能让你快速写作成长的宝藏软件…… #学习方法#AI写作
  • TypeScript系列之-理解TypeScript类型系统画图讲解
  • 制造业智能化一体式I/O模块的集成与应用案例分享
  • 《云原生安全攻防》-- 云原生应用风险分析
  • 抖音-引流私域转化模式1.0现场视频,从抖音源源不断把人加到私域,
  • 外包干了6天,技术明显进步
  • 上传应用程序到苹果应用商店的工具和要
  • vue:判断当前日期时间是否在一个日期时间区间里
  • 浏览器禁用cookie后session还能用吗?
  • C语言——顺序表
  • CentOS7安装Docker及禅道
  • 如何在社交媒体中使用增强现实来提高客户参与度?
  • Autodesk AutoCAD 2025 (macOS, Windows) - 自动计算机辅助设计软件
  • 买卖股票的最佳时机III
  • fastlio2 保存每帧的点云和每帧的里程计为单独的文件做后端回环优化和手动回环优化