当前位置:   article > 正文

在AutoDL平台部署ChatGLM3-6B(0基础小白超详细教程)_chatglm-6b在autodl部署

chatglm-6b在autodl部署

一、注册AutoDL

AutoDL官网 注册账户好并充值
在这里插入图片描述

二、创建实例

2.1 登录AutoDL,进入算力市场,选择RTX 4090机器。

在这里插入图片描述

2.2 配置基础镜像

在这里插入图片描述

2.3. 无卡模式开机

创建成功后为了省钱先关机,然后使用无卡模式开机。
无卡模式一个小时只需要0.1元,比较适合部署环境。
在这里插入图片描述

三、部署环境

3.1 进入终端

打开jupyterLab,进入数据盘(autodl-tmp),打开终端,将ChatGLM3-6B模型下载到数据盘中。
在这里插入图片描述
在这里插入图片描述

3.2 下载模型文件

进入Hugging Face上的chatglm3-6b的模型仓库地址下载模型文件
在这里插入图片描述
安装git lfs

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
  • 1
  • 2

在这里插入图片描述

下载模型文件(模型二十多G,需慢慢等待)

注意:先设置学术资源加速

source /etc/network_turbo
  • 1
git lfs install
git clone https://huggingface.co/THUDM/chatglm3-6b
  • 1
  • 2

下载模型文件很慢,可以停止下载,此时在/autodl-tmp/chatglm3-6b/目录下载主要的模型文件
在这里插入图片描述
复制这些文件的地址,在/autodl-tmp/chatglm3-6b/目录下,使用wget下载(非常的快)
在这里插入图片描述

wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/model-00001-of-00007.safetensors
wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/model-00002-of-00007.safetensors
wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/model-00003-of-00007.safetensors
wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/model-00004-of-00007.safetensors
wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/model-00005-of-00007.safetensors
wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/model-00006-of-00007.safetensors
wget https://huggingface.co/THUDM/chatglm3-6b/resolve/main/model-00007-of-00007.safetensors

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述
模型下载完成,仔细比对不能少必要文件
在这里插入图片描述

四、ChatGLM3项目

4.1 环境安装

github项目地址

在/root下打开终端,执行

git clone https://github.com/THUDM/ChatGLM3.git
cd ChatGLM3
  • 1
  • 2

然后使用 pip 安装依赖:

pip install -r requirements.txt
  • 1

4.2 网页版对话 Demo

修改/ChatGLM3/basic_demo/web_demo_gradio.py的25行,将MODEL_PATH修改为上边下载好的本地路径
在这里插入图片描述

MODEL_PATH = os.environ.get('MODEL_PATH', r'/root/autodl-tmp/chatglm3-6b')
  • 1

设置gradio的参数,server_port=6006,然后点击控制台面的 自定义服务,就可以了。

在这里插入图片描述

demo.queue()
demo.launch(server_name="127.0.0.1", server_port=6006, inbrowser=True, share=False)
  • 1
  • 2

环境部署已完成

4.3 有卡开机

进入autodl容器实例界面,执行关机操作,然后进行有卡开机,开机后打开jupyterLab。
查看配置

nvidia-smi 
  • 1

在这里插入图片描述

VSCode连接远程开发
在这里插入图片描述

4.4 运行网页版对话demo

需要有卡模式开机,执行下边命令

cd /root/ChatGLM3/basic_demo/
python web_demo_gradio.py 
  • 1
  • 2

测试
在这里插入图片描述

4.5 综合Demo

README

首先进行有卡开机,设置环境变量

export MODEL_PATH=/root/autodl-tmp/chatglm3-6b/
  • 1

运行以下命令在本地加载模型并启动 demo:

cd /root/ChatGLM3/composite_demo/
streamlit run main.py --server.port 6006
  • 1
  • 2

设置ssh隧道:
使用SSH将实例中的端口代理到本地,具体步骤为:

  • Step.1 在实例中启动您的服务(比如您的服务监听6006端口,下面以6006端口为例)

  • Step.2 在本地电脑的终端(cmd / powershell / terminal等)中执行代理命令:

    ssh -CNg -L 6006:127.0.0.1:6006 root@123.125.240.150 -p 42151
    
    • 1

    其中root@123.125.240.150和42151分别是实例中SSH指令的访问地址与端口,请找到自己实例的ssh指令做相应替换。6006:127.0.0.1:6006是指代理实例内6006端口到本地的6006端口。

    注意:执行完这条ssh命令,没有任何日志是正常的,只要没有要求重新输入密码或错误退出
    在这里插入图片描述

  • Step.3 在本地浏览器中访问http://127.0.0.1:6006即可打开服务,注意这里的6006端口要和上述6006:127.0.0.1:6006中的端口保持一致

4.6 使用:

ChatGLM3 Demo 拥有三种模式:

  • Chat: 对话模式,在此模式下可以与模型进行对话。
  • Tool: 工具模式,模型除了对话外,还可以通过工具进行其他操作。
  • Code Interpreter: 代码解释器模式,模型可以在一个 Jupyter 环境中执行代码并获取结果,以完成复杂任务。

对话模式:

对话模式下,用户可以直接在侧边栏修改 top_p, temperature, System Prompt 等参数来调整模型的行为。例如
在这里插入图片描述

工具模式:
可以通过在tool_registry.py中注册新的工具来增强模型的能力。只需要使用 @register_tool 装饰函数即可完成注册。对于工具声明,函数名称即为工具的名称,函数 docstring 即为工具的说明;对于工具的参数,使用 Annotated[typ: type, description: str, required: bool] 标注参数的类型、描述和是否必须。

例如,get_weather 工具的注册如下:

@register_tool
def get_weather(
    city_name: Annotated[str, 'The name of the city to be queried', True],
) -> str:
    """
    Get the weather for `city_name` in the following week
    """
    ...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述
此外,你也可以在页面中通过 Manual mode 进入手动模式,在这一模式下你可以通过 YAML 来直接指定工具列表,但你需要手动将工具的输出反馈给模型。

代码解释器模式:
由于拥有代码执行环境,此模式下的模型能够执行更为复杂的任务,例如绘制图表、执行符号运算等等。模型会根据对任务完成情况的理解自动地连续执行多个代码块,直到任务完成。因此,在这一模式下,你只需要指明希望模型执行的任务即可。

例如,我们可以让 ChatGLM3 画一个爱心:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/251697
推荐阅读
相关标签
  

闽ICP备14008679号