ChatGLM2-6B在windows下的部署

2023-08-10 ChatGLM2-6B在windows下的部署

一、部署环境

1、Windows 10 专业版, 64位,版本号:22H2,内存:32GB

2、已安装CUDA11.3

3、已安装Anaconda3 64bit版本

4、有显卡NVIDIA GeForce RTX 3060 Laptop GPU

二、从huggingface下载chatglm2-6b模型文件

1、进入Anaconda Powershell Prompt

2、创建保存chatglm2-6b的huggingface模型的公共目录。之所以创建一个公共目录,是因为这个模型文件是可以被各种应用共用的。注意创建目录所在磁盘至少要有30GB的空间,因为chatglm2-6b的模型文件至少有23GB大小。
mkdir -p D:_ChatGPT_common_test

3、进入刚刚创建的目录,在这里下载chatglm2-6b的huggingface模型文件。注意下载前要提前打开fanqiang软件,否则下载无法成功。模型文件大概23GB,因此下载时间很长,需要耐心等待。下载过程中可能多次报“Recv failure: Connection was reset”错误,遇到错误就重新下载,直到成功为止。
cd D:_ChatGPT_common_test
git clone https://huggingface.co/THUDM/chatglm2-6b

4、下载时如果报如下错误:
Errors logged to ‘D:_ChatGPT_common_test\chatglm2-6b.git\lfs\logs\20230810T095928.1917897.log’.
Use git lfs logs last to view the log.
error: external filter ‘git-lfs filter-process’ failed
fatal: pytorch_model-00001-of-00007.bin: smudge filter lfs failed
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with ‘git status’
and retry with ‘git restore --source=HEAD 😕’
则用如下方式解决后重新下载:
git lfs clean --force

三、从github下载chatglm2-6b应用文件

1、进入Anaconda Powershell Prompt

2、创建一个目录,并进入该目录
mkdir -p D:_ChatGPT\langchain-chatglm_test
cd D:_ChatGPT\langchain-chatglm_test

3、在该目录下载chatglm2-6b应用文件,这个下载很快。
git clone https://github.com/THUDM/ChatGLM2-6B

四、创建虚拟环境并安装依赖包

1、进入Anaconda Powershell Prompt

2、创建虚拟环境
conda create -n langchain-chatglm_test python=3.10

3、进入虚拟环境
conda activate langchain-chatglm_test

4、进入chatglm2-6b应用文件所在目录
cd D:_ChatGPT\langchain-chatglm_test\ChatGLM2-6B

5、安装相关依赖
pip install -r requirements.txt
pip install transformers4.26.1
pip install torch
1.12.1+cu113  -f https://download.pytorch.org/whl/cu113/torch_stable.html

五、修改文件

1、进入D:_ChatGPT\langchain-chatglm_test\ChatGLM2-6B目录,用编辑器打开web_demo.py文件。

2、修改如下两处的模型地址,用实际的huggingface模型下载地址取代"/mnt/workspace/chatglm2-6b",例如:

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True).cuda()

改为

