windows下免费本地部署类ChatGpt的国产ChatGLM-6B
ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。
1,本地安装 Python
https://www.python.org/downloads/
测试:cmd输入python
2,下载chatglm
项目地址:https://github.com/THUDM/ChatGLM-6B下载后放到第二步程序包下,自行创建目录 chatglm-6b
3,下载模型数据
THUDM/chatglm-6b at main
4,执行下载依赖包命令
在ChatGLM-6B-main目录下cmdpip --default-timeout=1688 install -r requirements.txt
pip install gradio
5,运行网页版 demo
python web_demo.py6,运行命令行 Demo
python cli_demo.py
执行效果

相关部署问题
问题:提示信息中看到又一次下载模型包
方案:需要把模型包复制到程序运行时的缓存目录中,缓存路径可能如下:
C:\Users\用户目录\.cache\huggingface\hub\models--THUDM--chatglm-6b\snapshots\fb23542cfe773f89b72a6ff58c3a57895b664a23
问题: Unable to load vocabulary from file. Please check that the provided vocabulary is accessible and not corrupted.
方案:修改cli_demo.py 的chatglm-6b地址
D:\workspace\ChatGLM\ChatGLM-6B-main\chatglm-6b
问题:nvcc --version报错
方案:安装cuda
cuda_11.7.0_516.01_windows.exe
https://developer.nvidia.com/cuda-toolkit-archive
问题: Torch not compiled with CUDA enabled
方案:
import torch
print(torch.__version__)#torch版本
print(torch.cuda.is_available())#GPU是否可用
查看显卡:
nvidia-smi
nvcc --version安装pyTorch
pip install "torch-2.0.0+cu118-cp311-cp311-win_amd64.whl" -i https://pypi.tuna.tsinghua.edu.cn/simple/
问题:torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 128.00 MiB (GPU 0; 4.00 GiB total capacity; 3.37 GiB already allocated; 0 bytes free; 3.37 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
方案:
监控内存
nvidia-smi -l 1GPU内存6G修改:
model = AutoModel.from_pretrained("D:\workspace\ChatGLM\ChatGLM-6B-main\chatglm-6b", trust_remote_code=True).half().quantize(4).cuda()
GPU内存不够改为CPU执行:model = AutoModel.from_pretrained("D:\workspace\ChatGLM\ChatGLM-6B-main\chatglm-6b", trust_remote_code=True).float()
相关文章:
 
windows下免费本地部署类ChatGpt的国产ChatGLM-6B
ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 Chat…...
 
flask+opencv+实时滤镜(原图、黑白、怀旧、素描)
简介:滤镜,主要是用来实现图像的各种特殊效果。图像滤镜用于改变图像的视觉效果,使其具有特定的风格。下面是这三种滤镜的详细说明: 1、黑白(Grayscale):黑白滤镜将彩色图像转换为灰度图像&…...
【SCI征稿】极速送审,中科院2区(TOP)计算机算法类SCI,数据库稳定检索19年
算法类: 检索年份:数据库稳定检索19年 自引率:14.50% 国人占比:22.78% 期刊简介:IF:8.0-9.0,JCR1区,中科院2区(TOP) 检索情况:SCI&EI 双…...
 
1992-2022年31省GDP、第一产业增加值、第二产业增加值 第三产业增加值
1992-2022年31省GDP、第一产业增加值、第二产业增加值 第三产业增加值 1、时间:1992-2022年 2、范围:包括31省 3、指标:省GDP、省第一产业增加值、省第二产业增加值、省第三产业增加值 4、缺失情况说明:无缺失 5、来源&#…...
100种思维模型之万物系统思维模型-57
前面我们介绍过 “万物联系思维模型” ,即万物之间存有各种各样的联系,在解决问题时要看到事物之间的连接,并找到关键的连接,继而快速的解决问题。 01 何谓万物系统思维模型 一、万物系统思维 人的思维习惯, 一…...
Java 中的包装类是什么?如何使用包装类来操作基本数据类型(二十二)
Java 中的包装类是一种特殊的类,用来将基本数据类型(如 int、double、char 等)包装成对象。包装类的作用是可以让基本数据类型具有对象的特性,比如可以作为参数传递给泛型类或方法,可以调用对象的方法,可以…...
 
【Python入门】Pycharm的使用指南
前言 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Python零基础入门系列,本专栏主要内容为Python基础语法、判断、循环语句、函…...
python搭建HaIcon物联平台!
Python是一种高级编程语言,易于学习和理解。它在各个领域都有着广泛的应用,例如数据科学、机器学习、爬虫等。 在Python的强大功能之外,Python还有着丰富的第三方库和框架,其中之一就是HaIcon。HaIcon是一种基于Python的物联网平台,它提供了完整的解决方案,包括设备管理…...
 
GUI编程(二)
Swing Swing是GUI(图形用户界面)开发工具包。 早期的AWT(抽象窗口工具包)组件开发的图形用户界面,要依赖本地系统,当把AWT组件开发的应用程序移植到其他平台的系统上运行时,不能保证其外观风格…...
 
俩小伙一晚上写了个 AI 应用,月入两万??(文末附开发教程)
开发出一款能够与 AI 对话生成和编辑思维导图的工具,听起来似乎只能是一群专业的 AI 背景团队花费大量的时间和精力训练模型,打磨应用才能完成的事情。 但是,两名大学生却在一夜之间完成了,就像炼金术士将庸俗的材料转化成黄金一…...
 
Python爬虫常用框架
大家都知道python是一门多岗位编程语言,学习python之后可以从事的岗位有很多,python爬虫便在其中,不过很多人对python不是很了解,所以也不知道python爬虫是什么,接下来小编为大家介绍一下。 Python是一门非常适合开发…...
 
2023亚马逊云科技研究,数字化技能为中国企业和员工带来经济效益
在中国,信息技术在个人、企业和宏观经济层面都推动着重大变革。为了研究这些变化所带来的影响,盖洛普咨询公司(Gallup)和亚马逊云科技开展了关于数字化技能的调研。 研究表明,数字化技能正在为中国企业和在职人员带来巨大的经济价值&#x…...
 
springboot使用mybatis
扫描mapper接口的位置,生成代理对象 在application.properties配置数据源 测试: 在application.properties配置mybaits,支持驼峰命名,下划线 结果映射: Insert语句例子 在application.properties配置日志 更新 总结: 结果复用 ResultMap第二种…...
 
为什么是三次握手和四次挥手
文章目录 为什么是三次握手为什么是四次挥手什么是TIME_WAIT状态解决TIME_WAIT状态引起的bind失败的方法 为什么是三次握手 因为这是双方都有收发的最小次数 握手的目的:确认网络好着没,对方好着没 确认双方主机是否健康(双方)…...
Codeforces Round 867 (Div 3) 总结
文章目录 ABCDE 文章首发于我的个人博客:欢迎大佬们来逛逛 Dashboard - Codeforces Round 867 (Div. 3) - Codeforces A 题目大意:有n个电视节目,每个电视节目占据一定的时间,并且具有一个娱乐值,一秒可以额换一次台…...
vue修饰符的使用
事件修饰符: 在处理事件时调用 event.preventDefault() 或 event.stopPropagation() 是很常见的。尽管我们可以直接在方法内调用,但如果方法能更专注于数据逻辑而不用去处理 DOM 事件的细节会更好。 为解决这一问题,Vue 为 v-on 提供了事件…...
 
2023年五一数学建模 B 题过程与结果
文章目录 第一问第二问数据时序分析Auto-ARIMA第二问求解解的情况A->Q:D-> AQ-V总快递数 第三问第四问遗传算法求解 第五问SARIMA 模型拟合季节性规律 第一问 见 2023 年 五一杯 B 题过程 代码(第一问) 第二问 第二问考虑是一个时序预测问题&a…...
 
搞懂 API ,API 中 URI 设计规范分享
API(Application Programming Interface)是现代软件开发中的一项关键技术,它为不同应用程序间提供了数据和功能交互的标准化方式。而 URI(Uniform Resource Identifier)作为 API 中的重要部分,其规范和良好…...
 
【DarkLabel】使用教程(标注MOT数据集)
DarkLabel 使用教程 功能部分 Open video 第 2 处的内容为数据集类型。例如:VOC、COCO、MOT、YOLO等。 第 3 处的内容为标签名称。 可在 darklabel.yml 中修改 classes_set。例如:classes_set: "mot_classes" 第 4 处的内容为两种跟踪方法…...
Python3 迭代器与生成器
Python3 中的迭代器和生成器是 Python 编程中非常重要的概念,它们可以帮助我们更高效地处理数据和管理内存。下面分别介绍一下迭代器和生成器的概念和用法。 ## 迭代器 迭代器是一个可以遍历一个容器(如列表或元组)中的所有元素的对象&…...
 
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
 
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
 
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
 
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
 
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...

