前言
LLM大语言模型工程化,在本地搭建一套开源的LLM,方便后续的Agent等特性的研究。
本机环境
CPU:AMD Ryzen 5 3600X 6-Core Processor
Mem:32GB
GPU:RTX 4060Ti 16G
ChatGLM3代码库下载
# 下载代码库
git clone https://github.com/THUDM/ChatGLM3.git
# 安装依赖
pip install -r requirements.txt
模型文件下载
建议从modelscope下载模型,这样就不用担心网络问题了。
模型链接如下:
chatglm3-6b · 模型库 (modelscope.cn)
git lfs install
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
修改为从本地模型文件启动
import os
import streamlit as st
import torch
from transformers import AutoModel, AutoTokenizer
# 注意
# 注意
# 注意
# 注意
# 注意 也可以通过修改环境变量MODEL_PATH来实现
MODEL_PATH = os.environ.get('MODEL_PATH', '#注意-你的本地模型文件的文件夹-注意#')
TOKENIZER_PATH = os.environ.get("TOKENIZER_PATH", MODEL_PATH)
DEVICE = 'cuda' if torch.cuda.is_available() else 'cpu'
启动模型网页版对话demo
pip install -U streamlit
可以通过以下命令启动基于 Streamlit 的网页版 demo:
# 进入下载的代码库
cd ChatGLM3
# 用streamlit启动服务
streamlit run basic_demo/web_demo2.py
网页版 demo 会运行一个 Web Server,并输出地址。在浏览器中打开输出的地址即可使用。 经测试,基于 Streamlit 的网页版 Demo 会更流畅。
streamlit启动效果:
聊天窗口效果:
GPU资源使用情况 (网页对话非常流畅)
模型加载后GPU显存使用情况,约使用14G显存。
推理过程GPU使用情况, GPU使用率约88%