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

2024-06-12 14:04

本文主要是介绍本地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多。如下图:

 

这篇关于本地GPT-window平台 搭建ChatGLM3-6B的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1054422

相关文章

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

使用Spring Cache本地缓存示例代码

《使用SpringCache本地缓存示例代码》缓存是提高应用程序性能的重要手段,通过将频繁访问的数据存储在内存中,可以减少数据库访问次数,从而加速数据读取,:本文主要介绍使用SpringCac... 目录一、Spring Cache简介核心特点:二、基础配置1. 添加依赖2. 启用缓存3. 缓存配置方案方案

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Java实现本地缓存的四种方法实现与对比

《Java实现本地缓存的四种方法实现与对比》本地缓存的优点就是速度非常快,没有网络消耗,本地缓存比如caffine,guavacache这些都是比较常用的,下面我们来看看这四种缓存的具体实现吧... 目录1、HashMap2、Guava Cache3、Caffeine4、Encache本地缓存比如 caff

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)