本地GPT-window平台 搭建ChatGLM3-6B

一 ChatGLM-6B 介绍

         ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,新一代开源模型 ChatGLM3-6B 已发布,拥有10B以下最强的基础模型,支持工具调用(Function Call)、代码执行(Code Interpreter)、Agent 任务等功能,结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。

二 在 window平台 搭建ChatGLM3-6B

1 在github下拉该项目代码:

 1  下拉项目源代码:

 https://github.com/THUDM/ChatGLM-6B

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

  2 下载项目数据模型

 国内可下载地址:魔搭社区

下载的模型数据保存位置:

如果保存在别的地方需要指定配置模型路径的系统变量,也可以直接修改以下代码,如下图:

2 环境安装

使用 pip 安装依赖:pip install -r requirements.txt

pip install -r requirements.txt

注意:项目没有有明确说支持什么平台,当安装依赖时会报错,因为有一个vllm是不支持windows平台的,所以安装依赖时要注释掉一个依赖 vllm,其作用是加速推理项目可以不用,该框架的官方网站明确只支持linux,如下图:

检查pytorch环境

import torchif __name__ == '__main__':# 检测cuda环境print(torch.__version__)print(torch.cuda.is_available())print(torch.version.cuda)

pytorch正常,cuda可用如下图: 

如果这一步有问题,请查看之前的文章:https://blog.csdn.net/qyhua/article/details/136248165

3 启动项目 

 启动演示项目:

cd basic_demo
python web_demo_gradio.py

启动过程中,大概要有4G左右的空闲内存,如果内存不够启动失败,且没有任何提示,如下图: 

测试成功如下图: 

 由于我的电脑配置低,3060的显卡只有12G显存,所以这里改了一下代码。

这里测试了一下,当量化参数设置成8 时GPU内存大概使用了8G多,当设置成4时,只用了4G多,如下图:

model = AutoModel.from_pretrained(model_dir, trust_remote_code=True).quantize(8).cuda()

 量化参数设置成8时的效果图,回复比4快。 

 量化参数设置成4时 ,系统本身用了1.5G,模型大概使用了4G多。如下图:

 

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

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

相关文章

gitlab怎么实现将A仓库的新内容推送到B仓库,假设A仓库有1,2文件,B仓库有4,5,6,经过操作后,B仓库有1,2,4,5,6

要求给出两种方法:手动git或者自动化python脚本 文章目录 GPT-4o:手动Git命令实现Python 脚本实现总结 gpt3.5: GPT-4o: 为了将A仓库的新内容(文件1和文件2)推送到B仓库(保留其已有文件4、5、…

webshell获取总结(cms获取方法、非cms获取方法、中间件拿Webshell方法)

目录 前期准备: 1、cookices靶场网站搭建: 2、dedecms靶场环境搭建: 获取Webshell方法总结: 一、CMS获取Webshell方法 二、非CMS获取Webshell方法 1、数据库备份获取Webshell 例如: 2、抓包上传获取Webshell 3、…

新注册与新核准有什么区别?在哪可以找到新注册新核准的企业名单?

新注册:指的是公司刚刚完成工商注册登记,成为法律意义的经营实体。 新核准:指的是企业通过证券监管机构的审核,获得公开发行股票或债券的资格。 注册主要关注企业的基本资质和合规性,而核准是已经注册的公司进行财务…

49.Python-web框架-Django解决多语言redirect时把post改为get的问题

目录 1.背景 2.思路 3.寻找 Find and Replace 4.再次运行程序,POST来了 5.小结 1.背景 昨天在练习一个Django功能时,把form的method设置为POST,但是实际提交时,一直是GET方法。最后发现这是与多语言相关,django前面…

MySQL 8.3.0 主从热备

IP角色版本192.168.140.153主8.3.0192.168.140.159从8.3.0 一、准备环境 1、卸载mariadb rpm -qa | grep mariadb rpm -e mariadb-libs --nodeps 2、安装依赖 yum -y install perl 二、安装MySQL 1、下载安装包 wget https://downloads.mysql.com/archives/get/p/23/fil…

37、matlab矩阵运算

1、前言 矩阵运算是指对矩阵的各种操作和运算,包括矩阵加法、矩阵减法、矩阵乘法、矩阵转置、求逆矩阵等。以下是常见的矩阵运算: 矩阵加法:对应位置的元素相加,要求加数和被加数的维度相同。 A B | a11 b11 | | a12 b12 | | …

PyQt5 强制退出进程

1.增加包,如下 import osimport signal 2.重写def closeEvent(self, event)函数,如下 def closeEvent(self, event):try:pidvalue os.getpid() # 获取当前进程的PIDos.kill(pidvalue, signal.SIGTERM) # 主动结束指定ID的程序运行except Exception …

C++中变量的使用细节和命名方案

C中变量的使用细节和命名方案 C提倡使用有一定含义的变量名。如果变量表示差旅费,应将其命名为cost_of_trip或 costOfTrip,而不要将其命名为x或cot。必须遵循几种简单的 C命名规则。 在名称中只能使用字母字符、数字和下划线()。 名称的第一个字符不能是数字。 区分…

【Python入门与进阶】Python模块的导入与使用

在Python中,模块是包含Python代码的文件,通常包含函数、类和变量的定义。要使用一个模块,你可以通过import语句导入它。以下是如何导入和使用模块的基本方法: 导入整个模块:你可以使用import关键字来导入整个模块&…

FRP 内网穿透 | 实现远程访问与安全管理

唠唠闲话 内网穿透简介 在互联网上,两个不同主机进行通信需要知道对方的 IP 地址。由于世界人口和设备众多,IPv4 资源相对紧缺,因此绝大部分情况下是通过路由器或交换机转换公网 IP 后才上网。 位于路由器或交换机后的设备通常是内网设备&…

C#操作MySQL从入门到精通(22)——创建表与操纵表

前言 我们新建数据库以后,最需要做的就是创建表,对数据库的操作绝大多数情况下都是都对表的操作,本文就是讲解如何创建表以及修改表中的列,修改表名等操作。由于创建表的方法基本上有两种,一种是使用带有界面的工具比如Navicate来创建表,另一种是使用sql语句来创建表,实…

SAP 价格金额信息控制

1)migo / mb51/mb51/mb59 关于价格和金额的显示,需要权限控制,当权限对象F_BKPF_BUK,检查对应【公司代码】 和 ACTVT有03’的权限,如果没有03的权限,对应行的价格和金额显示为空 关于价格和金额的显示,需要权限控制&a…

