当前位置: 首页 > article >正文

Win10本地部署大语言模型ChatGLM2-6B

鸣谢《ChatGLM2-6B|开源本地化语言模型》作者PhiltreX

作者显卡为英伟达4060

安装程序

打开CMD命令行,在D盘新建目录openai.wiki

if not exist D:\openai.wiki mkdir D:\openai.wiki

强制切换工作路径为D盘的openai.wiki文件夹。

cd /d D:\openai.wiki

拉取该项目的Github仓库文件,将其下载至openai.wiki文件夹内。

git clone https://github.com/THUDM/ChatGLM2-6B.git

在CMD中执行如下命令,强制切换至ChatGLM2-6B的项目目录。

cd /d D:\openai.wiki\ChatGLM2-6B

在CMD中执行下面的命令行,创建Conda虚拟环境至该项目的目录中,方便日后重装系统也能够正常使用,无需重新部署环境。

conda create -y -p D:\openai.wiki\ChatGLM2-6B\ENV python=3.8

初始化Conda环境,防止后续操作可能存在报错等问题。

conda init cmd.exe

激活已创建的Conda环境,这样我们可以将我们后续所需要的所有环境依赖都安装至此环境下。

conda activate D:\openai.wiki\ChatGLM2-6B\ENV

执行如下命令,安装该项目的相关依赖库。

pip install -r requirements.txt

这一步时间安装时间长,并且容易失败。安装gpu版的pytorch ,需要先安装cuda,参考《Win10上使用Darknet框架训练YOLOv4自定义数据集》,对于下载慢的问题可以参考《AnaConda下载PyTorch慢的解决办法》

我的电脑的 CUDA Version: 12.3,列表中可以选择CUDA12.1

模型下载

下载链接一:123网盘

下载链接二:Hugging Face

下载模型时,请注意模型的目录结构,以及文件夹层级关系。

ChatGLM2-6BTHUDMchatglm2-6b模型相关文件

源码修改

我们几乎已经完成了所有需要的前置条件,但因为源码中模型的加载路径遵从了Liunx的方式,而我们使用了Windows系统来搭建,这与Liunx的路径转义有区别。

警告:所以如果你是Windows系统,需要根据以下步骤修改源码,如果你是Linux请路过该部分,不要进行操作。

此时我们需要做一件事,那就是分别修改cli_demo.pyweb_demo.pyweb_demo2.py三个文件内的模型路径,将THUDM/chatglm2-6b修改为THUDM\chatglm2-6b即可(只改斜杠)。

运行程序

在以后每次运行该项目时,只需要先激活我们刚刚所创建的Conda虚拟Python环境,然后运行启动文件即可。

在CMD中执行如下命令,强制切换至项目目录文件夹。

cd /d D:\openai.wiki\ChatGLM2-6B

激活已创建的Conda环境,这样才可以正常使用该项目,否则将会自动调用系统中的默认Python。

conda activate D:\openai.wiki\ChatGLM2-6B\ENV

执行如下代码,运行程序的GUI界面。

# cli_demo.py|web_demo.py|web_demo2.py三种方式任选其一

运行cli_demo.py

python cli_demo.py

运行web_demo.py

python web_demo.py

提示:Textbox 对象没有 style 属性,或者对话框无法正常显文字

pip uninstall gradio
pip install gradio=3.39.0

再次运行web_demo.py,在网页中即可开始对话

 

 运行web_demo2.py

注意这里命令有变,不是python web_demo2.py,而是下面的命令

streamlit run web_demo2.py

要求输入Email进接回车就行 

在网页中即可开始对话


http://www.kler.cn/a/488813.html

相关文章:

  • 【工业自动化摄像头移动机器视觉】
  • 图像处理|腐蚀操作
  • Nacos server 2.4.0 版本已知问题和 Bug 汇总
  • maven高级(day15)
  • ue5动画重定向,一键重定向。ue4小白人替换成ue5
  • <rust>在rust中,实现32位浮点数与16进制之间的转换
  • [豆包MarCode AI 刷题] 算法题解 Java 青训入营考核 五题打卡第三天
  • 网络安全:守护数字世界的防线
  • 【react-pdf】实现在线pdf加载——翻页加载和下拉滚动加载
  • Vue.js组件开发-实现滚动加载下一页
  • HOW - Form 表单 label 和 wrapper 对齐场景
  • 统信桌面常用运维命令
  • 【华为OD-E卷 - 服务失效判断 100分(python、java、c++、js、c)】
  • LeetCode 747. 至少是其他数字两倍的最大数
  • C++—14、C++ 中的指针最基础的原理
  • React 元素渲染
  • 苍穹外卖的微信支付和接单和催单提醒
  • 青少年编程与数学 02-006 前端开发框架VUE 16课题、组件基础
  • 初学stm32 --- ADC多通道采集
  • 鸿蒙原生应用如何才能拉起系统浏览器?
  • Linux 命令与日志查看实用指南
  • 详解Sonar与Jenkins 的集成使用!
  • 【C++】Muduo库
  • vivado 时钟指南
  • .gitignore记录
  • 前端全局水印, 拖拉拽图片 ,拽入等比压缩,上传服务器后,java 转base64 加水印,然后前端http预览,确认保存,拽出删除。