当前位置:   article > 正文

【全网最简单】5分钟 基于Win10 搭建本地ChatGLM-6B对话大模型_win10 可以使用chatgpt吗

win10 可以使用chatgpt吗
1 硬件环境

处理器:    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 

2 安装pytorch gpu版

具体安装方法参照本人上一篇文章:全网最简单5分钟Win10安装部署pytorch GPU加速

全网最简单5分钟Win10安装部署pytorch GPU加速(附gpu测试代码)--------- 不需要安装CUDA,CUDNN !!!-CSDN博客

3 pip安装依赖包

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

4 下载ChatGLM-6B预训练模型数据

下载方法:

1 通过huggingface_hub将ChatGLM-6B预训练模型下载到本地。

a)首先安装huggingface_hub : pip install huggingface_hub

b)使用以下代码进行下载:

  1. from huggingface_hub import snapshot_download
  2. 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

5 下载ChatGLM-6B模型使用样例代码

下载方法:

1 GitHub 上下载:https://github.com/THUDM/ChatGLM-6B

2 百度网盘下载 :

修改后的样例:

链接:https://pan.baidu.com/s/1BPPPuuH7I2dg1ha80DI5xw?pwd=gixa 
提取码:gixa

6 修改样例代码:

cli_demo.py

  1. import os
  2. import platform
  3. import signal
  4. from transformers import AutoTokenizer, AutoModel
  5. #import readline #这行一定要注释掉,否则Windows环境运行会报错
  6. #这行修改成模型的本地存放位置
  7. tokenizer = AutoTokenizer.from_pretrained("D:\workplace\ChatModel\chatglm2-6b", trust_remote_code=True)
  8. #这行修改成模型的本地存放位置
  9. model = AutoModel.from_pretrained("D:\workplace\ChatModel\chatglm2-6b", trust_remote_code=True).cuda()
  10. # 多显卡支持,使用下面两行代替上面一行,将num_gpus改为你实际的显卡数量
  11. # from utils import load_model_on_gpus
  12. # model = load_model_on_gpus("THUDM/chatglm2-6b", num_gpus=2)
  13. model = model.eval()
  14. os_name = platform.system()
  15. clear_command = 'cls' if os_name == 'Windows' else 'clear'
  16. stop_stream = False
  17. def build_prompt(history):
  18. prompt = "欢迎使用 ChatGLM2-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序"
  19. for query, response in history:
  20. prompt += f"\n\n用户:{query}"
  21. prompt += f"\n\nChatGLM2-6B:{response}"
  22. return prompt
  23. def signal_handler(signal, frame):
  24. global stop_stream
  25. stop_stream = True
  26. def main():
  27. past_key_values, history = None, []
  28. global stop_stream
  29. print("欢迎使用 ChatGLM2-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序")
  30. while True:
  31. query = input("\n用户:")
  32. if query.strip() == "stop":
  33. break
  34. if query.strip() == "clear":
  35. past_key_values, history = None, []
  36. os.system(clear_command)
  37. print("欢迎使用 ChatGLM2-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序")
  38. continue
  39. print("\nChatGLM:", end="")
  40. current_length = 0
  41. for response, history, past_key_values in model.stream_chat(tokenizer, query, history=history,
  42. past_key_values=past_key_values,
  43. return_past_key_values=True):
  44. if stop_stream:
  45. stop_stream = False
  46. break
  47. else:
  48. print(response[current_length:], end="", flush=True)
  49. current_length = len(response)
  50. print("")
  51. if __name__ == "__main__":
  52. 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()

#这两行修改成模型的本地存放位置

7 运行cli_demo.py

python cli_demo.py ,看到上图,表示本地运行成功。

8 尽情享受与ChatGLM对话

上一篇:

【全网最简单】5分钟 Win10安装部署pytorch GPU加速(附gpu测试代码)--------- 不需要安装CUDA,CUDNN !!!-CSDN博客

下一篇:

【全网最简单】 构建自己的大模型网站,在Web中运行清华对话大模型ChatGlm-6B-CSDN博客

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

闽ICP备14008679号