云端部署ChatGLM-6B

news2024/11/17 19:34:23

大模型这里更新是挺快的,我参考的视频教程就和我这个稍微有些不一样,这距离教程发布只过去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
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash

sudo apt-get install git-lfs

在这里插入图片描述

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

在这里插入图片描述

  1. 到ChatGLM3目录下
cd ChatGLM3

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

在这里插入图片描述

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

在这里插入图片描述

  1. 拉取 Hugging Face下的模型

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

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

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

在这里插入图片描述

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

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

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文件没有放到文件夹中,直接就在根目录里面了

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

# 一些报错

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,在终端窗口内进行对话
cd basic_demo
python cli_demo.py

在这里插入图片描述

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

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

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

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

python web_demo.py

在这里插入图片描述

在这里插入图片描述

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

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

在这里插入图片描述

streamlit run web_demo2.py

在这里插入图片描述

综合 Demo

集成了以下功能

  • Chat: 对话模式,在此模式下可以与模型进行对话。
  • Tool: 工具模式,模型除了对话外,还可以通过工具进行其他操作。
  • Code Interpreter: 代码解释器模式,模型可以在一个 Jupyter 环境中执行代码并获取结果,以完成复杂任务。
  1. 新建一个 conda 环境并安装所需依赖
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. 运行
streamlit run main.py

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1200532.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux进程的认识与了解[上]

