ChatGLM2-6b本地部署

ChatGLM-6B是基于GLM架构的开源对话模型,支持中英文,拥有62亿参数。用户可通过HuggingFace或百度网盘下载模型,使用transformers进行加载和运行。对于GPU内存有限的用户,模型可进行量化处理以适应资源。提供了多种使用方式,包括直接运行、web演示和streamlit应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

chatglm2-6m模型
git 地址 https://github.com/THUDM/ChatGLM2-6B
模型百度网盘地址:链接:https://pan.baidu.com/s/1-LFcPB0H23RSpTKOECsjxw?pwd=5e3d
提取码:5e3d

1 模型简介

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。

chatglm对显存的要求最低为6GB
显存要求

2 模型使用

2.1 预训练准备:

  • 模型加载:使用transformers 自动加载模型,网速限制,加载比较慢
    本地下载模型,① Hugging Face Hub 网址:https://huggingface.co/THUDM/chatglm2-6b/tree/main
    ② 清华镜像源下载模型:地址:https://cloud.tsinghua.edu.cn/d/674208019e314311ab5c/
    ③ 本人百度网盘整理: 链接:https://pan.baidu.com/s/16VwlyCrLlpbEsNP0oPh2xg?pwd=0982
    提取码:0982

2.2 代码下载及环境安装

  • 1 代码下载
    ① 使用git : git clone https://github.com/THUDM/ChatGLM2-6B
    ②直接下载压缩包,在上面网址直接download zip
  • 2 环境安装
    ① 安装conda虚拟环境(可选项)conda create -n chatglm python=3.7
    ② 安装依赖包,进入ChatGLM2-6B目录,pip install -r requirements.txt

2.3 模型使用

  • 模型加载
    根据自己的显卡内存,修改模型加载项,如下,由于我的电脑是12G显存,使用原始的模型,内存不够,因此添加了.quantize(8)
    model_path,为上面下载的预训练好的模型(可以使用百度网盘分享的)
model_path=r"E:\download\chatglm2-6b"
model = AutoModel.from_pretrained(model_path, trust_remote_code=True).quantize(8).cuda()
  • 模型运行
    方式一 :自建测试文件
from transformers import AutoTokenizer, AutoModel

# model_path=r"E:\download\chatglm2-6b-int4"
model_path=r"E:\download\chatglm2-6b"

tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
# model = AutoModel.from_pretrained(model_path, trust_remote_code=True, device='cuda')
# 按需修改,目前只支持 4/8 bit 量化
model = AutoModel.from_pretrained(model_path, trust_remote_code=True).quantize(8).cuda()
# model = AutoModel.from_pretrained(model_path,trust_remote_code=True).cuda()
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)

response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
print(response)

方式二 :
使用web_demo.py
直接运行即可
方式三:使用streamlit
需要先找到streamlit所在文件,再执行以下命令

D:\pythonapp\anacondas\envs\chatglm\Scripts\streamlit  run web_demo2.py

3 模型效果:

在这里插入图片描述
鸡兔同笼问题
在这里插入图片描述

<think>嗯,用户想了解如何在本地部署ChatGLM2-6B模型。我需要先回顾一下之前提供的引用内容,看看有没有相关信息。引用[1]提到了ChatGLM3-6B的部署,包括使用Git LFS克隆模型,虽然用户问的是ChatGLM2-6B,但步骤可能类似。引用[2]提到后续会更新微调等内容,可能对用户也有帮助。引用[3]中的转换脚本可能适用于不同版本的模型,比如将模型转换为特定格式。引用[4]解决了Python模块缺失的问题,可能在部署过程中遇到类似错误需要处理。 首先,我需要确认ChatGLM2-6B和ChatGLM3-6B的部署步骤是否相似。根据经验,Hugging Face的模型通常使用类似的流程,即通过git lfs下载模型文件,然后加载。但需要查看官方文档是否有特别说明。另外,用户可能遇到环境配置问题,比如Python依赖项、Git LFS安装等。需要分步骤说明,确保用户能逐步操作。 还要考虑用户的操作系统,引用中提到的是CentOS7.9,但用户可能使用其他系统,比如Ubuntu或者Windows。不过本地部署通常建议在Linux环境下进行,所以步骤可能以Linux为准。需要提醒用户注意系统兼容性。 另外,模型下载可能遇到网络问题,引用[1]提到连接不稳定,建议使用方法二,但方法二的具体内容没有说明,可能需要补充替代下载方式,比如手动下载或使用镜像。 可能还需要提到Python环境配置,使用conda或者venv创建虚拟环境,安装必要的库如torch、transformers等。引用[3]中的convert.py脚本可能需要特定参数,用户需要根据实际情况调整路径。 最后,用户可能遇到的常见错误,如ModuleNotFoundError,引用[4]中的chardet问题,需要提醒安装相关包。可能还有其他依赖项需要安装,比如requests、urllib3等。 总结步骤应该是:环境准备→模型下载→依赖安装→加载模型→验证运行。每个步骤详细说明,并给出代码示例。同时,生成相关问题帮助用户深入理解,比如性能优化、量化部署、微调方法等。</think>### ChatGLM2-6B本地部署分步指南 #### 一、环境准备 1. 操作系统建议使用Linux(如CentOS7.9/Ubuntu18.04+) 2. 安装Python3.8+环境(推荐使用Anaconda管理) ```bash conda create -n chatglm python=3.8 conda activate chatglm ``` 3. 安装基础依赖 ```bash pip install torch==1.13.1 transformers==4.33.1 icetk ``` #### 二、模型下载 通过Hugging Face Hub获取模型[^1]: ```bash git lfs install git clone https://huggingface.co/THUDM/chatglm2-6b ``` *若网络不稳定,可尝试通过镜像源下载或手动下载模型文件到本地目录* #### 三、模型加载 创建Python脚本加载模型: ```python from transformers import AutoTokenizer, AutoModel model_path = "./chatglm2-6b" tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True) model = AutoModel.from_pretrained(model_path, trust_remote_code=True).half().cuda() response, history = model.chat(tokenizer, "你好", history=[]) print(response) ``` #### 四、常见问题解决 1. **模块缺失错误**:如遇`ModuleNotFoundError`,根据提示安装对应模块[^4] ```bash pip install chardet ``` 2. **显存不足**:可尝试量化版本(如int4)或CPU部署 3. **模型转换**:使用官方转换脚本调整模型格式[^3] #### 五、部署验证 运行交互式测试: ```python model = model.eval() while True: query = input("\n用户输入:") response, history = model.chat(tokenizer, query, history=history) print("ChatGLM2-6B:", response) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值