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

Chat-GLM 详细部署(GPU显存>=12GB)

建议配置: ( Windows OS 11 部署 )
CPU-i7 13700F ~ 13700KF
RAM: 16GB DDR4
GPU: RTX3080(12G)

安装 conda:

1. 下载安装 miniconda3 :
https://docs.conda.io/en/latest/miniconda.html
conda是一个包和环境管理工具,它不仅能管理包,还能隔离和管理不同python版本的环境。类似管理nodejs环境的nvm工具。

2. conda环境变量:
新建 CONDA_HOME :conda安装路径

在Path中添加 :%CONDA_HOME%  
在Path中添加 :%CONDA_HOME%\Scripts
在Path中添加 :%CONDA_HOME%\Miniconda3\Library\bin

3. 激活conda:
打开CMD执行conda init 

4. 测试conda安装是否成功:
打开CMD输入conda -V 回车后显示版本号表示Conda安装成功。

5. 更换源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

6. 问题解决:
如果创建环境时报错:

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.

找到C盘:.condarc 文件(一般是在  C:\Users\你电脑的用户名 下,没有的话全盘搜索下)
打开.condarc 文件并替换内容为:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
  conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

打开CMD输入conda clean -i 回车。

安装 CUDA与Torch:

1. 确认CUDA版本号:
在CMD中输入nvidia-smi 查询CUDA版本号。

2. 下载CUDA:
去官网下载对应的CUDA版本(CUDA Toolkit)
https://developer.nvidia.com/cuda-toolkit-archive

3. 安装CUDA:

 

4. CUDA环境变量:
一般来说安装完成后会自动添加环境变量,可以检查一下,如果没添加则需要添加一下:
CUDA_PATH
CUDA_PATH_V11_8
值为上一步选择安装位置的路径。

5. 测试CUDA安装是否成功:
打开CMD输入nvcc --version 回车显示版本号代表安装完成。

6. 安装Torch:
下载对应CUDA版本的Torch(这里用的版本是11.8)

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

用python代码测试torch是否生效,如果不生效找对应cuda版本下载torch(torch.cuda.is_available()返回false则不生效)

import torch
print(torch.__version__)
print(torch.cuda.is_available())

安装配置 ChatGLM

1. 克隆项目到本地:
如果没git需要安装git
CD到目标文件夹内执行命令:git clone https://github.com/THUDM/ChatGLM-6B.git 

2. 创建conda工程:
打开CMD将目录CD到工程内。

执行命令:conda create --name ChatGLM-6B python=3.10.10 

 激活conda工程:conda activate ChatGLM-6B 

 

3. 安装支持库
执行命令 ( 清华源 ) :

pip install pip -U
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple some-package 

这里在国内使用清华源加速

4. 启动web测试:
安装库 (清华源)

pip install streamlit -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
pip install streamlit_chat -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
pip install chardet -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

执行Demo :streamlit run web_demo2.py 输入Email。

 复制URL到浏览器则可以预览:

 模型下载完成才可以正常对话,如果报错换下VPN节点多试几次

5. API部署
首先需要安装额外的依赖 pip install fastapi uvicorn,然后运行仓库中的 api.py:

python api.py

默认部署在本地的 8000 端口,通过 POST 方法进行调用

curl -X POST "http://127.0.0.1:8000" \
     -H 'Content-Type: application/json' \
     -d '{"prompt": "你好", "history": []}'

得到的返回值为

{
  "response":"你好👋!我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。",
  "history":[["你好","你好👋!我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。"]],
  "status":200,
  "time":"2023-03-23 21:38:40"
}

6.启动Chat-GLM:

@echo off
cd /d D:\PythonProject\ChatGLM-6B
conda activate ChatGLM-6B
streamlit run web_demo2.py
pause



后续增加微调模型解决方案, 敬请期待。


http://www.kler.cn/a/7887.html

相关文章:

  • 基于java的航空机票预定管理系统
  • 项目技术栈-解决方案-web3去中心化
  • 「Mac玩转仓颉内测版12」PTA刷题篇3 - L1-003 个位数统计
  • 建筑施工特种作业人员安全生产知识试题
  • 计算机网络(3)网络拓扑和IP地址,MAC地址,端口地址详解
  • 《MYSQL45讲》kill不掉的线程
  • PMP如何备考,才能一次通过呢?
  • Twitter-高性能hash_map
  • AM62X +FPGA+AD/DA 的TSN工业网关解决方案
  • vue实现轨迹回放(很详细)
  • 最近写的怎样审核不通过
  • Android如何做出带有复杂水印的图片
  • Web基础与HTTP协议
  • Maven项目中的依赖出现版本冲突,最终发现是对Dependency Scope理解有误
  • Win11的两个实用技巧系列之找不到wifi网络的解决方法、双系统开机选择系统方法
  • 数据库系统工程师——考试分析(2023备考)
  • 【虚幻引擎】UE4 动画蓝图,动画,状态机三者之间的联系
  • UTONMOS:2023年,亚洲或将实现区块链游戏复兴
  • 了解Mysql
  • 【区块链技术开发】基于Web3.js以太坊网络上的智能合约的交互及其应用
  • GP03丨宽窄基资金管理增强策略
  • PyQt5可视化 7 饼图和柱状图实操案例 ③柱状图的实现【超详解】
  • java-replace into详解(SQL)
  • 面试Interview
  • ChatGPT指令大全(中文版)
  • 【C++】模板进阶(非类型模板参数、类模板的特化和模板的分离编译)