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

news2025/1/11 21:36:41

鸣谢《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.coloradmin.cn/o/2275127.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【简博士统计学习方法】第1章:1. 统计学习的定义与分类

自用笔记 1. 统计学习的定义与分类 1.1 统计学习的概念 统计学习(Statistical Machine Learning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。 以计算机和网络为平台;以数据为研究对象;以…

Unity 人体切片三维可视化,可任意裁切切割。查看不同断层的图像。

Unity 人体切片三维可视化,真彩色,可任意裁切切割。查看不同断层的图像。 点击查看效果: 视频效果

汽车基础软件AutoSAR自学攻略(四)-AutoSAR CP分层架构(3) (万字长文-配21张彩图)

汽车基础软件AutoSAR自学攻略(四)-AutoSAR CP分层架构(3) (万字长文-配21张彩图) 前面的两篇博文简述了AutoSAR CP分层架构的概念,下面我们来具体到每一层的具体内容进行讲解,每一层的每一个功能块力求用一个总览图,外加一个例子的图给大家进…

科研绘图系列:R语言绘制Y轴截断分组柱状图(y-axis break bar plot)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍特点意义加载R包数据下载导入数据数据预处理画图输出总结系统信息介绍 Y轴截断分组柱状图是一种特殊的柱状图,其特点是Y轴的刻度被截断,即在某个范围内省略了部分刻度。这种图表…

慧集通(DataLinkX)iPaaS集成平台-数据流程之流程透明化调试功能简介

在线运行流程 查看运行状态 流程第一次执行状态显示 流程第二次执行状态显示(由于订单已同步到七星ERP中,由于还是这些订单所以第二次同步时就报错了) 点击查看节点组件的详细入参与出参信息 U8C销售订单读取组件执行时详情 入参-查询条件…

PostgreSQL技术内幕22:vacuum full 和 vacuum

文章目录 0.简介1.概念及使用方式2.工作原理2.1 主要功能2.2 清理流程2.3 防止事务id环绕说明 3.使用建议 0.简介 在之前介绍MVCC文章中介绍过常见的MVCC实现的两种方式,一种是将旧数据放到回滚段,一种是直接生成一条新数据(对于删除是不删除…

kubernetes第七天

1.影响pod调度的因素 nodeName 节点名 resources 资源限制 hostNetwork 宿主机网络 污点 污点容忍 Pod亲和性 Pod反亲和性 节点亲和性 2.污点 通常是作用于worker节点上,其可以影响pod的调度 语法:key[value]:effect effect:[ɪˈfek…

【CSS】HTML页面定位CSS - position 属性 relative 、absolute、fixed 、sticky

目录 relative 相对定位 absolute 绝对定位 fixed 固定定位 sticky 粘性定位 position:relative 、absolute、fixed 、sticky (四选一) top:距离上面的像素 bottom:距离底部的像素 left:距离左边的像素…

Redis数据库——Redis快的原因

本文详细介绍redis为什么这么快的原因,这里是本系列文章的总结篇(后面会补充一些内容,或者在原文上进行更新迭代),将从各方面出发解释为什么redis快,受欢迎的原因。 文章目录 内存内存数据库预分配内存 数据…

排序:插入、选择、交换、归并排序

排序 :所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性 :假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,…

RocketMQ 和 Kafka 有什么区别?

目录 RocketMQ 是什么? RocketMQ 和 Kafka 的区别 在架构上做减法 简化协调节点 简化分区 Kafka 的底层存储 RocketMQ 的底层存储 简化备份模型 在功能上做加法 消息过滤 支持事务 加入延时队列 加入死信队列 消息回溯 总结 来源:面试官:RocketMQ 和 Kafka 有…

赛车微型配件订销管理系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 赛车微型配件行业通常具有产品多样性、需求不确定性、市场竞争激烈等特点。配件供应商需要根据市场需求及时调整产品结构和库存,同时要把握好供应链管理和销售渠道。传统的赛车微型配件订销管理往往依赖于人工经验和简单的数据分析,效率低下且容易…

公众号如何通过openid获取unionid

通过接口 https://api.weixin.qq.com/cgi-bin/user/info?access_tokenxxxxxxx&langzh_CN 返回的数据如下: 前提是必须绑定 微信开放平台 token如何获取呢 代码如下: String tokenUrl "https://api.weixin.qq.com/cgi-bin/token"; …

半导体数据分析: 玩转WM-811K Wafermap 数据集(二) AI 机器学习

一、数据集回顾 前面我们已经基本了解了WM-811K Wafermap 数据集,并通过几段代码,熟悉了这个数据集的数据结构,这里为了方便各位连续理解,让我们再回顾一下: WM-811K Wafermap 数据集是一个在半导体制造领域广泛使用…

协同过滤算法私人诊所系统|Java|SpringBoot|VUE|

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SpringBoot、Mybatis-Plus、VUE、jquery,html 5⃣️…

Python基于YOLOv8和OpenCV实现车道线和车辆检测

使用YOLOv8(You Only Look Once)和OpenCV实现车道线和车辆检测,目标是创建一个可以检测道路上的车道并识别车辆的系统,并估计它们与摄像头的距离。该项目结合了计算机视觉技术和深度学习物体检测。 1、系统主要功能 车道检测&am…

nexus搭建maven私服

说到maven私服每个公司都有,比如我上一篇文章介绍的自定义日志starter,就可以上传到maven私服供大家使用,每次更新只需deploy一下就行,以下就是本人搭建私服的步骤 使用docker安装nexus #拉取镜像 docker pull sonatype/nexus3:…

MiniMind - 从0训练语言模型

文章目录 一、关于 MiniMind 📌项目包含 二、📌 Environment三、📌 Quick Start Test四、📌 Quick Start Train0、克隆项目代码1、环境安装2、如果你需要自己训练3、测试模型推理效果 五、📌 Data sources1、分词器&am…

Postman接口测试基本操作

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 Postman-获取验证码 需求:使用Postman访问验证码接口,并查看响应结果。 地址:http://kdtx-test.itheima.net/api/captchaIm…

基于Python实现的通用小规模搜索引擎

基于Python实现的通用小规模搜索引擎 1.项目简介 1.1背景 《信息内容安全》网络信息内容获取技术课程项目设计 一个至少能支持10个以上网站的爬虫程序,且支持增量式数据采集;并至少采集10000个实际网页;针对采集回来的网页内容, 能够实现网页文本的分…