景联文科技:打造亿级高质量教育题库,赋能教育大语言模型新未来

随着人工智能技术的持续进步,从广泛的通用大语言模型到针对各行业的垂直大语言模型,已成为人工智能大语言模型技术深化演进的必然趋势。 教育大语言模型是适用于教育场景、具有庞大规模参数、融合了广泛的通用知识和专业知识训练形成的人工智能模型。能为…

多商户小程序开发步骤和方法

在当今的数字经济中,多商户小程序作为一种创新的商业平台,提供了一种新的商业模式,使多个商户能够在同一平台上展示和销售他们的产品或服务。这种模式不仅增强了消费者选择的多样性,也为商家提供了一个更广泛的销售渠道。以下是详…

Modbus协议转Profinet协议网关与气体监测系统配置案例

一、背景;Modbus协议和Profinet协议作为工业领域常见的两种通讯协议,各自具有一定的特点和应用范围。Modbus转Profinet网关(XD-MDPN100/300)在工业自动化控制系统中,可以将Modbus协议转换为Profinet协议,以…

基于栅格占据概率和距离场的机器人覆盖轨迹模拟

基于栅格占据概率和距离场的机器人覆盖轨迹模拟 简介 辐射场模型实现 理论基础 指数函数建模 我们使用指数函数来表示机器人在某个栅格上停留时间对覆盖概率的影响: p ( t ) 1 − e − λ t p(t) 1 - e^{-\lambda t} p(t)1−e−λt 其中 λ \lambda λ 是控制增长速率…

import accimage报错,accimage安装

使用终端命令安装: conda install -c conda-forge accimage

gitlab下载及安装

目录 1、gitlab下载 2、gitlab安装 3、完全卸载GitLab 1、gitlab下载 首页:https://about.gitlab.com 安装:https://about.gitlab.com/install rpm包:https://packages.gitlab.com/gitlab/gitlab-ce 2、gitlab安装 2.1 CentOS 7 rpm -iv…

【SpringBoot+Vue】后端代码学习记录——登录功能开发

参考资料 https://www.cnblogs.com/three-fighter/p/14332288.html 零、前端开发 略。之前有过。 一、后端开发 1、统一结果封装 创建了一个 Result 类,用于异步统一返回的结果封装。一般来说,结果里面有几个要素必要的 是否成功,可用 c…

不会开发的你也能管理好企业漏洞,开源免费工具:洞察(insight II)

公司刚开始建设安全管理时,都是从一片混沌开始的,资源总是不够的,我们每个做安全的人员,又要会渗透,又要抓制度,还得管理各种漏洞。在管理楼栋是,我相信大家都遇到过以下几个问题: …