云端部署ChatGLM-6B

news/2024/7/19 11:29:15 标签: 语言模型, chatgml, python, transformer, pytorch

大模型这里更新是挺快的,我参考的视频教程就和我这个稍微有些不一样,这距离教程发布只过去4天而已…

不过基本操作也差不多


AutoDL算力云:https://www.autodl.com/home

ChatGLM3:https://github.com/THUDM/ChatGLM3/tree/main

Hugging Face:https://huggingface.co/THUDM/chatglm3-6b/tree/main

视频教程:https://www.bilibili.com/video/BV1E94y1V7Lz

租用

按量计费

  1. 注册账号。新用户有免费一个月的会员,学生的话认证后每次认证有一年的会员,会员95折,能便宜一点是一点

  2. 租用一个3090的GPU,有很多地区选,多点点,找个便宜的就行

在这里插入图片描述

  1. 基础镜像里面的pytorch选最新的就行

需要注意,cuda版本不能超过当前主机最高支持的版本

在这里插入图片描述

  1. 租用完成后,在控制台页面先关机,然后选择以无卡方式启动,这个省钱,毕竟部署的时候还不需要GPU

在这里插入图片描述

  1. 使用jupyterLab打开

在这里插入图片描述

  1. 点击进入数据盘【autodl-tmp】,在数据盘打开终端

在这里插入图片描述

  1. 在终端中执行后续操作

在这里插入图片描述

部署

  1. 开启学术加速
source /etc/network_turbo

在这里插入图片描述

  1. 初始化git lfs
python">curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash

sudo apt-get install git-lfs

在这里插入图片描述

  1. 克隆github仓库
python">git clone https://github.com/THUDM/ChatGLM3

在这里插入图片描述

  1. 到ChatGLM3目录下
python">cd ChatGLM3

clear
  1. 升级pip
python">python -m pip install --upgrade pip

在这里插入图片描述

  1. 安装依赖【看见successfully就表示安装成功】
python">pip install -r requirements.txt

在这里插入图片描述

  1. 拉取 Hugging Face下的模型

根据官方的如果从 HuggingFace 下载比较慢,也可以从 ModelScope 中下载。

使用这个我也试了,确实是快一些,可以直接跳到第十步,后面几步都不需要执行了

python">git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
python">git clone https://huggingface.co/THUDM/chatglm3-6b
  1. 拉取的时候大的模型文件可能拉不下来,需要手动下载。如果【chatglm3-6b】文件夹下有以下10个文件,可以按【Ctrl+C】终止git克隆,手动安装模型权重文件

在这里插入图片描述

  1. 依次执行以下代码,下载模型权重文件

一定要在chatglm3-6b文件夹下执行

python">cd chatglm3-6b

wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/pytorch_model-00001-of-00007.bin

wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/pytorch_model-00002-of-00007.bin

wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/pytorch_model-00003-of-00007.bin

wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/pytorch_model-00004-of-00007.bin

wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/pytorch_model-00005-of-00007.bin

wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/pytorch_model-00006-of-00007.bin

wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/pytorch_model-00007-of-00007.bin
  1. 关机,重启,因为刚才是以无卡模式启动的,现在需要跑模型了,需要使用GPU。

测试

  1. 修改模型路径。打开【basic_demo】文件夹下的cli_demo.py文件,将里面的model_path改为你刚才下载Hugging Face里面的模型的路径,【“…/chatglm3-6b/”】

关于这个路径的问题,大家一定要看好你执行的这个文件相对于模型文件夹的位置关系,ChatGLM另一个git仓库有的python文件没有放到文件夹中,直接就在根目录里面了

如果路径不对,他就会报错,说你的格式不对,***之类的,这时候不要怀疑你之前没有作对,仅仅只是路径没写对

python"># 一些报错

huggingface_hub.utils._validators.HFValidationError: Repo id must use alphanumeric chars or '-', '_', '.', '--' and '..' are forbidden, '-' and '.' cannot start or end the name, max length is 96: 'chatglm3-6b/'.

