赞
踩
处理器: Intel(R) Core(TM) i5-10600K CPU @ 4.10GHz 4.10 GHz
机器内存: RAM 32.0 GB (31.9 GB 可用)
显卡 显存>12 G(可运行标准版ChatGLM-6B) 或显存>6 G(可运行INT4 量化版) , 本机使用 P40
具体安装方法参照本人上一篇文章:全网最简单5分钟Win10安装部署pytorch GPU加速
全网最简单5分钟Win10安装部署pytorch GPU加速(附gpu测试代码)--------- 不需要安装CUDA,CUDNN !!!-CSDN博客
a)Conda命令行进入到上一篇文章中安装的pytorch GPU环境,准备安装ChatGLM-6B的依赖包
b)修改requirements.txt,删除其中torch一行(咱们已经安装了pytorch GPU版),然后安装其他依赖包:pip install -r requirements.txt
修改后的requirements.txt
protobuf
transformers==4.27.1
cpm_kernels
gradio
mdtex2html
sentencepiece
accelerate
下载方法:
1 通过huggingface_hub将ChatGLM-6B预训练模型下载到本地。
a)首先安装huggingface_hub : pip install huggingface_hub
b)使用以下代码进行下载:
- from huggingface_hub import snapshot_download
- snapshot_download(repo_id="THUDM/chatglm-6b", local_dir="D:\workplace\ChatModel\chatglm2-6b")
注意:本地地址修改为你需要保存的地址。
2 百度网盘下载:
链接:https://pan.baidu.com/s/1qOkPYoQ9I2Fhciz62c_6iA?pwd=1uec
提取码:1uec
下载方法:
1 GitHub 上下载:https://github.com/THUDM/ChatGLM-6B
2 百度网盘下载 :
修改后的样例:
链接:https://pan.baidu.com/s/1BPPPuuH7I2dg1ha80DI5xw?pwd=gixa
提取码:gixa
cli_demo.py
- import os
- import platform
- import signal
- from transformers import AutoTokenizer, AutoModel
- #import readline #这行一定要注释掉,否则Windows环境运行会报错
-
- #这行修改成模型的本地存放位置
- tokenizer = AutoTokenizer.from_pretrained("D:\workplace\ChatModel\chatglm2-6b", trust_remote_code=True)
-
- #这行修改成模型的本地存放位置
- model = AutoModel.from_pretrained("D:\workplace\ChatModel\chatglm2-6b", trust_remote_code=True).cuda()
- # 多显卡支持,使用下面两行代替上面一行,将num_gpus改为你实际的显卡数量
- # from utils import load_model_on_gpus
- # model = load_model_on_gpus("THUDM/chatglm2-6b", num_gpus=2)
- model = model.eval()
-
- os_name = platform.system()
- clear_command = 'cls' if os_name == 'Windows' else 'clear'
- stop_stream = False
-
-
- def build_prompt(history):
- prompt = "欢迎使用 ChatGLM2-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序"
- for query, response in history:
- prompt += f"\n\n用户:{query}"
- prompt += f"\n\nChatGLM2-6B:{response}"
- return prompt
-
-
- def signal_handler(signal, frame):
- global stop_stream
- stop_stream = True
-
-
- def main():
- past_key_values, history = None, []
- global stop_stream
- print("欢迎使用 ChatGLM2-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序")
- while True:
- query = input("\n用户:")
- if query.strip() == "stop":
- break
- if query.strip() == "clear":
- past_key_values, history = None, []
- os.system(clear_command)
- print("欢迎使用 ChatGLM2-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序")
- continue
- print("\nChatGLM:", end="")
- current_length = 0
- for response, history, past_key_values in model.stream_chat(tokenizer, query, history=history,
- past_key_values=past_key_values,
- return_past_key_values=True):
- if stop_stream:
- stop_stream = False
- break
- else:
- print(response[current_length:], end="", flush=True)
- current_length = len(response)
- print("")
-
-
- if __name__ == "__main__":
- main()
a) import readline #这行一定要注释掉,否则Windows环境运行会报错
b) tokenizer = AutoTokenizer.from_pretrained("D:\workplace\ChatModel\chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("D:\workplace\ChatModel\chatglm2-6b", trust_remote_code=True).cuda()
#这两行修改成模型的本地存放位置
python cli_demo.py ,看到上图,表示本地运行成功。
上一篇:
【全网最简单】5分钟 Win10安装部署pytorch GPU加速(附gpu测试代码)--------- 不需要安装CUDA,CUDNN !!!-CSDN博客
下一篇:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。