文章目录 1.何为进程?1.1对进程的认识1.2基本概念 2.OS如何管理大量进程?2.1图解2.2进程的形成 3.何为PCB?3.1对PCB的认识3.2task_ struct内容分类3.2对进程表的认识 4.查看进程4.1基础指令4.2获取某进程的PID(process id)4.3杀死进程4.4获取当前进程的父进程的ppid(parent …

王道数据结构课后代码题p40 9.给定一个带表头结点的单链表,写出算法 : 按递增次序输出单链表中各结点的数据元素并释放结点 (c语言代码实现)

本题代码如下(有注释) void delete_min(linklist* head) {while ((*head)->next ! NULL)//循环到只剩下头节点{lnode* pre *head;//pre为元素最小结点的前驱结点指针lnode* p (*head)->next;//p为工作指针lnode* q;//指向被删除的结点while (p-…

STM32 寄存器配置笔记——GPIO配置输出

一、概述 本文主要介绍GPIO 作为输出时的寄存器配置。包括时钟配置,输出模式配置。以STM32F10xxx系列为例,配置PA8、PD2端口作为输出,输出高/低电平。 二、配置流程 1)GPIO外设时钟 通过查找STM32F10xxx中文参考手册得知&#xf…

【MySQL系列】 第二章 · SQL(中)

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

Accelerate 0.24.0文档 一:极速入门

文章目录 一、概述1.1 PyTorch DDP1.2 Accelerate 分布式训练简介1.2.1 实例化Accelerator类1.2.2 将所有训练相关 PyTorch 对象传递给 prepare()方法1.2.3 启用 accelerator.backward(loss) 1.3 Accelerate 分布式评估1.4 accelerate launch 二、Accelerate 进阶2.1 notebook_…

Xshell远程登录 Linux小键盘数字输入变成字母解决办法

Xshell的设置问题,依次查看:文件-->属性-->终端-->VT模式-->初始数字键盘模式更改为:设置普通(s)

OpenGL_Learn09(摄像机)

1. 摄像机环绕观察 texture两个文件以及shader就是之前的版本 #include <glad/glad.h> #include <GLFW/glfw3.h>#include <iostream> #include "stb_image.h" #include <cmath> #include "shader.h"#include <glm/glm.hpp>…

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

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

3DMAX如何渲染室内效果图?

这可能不是最好的教程,但对于3dmax初学者来说,它具有一定的学习价值和启示意义。 任何在建筑或室内设计领域工作并需要室内或外部空间“艺术家渲染”的人都会熟悉行业巨头Autodesk发布的3ds Max。 3ds Max是此类工作的默认标准,不是因为它在其他3D程序中无法完成,而是因为它…

计算机网络课后作业2023秋

计算机网络第三版吴功宜版 课后作业 第一章作业三、计算与问答3.73.8 第二章作业三、计算与问答3.23.53.6 第三章作业三、计算与问答3.13.53.73.8 第四章作业三、计算与问答3.13.2 第五章作业三、计算与问答3.13.33.4 第一章作业 三、计算与问答 3.7 3.8 第二章作业 三、计…

Vant 移动端UI 组件自动引入

Vue项目中安装Vant # Vue 3 项目&#xff0c;安装最新版 Vant npm i vant 组件按需引入配置 Vant按需引入- - -安装&#xff1a;unplugin-vue-components 插件 unplugin-vue-components 插件可以在Vue文件中自动引入组件&#xff08;包括项目自身的组件和各种组件库中的组件&…

Leetcode—50.Pow(x,n)【中等】

2023每日刷题&#xff08;二十七&#xff09; Leetcode—50.Pow(x,n) 实现代码 double recurPow(double x, long long n) {if(n 1) {return x;}double res recurPow(x, n / 2);if(n % 2 1) {return x * res * res;} else {return res * res;} }double myPow(double x, int…

链表OJ题【环形链表】(3)

目录 环形问题的思考 ❓Q1 ❓Q2 &#x1f642;Q2 ❓Q3 ❓Q4 8.环形链表 9.环形链表Ⅱ 今天接着链表的经典问题环形问题。大家一定要自己动手多写写。&#x1f642; 快慢指针&#xff08;保持相对距离/保持相对速度&#xff09;野指针考虑为NULL的情况带环链表&#x…

推荐系统笔记--Swing模型的原理

1--Swing模型的引入 在 Item CF 召回中&#xff0c;物品的相似度是基于其受众的交集来衡量的&#xff0c;但当受众的交集局限在一个小圈子时&#xff0c;就会误将两个不相似的物品定义为相似&#xff1b; Swing 模型引入用户的重合度来判断两个用户是否属于一个小圈子&#xff…

基于鲸鱼算法优化概率神经网络PNN的分类预测 - 附代码

基于鲸鱼算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于鲸鱼算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于鲸鱼优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…

Java终端模式小尝试

Java终端模式小尝试 1、IDE中终端1.1 拉去代码 jediterm1.2 IDE调用系统终端 2、待续~~ 1、IDE中终端 终端_Intellij IDEA、Terminal emulator | pycharm Documentation JetBrains jediterm WindTerm&#xff1a;新一代开源免费的终端工具&#xff0c;GitHub星标6.6k&#xff…

基于蜉蝣算法优化概率神经网络PNN的分类预测 - 附代码

基于蜉蝣算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蜉蝣算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蜉蝣优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…

智能一体化管网水位监测仪怎么样?

城市排水管网是城市正常运行的关键环节&#xff0c;这是地上和地下通道的连接点&#xff0c;一旦出现问题便会影响城市生命线建设的工程进展。在复杂的地下管道内想要了解水位数据&#xff0c;对于政府部门来讲是一个管理难题。如果可以采取智能产品在其中发挥作用&#xff0c;…

如何使用PHPStudy本地快速搭建网站并实现远程访问

文章目录 [toc]使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点&#xff0c;测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中&#xff0c;查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2…

【Devchat 插件】创建一个GUI应用程序,使用Python进行加密和解密

VSCode 插件 DevChat——国内开源的 AI 编程&#xff01; 写在最前面DevChat是什么&#xff1f;什么是以提示为中心的软件开发 &#xff08;PCSD&#xff09;&#xff1f;为什么选择DevChat&#xff1f;功能概述情境构建添加到上下文生成提交消息提示扩展 KOL粉丝专属福利介绍D…