OSError: ChatGLM3/chatglm3-6b is not a local folder and is not a valid model identifier listed on 'https://huggingface.co/models'
If this is a private repository, make sure to pass a token having permission to this repo with `use_auth_token` or log in with `huggingface-cli login` and pass `use_auth_token=True`.

在这里插入图片描述

  1. 运行cli_demo.py,在终端窗口内进行对话
python">cd basic_demo
python cli_demo.py

在这里插入图片描述

  1. 运行基于gradio的网页端的模型,web_demo.py

运行生成的网址是不能直接访问的,根据官方的教程,安装Windows桌面工具下载

然后就可以在本地访问gradio生成的网页

下面streamlit 生成的网页也是这样,但是streamlit生成的网址,我们只需要访问这个端口号就行,直接点击那个生成的网址即使挂代理了也打不开

python">python web_demo.py

在这里插入图片描述

在这里插入图片描述

  1. 运行基于streamlit 的网页端的模型,web_demo2.py

直接访问端口号,不用访问他生成的

在这里插入图片描述

python">streamlit run web_demo2.py

在这里插入图片描述

综合 Demo

集成了以下功能

  • Chat: 对话模式,在此模式下可以与模型进行对话。
  • Tool: 工具模式,模型除了对话外,还可以通过工具进行其他操作。
  • Code Interpreter: 代码解释器模式,模型可以在一个 Jupyter 环境中执行代码并获取结果,以完成复杂任务。
  1. 新建一个 conda 环境并安装所需依赖
python">conda create -n chatglm3-demo python=3.10

source activate

source deactivate

conda activate chatglm3-demo

pip install -r requirements.txt
  1. 使用 Code Interpreter 还需要安装 Jupyter 内核:
ipython kernel install --name chatglm3-demo --user
  1. 运行
python">streamlit run main.py

在这里插入图片描述


http://www.niftyadmin.cn/n/5174325.html

相关文章

【PTE-day07 文件上传2】

1、常见的绕过方式 (1)畸形后缀名绕过 .php、.pht、.php3、.php4、.php5、.php2、.phtml、.pHp、.html、.Htm......(2)双写过滤字符绕过 (3).htaccess文件绕过 <FilesMatch "jpg"> SetHandler application/x-httpd-php

计算机毕业设计选题推荐-个人记账理财微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

物联网AI MicroPython学习之语法 network网络配置模块

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; network介绍 模块功能&#xff1a; 用于管理Wi-Fi和以太网的网络模块参考用法&#xff1a; import network import time nic network.WLAN(network.STA_IF) nic.active(True) if not nic.isconnected():…

洛谷 NOIP 2023 模拟赛-汪了个汪-题解

简要题意 棋盘上有 n n n 行&#xff0c;第 i i i 行有 i i i 个格子。你要在格子填 1 ∼ n 1\sim n 1∼n&#xff0c;满足&#xff1a; 每行第一个数互不相同所有在行上相邻的两个数所组成的无序对互不相同每行的数互不相同 n ≤ 4000 n\le4000 n≤4000 题解 容易发现…

vue 高阶组件;高阶组件

vue 高阶组件;高阶组件 文章目录 vue 高阶组件;高阶组件1. 什么是高阶组件2. 高阶组件的作用3. 高阶组件的使用 例子1&#xff1a;创建一个简单的高阶组件例子2&#xff1a;使用element-ui的高阶组件 1. 什么是高阶组件 高阶组件是一个函数&#xff0c;传给它一个组件&#xf…

指标体系:洞察变化的原因

一、指标概述 指标体系是指根据运营目标&#xff0c;整理出可以正确和准确反映业务运营特点的多个指标&#xff0c;并根据指标间的联系形成有机组合。 指标体系业务意义极强&#xff0c;所有指标体系都是为特定的业务经营目的而设计的。指标体系的设计应服从于这种目的&#x…

No184.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

OpenMMlab导出yolov3的onnx模型并推理

手动导出 直接使用脚本 import torch from mmdet.apis import init_detector, inference_detectorconfig_file ./configs/yolo/yolov3_mobilenetv2_8xb24-ms-416-300e_coco.py checkpoint_file yolov3_mobilenetv2_mstrain-416_300e_coco_20210718_010823-f68a07b3.pth mod…