tokenizer = AutoTokenizer.from_pretrained("D:\_ChatGPT\_common\chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("D:\_ChatGPT\_common\chatglm2-6b", trust_remote_code=True).cuda()

3、由于显存可能不够,可采用模型量化方式缩小模型,修改如下:

model = AutoModel.from_pretrained("D:\_ChatGPT\_common\chatglm2-6b", trust_remote_code=True).quantize(8).cuda()

如果用INT8量化还不行,可以改为INT4量化。

4、将文件对应处修改为如下,使得本地可以访问

demo.queue().launch(share=True, inbrowser=True, server_name='0.0.0.0', server_port=7860)

六、启动应用

1、进入Anaconda Powershell Prompt

2、进入虚拟环境
conda activate langchain-chatglm_test

3、进入chatglm2-6b应用文件所在目录
cd D:_ChatGPT\langchain-chatglm_test\ChatGLM2-6B

4、启动应用。注意启动应用前要关闭fanqiang,否则可以启动,但运行时报错。
python web_demo.py

七、报错及处理

1、报错:AssertionError: Torch not compiled with CUDA enabled
处理:pip install torch==1.12.1+cu113  -f https://download.pytorch.org/whl/cu113/torch_stable.html

2、报错:ModuleNotFoundError: No module named ‘transformers_modules.chatglm2-6b’
处理:pip install transformers==4.26.1

八、参考文档

LangChain + ChatGLM2-6B 搭建个人专属知识库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/84777.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【EI复现】考虑区域多能源系统集群协同优化的联合需求侧响应模型(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

编程小白必看!Visual Studio 2022详细安装使用教程(C/C++编译器)

目录 【前言】 一、Visual Studio 2022简介 二、Visual Studio 2022下载安装 1.Visual Studio 2022下载地址 2.Visual Studio 2022安装 2.1下载完成后点击打开安装 2.2安装完毕以后需要重启软件,点击确定。 三、Visual Studio 2022使用教程 【最后】 &#x…

Soundpad解决自动键失效的问题

这里给出解决方法,具体原因我也不太懂,因为我也是做实验得出某些操作可能会导致自动键不起作用。 首先打开首选项,配置如下图所示,这里只改了特殊热键的五个键位和自动键 我之前犯的错误,我相信大部分跟我一样&#…

23、springboot日志使用入门-- SLF4J+Logback 实现(springboot默认的日志实现),日志打印到控制台及日志输出到指定文件

springboot日志使用入门 ★ 典型的Spring Boot日志依赖: spring-boot-start.jar -- spring-boot-starter-logging.jar (Spring Boot的日志包)-- logback(core、classic)-- log4j-to-slf4j.jar-- jul-to-slf4j.jar就是springboo…

多维时序 | MATLAB实现CNN-BiGRU-Attention多变量时间序列预测

多维时序 | MATLAB实现CNN-BiGRU-Attention多变量时间序列预测 目录 多维时序 | MATLAB实现CNN-BiGRU-Attention多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现CNN-BiGRU-Attention多变量时间序列预测,CNN-BiGRU-Attent…

微信小程序备案流程

微信小程序备案流程 📔 千寻简笔记介绍 千寻简笔记已开源,Gitee与GitHub搜索chihiro-notes,包含笔记源文件.md,以及PDF版本方便阅读,且是用了精美主题,阅读体验更佳,如果文章对你有帮助请帮我…

Nginx负载均衡(重点)

正向代理 部署正向代理 server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; proxy_pass http://20.0.0.60:80…

UNIX基础知识:UNIX体系结构、登录、文件和目录、输入和输出、程序和进程、出错处理、用户标识、信号、时间值、系统调用和库函数

引言: 所有的操作系统都为运行在其上的程序提供服务,比如:执行新程序、打开文件、读写文件、分配存储区、获得系统当前时间等等 1. UNIX体系结构 从严格意义上来说,操作系统可被定义为一种软件,它控制计算机硬件资源&…

试卷擦除答案的工具,几个步骤轻松搞定

在学生的学习生活中,考试是必不可少的一部分。然而,有时候我们在做完试卷后发现自己填错了答案,或者想要更改答案,但是试卷上已经有了痕迹。这时候,我们就需要一些工具来擦除答案。以下是几个简单的步骤,让…

geoserver编辑样式 【开发工具QGis的初次使用】

geoserver编辑样式 开发工具配置中文语言 geoserver样式的更改 开发工具 链接: geoserver样式style的更改 链接: QGis开发工具的安装及使用 配置中文语言 setting > options > general > 中文 geoserver样式的更改 链接: geoserver样式style的更改 利用QGIs Q…

Oracle 知识篇+分区表上的索引由global改为local注意事项

★ 知识点 二、知识点 Local型索引有如下优点 1.Only one index partition must be rebuilt when a maintenance operation other than SPLIT PARTITION or ADD PARTITION is performed on an underlying table partition. 2.The duration of a partition maintenance opera…

从金蝶云星空到金蝶云星空通过接口配置打通数据

从金蝶云星空到金蝶云星空通过接口配置打通数据 源系统:金蝶云星空 金蝶K/3Cloud结合当今先进管理理论和数十万家国内客户最佳应用实践,面向事业部制、多地点、多工厂等运营协同与管控型企业及集团公司,提供一个通用的ERP服务平台。K/3Cloud支持的协同应…

设计模式行为型——访问者模式

目录 访问者模式的定义 访问者模式的实现 访问者模式角色 访问者模式类图 访问者模式举例 访问者模式代码实现 访问者模式的特点 优点 缺点 使用场景 注意事项 实际应用 访问者模式的定义 访问者模式(Visitor Pattern)属于行为型设计模式&am…

【工作中问题解决实践 十一】Kafka消费者消费堆积且频繁rebalance

最近有点不走运,老是遇到基础服务的问题,还是记着点儿解决方法,以后再遇到快速解决吧,今天遇到这个问题倒不算紧急,但也能通过这个问题熟悉一下Kafka的配置。 问题背景 正在开会的时候突然收到一连串的报警&#xff…

HarmonyOS NEXT,生命之树初长成

在不同的神话体系中,都有着关于生命之树的记载。 比如在北欧神话中,一株巨大的树木联结着九大世界,其被称为“尤克特拉希尔”Yggdrasill。在中国的《山海经》中,也有着“建木”的传说,它“有九欘,下有九枸&…

【踩坑系列记录 】Anaconda环境将torch由cpu换成gpu

概要 很早前做过深度学习,配环境之类的坑由于没记录都记不清了。这段时间开始做深度学习的项目,于是用Anaconda给项目创建了一个环境,其他的环境配置很顺利,就是到了安装pytorch时,我用pytorch官网的代码一直下载的是…

MongoDB安装和配置

一、MongoDB安装和配置 1、进入官网下载你所需要的安装版本,点击直通官网 Step1:进入官网后,将看到如下界面,点击上方导航栏Products,找到Community Server Step2:选择自己需要的版本、系统和压缩方式 2、下…

Kubernetes Service 工作原理

本文介绍了 Kubernetes Service 的概念、原理和具体使用。 作者:沈亚军 爱可生研发团队成员,负责公司 DMP 产品的后端开发,爱好太广,三天三夜都说不完,低调低调… 本文来源:原创投稿 爱可生开源社区出品&am…

空降流量危机?QQ音乐升级架构应对高并发

# 关注并星标腾讯云开发者 # 每周3 | 谈谈我在腾讯的架构设计经验 # 第2期 | 赵威:QQ音乐评论系统如何实现高可用? QQ 音乐自诞生以来,已有多个版本的评论业务系统。最新版本是19年再次全新迭代,基于 tlist 存储,按照发…

无法坚持运动?解密肠道菌群影响运动积极性

谷禾健康 运动可以说是最有效和可行的生活方式因素,个人可以利用它来保护自己免受各种疾病的侵害,包括代谢性、心血管、神经退行性和肿瘤性疾病。 世界卫生组织建议,每周进行150-300分钟的中等强度运动。 运动的好处具体不用多说了&#xff0…