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.hqwc.cn/news/600341.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

书生·浦语大模型-第三节课笔记/作业

笔记 作业 原版 prompt控制节奏&#xff0c;实现类似关键词检索、主题、信息抽取等功能注意这里根据llm返回的topic (prompt: 告诉我这句话的主题&#xff0c;直接说主题不要解释)进行召回检索(CacheRetriever), 并再次让大模型判断query与返回的检索的相关程度. 如果本地检索…

【问题处理】银河麒麟操作系统实例分享,ipelbats转发端口访问ftp目录空白问题处理

1.问题环境 系统环境 物理机 网络环境 私有网络 硬件环境 处理器 arm 软件环境 操作系统版本 V10-SP1-0518-arm 内核版本 4.19.90-23.15.ky10.aarch64 2.问题描述 iptables转发端口访问ftp目录空白&#xff0c;同一个脚本在redhat7.8上正常 2023/2/27&#xff0…

Matrix Multiplication

Algorithm 2 —— Strassen’s algorithm Idea The idea behind this algorithm consists in reducing the number of multiplications at the expense of increasing the number of additions and subtractions. In short, this algorithm uses 7 multiplications and 18 add…

NatCross实现NASCAB云可云内网穿透指南

一、简介 1、NAS_CAB介绍 跨平台NAS软件,远程管理照片,影音和文件&#xff0c;无需专用设备,个人版永久免费。官网地址&#xff1a;https://www.nascab.cn/。 2、NatCross介绍 NatCross是内网穿透工具,也是免费的端口映射和DDNS动态域名解析软件。软件从2021年上线以来&…

智能照明控制系统的节能优势及其应用

【摘要】&#xff1a;通过智能照明控制系统与传统照明控制的对比&#xff0c;阐明智能照明控制系统的优势&#xff0c;基本组成、在智能建筑中的应用效果以及其实施存在的问题和前景展望。 安科瑞薛瑶瑶18701709087 【关键字】&#xff1a;智能照明控制&#xff1b;系统组成&…

MySQL卸载、安装、登入与配置

本文是基于Centos 7下的环境进行操作的 目录 查看环境 卸载 安装yum源 查看本地yum源 安装MySQL服务 密钥过期问题 验证安装是否成功 启动MySQL服务 通用方法 配置my.cnf 设置开机启动 登陆选项的认识 查看环境 查看本服务器上安装的数据库 ps ajx |grep mariadb…

避雷指南:11个常见 Kubernetes 误区详解

简介 Kubernetes 是一套功能强大的工具&#xff0c;可用于管理自动可扩展、高可用性的分布式云原生应用程序&#xff0c;但很多人都会犯一些常见错误。 在本文中&#xff0c;我们将探讨使用 Kubernetes 时最常见的一些误区&#xff0c;并提供如何避免这些误区的提示。 不设置资…

知识推理技术解析与实战

目录 一、引言二、知识推理基础知识表示方法本体论语义网络图形数据库 推理机制概述演绎推理归纳推理类比推理 实践代码示例 三、知识推理的核心技术自动推理系统规则引擎推理算法 知识图谱的运用构建知识图谱知识推理与查询 推理算法深度分析转导推理逻辑推理概率推理 实践代码…

互动技术引领纺织非遗展厅新风尚,传统工艺魅力再升级!

伴随着现代化科技技术的高速发展&#xff0c;人们愈发重视传统文化的传承&#xff0c;例如非遗文化展厅的建设&#xff0c;便是为了让更多的人了解和认识传统文化的途径之一&#xff0c;同时在这类展厅方案中运用的多媒体互动技术&#xff0c;不仅能为展厅的优化和完善提供支持…

GD32F470_US-016 模拟电压输出 双量程 模拟量 超声波测距模块 高精度

2.18 US-016电压式超声波测距传感器 US-016是市场上唯有的一款模拟量输出的超声波测距模块&#xff0c;输出的模拟电压和距离值成正比&#xff0c;可以方便的和其他系统相连&#xff0c;US-016工作稳定可靠。 US-016超声波测距模块可实现2cm~3m的非接触测距功能&#xff0c;供…

Docker容器(六)网络配置与数据卷

一、高级网络配置 1.1概述 当 Docker 启动时&#xff0c;会自动在主机上创建一个 docker0 虚拟网桥&#xff0c;实际上是 Linux 的一个 bridge&#xff0c;可以理解为一个软件交换机。它会在挂载到它的网口之间进行转发。 同时&#xff0c;Docker 随机分配一个本地未占用的私有…

【Spring Security】3.底层原理

文章目录 一、引入二、Filter1&#xff09;DelegatingFilterProxy2&#xff09;FilterChainProxy3&#xff09;SecurityFilterChain4&#xff09;Multiple SecurityFilterChain 一、引入 官方文档&#xff1a;Spring Security的底层原理 Architecture&#xff1a;整个SpringS…