在Win11上部署ChatGLM2-6B详细步骤--(下)开始部署

news2024/11/17 11:17:01

接上一章《在Win11上部署ChatGLM2-6B详细步骤--(上)准备工作》

这一节我们开始进行ChatGLM2-6B的部署

三:创建虚拟环境

1、找开cmd执行

conda create -n ChatGLM2-6B python=3.8

 2、激活ChatGLM2-6B

conda activate ChatGLM2-6B

3、下载源文件

首先我们先建一个目录,E:\project。然后在命令行执行:

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

4、下载pytorch并安装

pytorch下载地址:https://pytorch.org

点击Previous versions of Pytorch >下载我们需要的版本。

注意我们安装的CUDA是11.7,所以上面这两种安装方式都可以的,第一种是conda的方式,下面是Wheel的方式,任选其中一个就可以,不需要两种都使用。

conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia

如果下载的慢可以使用迅雷下载到本地安装,下载地址其实后面已经给了。下载的本地后执行:

pip install torch-2.0.1-cp39-cp39-win_amd64.whl

检查pytorch是否安装成功

import torch
print(torch.cuda.is_available())

结果显示True就算成功了

5、安装ChatGLM2-6B的相关依赖

pip install -r requirements.txt

四:模型文件下载

为什么整一章来说这点事,确实很多人栽倒在这里。所以详细说。

下面的是模型地址:
huggingface地址:https://huggingface.co/THUDM/chatglm2-6b

下载的方法跟上面一样:

git clone https://huggingface.co/THUDM/chatglm2-6b

因为库太大,往往下载不下来,这里可以安装Git LFS大文件下载的git.
下载地址如下:https://git-lfs.com/,直接下载windows版就可以了,然后安装。

下载后安装这个git大文件版本。

然后找开Git Bash执行下面这句

GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm2-6b

其实用处不大,以上只是介绍如果网站可以访问的情况下的方法。目前huggingface网站国内不好访问了。所以可以采用国内镜像的的方式获得。

重点来了,国内镜像站的地址:https://aliendao.cn/

先将model_download.py下载的本地
然后执行:

python model_download.py --repo_id THUDM/chatglm-6b --mirror
python model_download.py --repo_id THUDM/chatglm2-6b-int4 --mirror

注意这里下载的只是配置模型的配置文件,模型文件要从另外一个地方下载。

模型文件的下载
https://cloud.tsinghua.edu.cn/d/674208019e314311ab5c/?p=%2F&mode=list


所有模型全部下载下来。

把下载的两个文件合在一起使用,均放在目录E:\\project\\ChatGLM2-6B\\THUDM\\chatglm2-6b

至此,模型文件应该就全了。大致的样子是这样的:

五:ChatGLM2-6B配置文件的修改

在ChatGLM2-6B目录下有两个web文件
1、是http登录的文件,执行python web_demo.py
2、是https登录的文件,执行 streamlit run web_demo2.py

修改这两个文件的模型所在路径,如下:

tokenizer = AutoTokenizer.from_pretrained("E:\\project\\ChatGLM2\\THUDM\\chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("E:\\project\\ChatGLM2\\THUDM\\chatglm2-6b",trust_remote_code=True).cuda()

以上路径均为我电脑上的文件路径,大家要根据自己文件的实际位置来写。

至此就算配置完了。

六:使用演示

1、WEB方式

需要安装两个文件

pip install gradio
pip install streamlit streamlit-chat

因为win11浏览器的安全比较高,所以只能使用https方式

执行:

streamlit run web_demo2.py

网页自动打开,你可以跟ChatGLM聊天了。

2、指令方式:

>>> from transformers import AutoTokenizer, AutoModel
>>> tokenizer = AutoTokenizer.from_pretrained("E:\\project\\ChatGLM2\\THUDM\\chatglm2-6b", trust_remote_code=True)
>>> model = AutoModel.from_pretrained("E:\\project\\ChatGLM2\\THUDM\\chatglm2-6b", trust_remote_code=True, device='cuda')
>>> model = model.eval()
>>> response, history = model.chat(tokenizer, "你好", history=[])
>>> print(response)

你好👋!我是人工智能助手 ChatGLM2-6B,很高兴见到你,欢迎问我任何问题。

>>> response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
>>> print(response)

3、API方式,大家用参考项目地址吧。

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

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

相关文章

echarts将展示全天的数据,如一天的电费,一个停车场一天的饱和度等问题

项目场景: 我们的项目是通过ai识别停车场的停车数,来展示此停车场全天的饱和度,如下 问题描述 后台接口给的数据,就是这种,返回所有有停车数量的时间段,但是我们的x轴要求展示全天的数据,并且可伸缩刻度展示具体时间的停车情况 [{time:2023-10-27 08:20:20,carS…

vue的双向绑定的原理,和angular的对比

目录 前言 Vue的双向绑定用法 代码 Vue的双向绑定原理 Angular的双向绑定用法 代码 Angular的双向绑定原理 理解 图片 关于Vue的双向绑定原理和与Angular的对比,我们可以从以下几个方面进行深入探讨: 前言 双向绑定是现代前端框架的核心特性之…

【sql】sql中true,false 和 null之间and、or运算的理解。

select true and null "tan",false and null "fan",true or null "ton",false or null "fon";结果如下: 怎么理解呢? 很简单,把null当做介于true和false中间的值,也就是如果true1,false…

npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。

1、在vscode终端执行 get-ExecutionPolicy ,显示Restricted,说明状态是禁止的。 2、更改状态: set-ExecutionPolicy RemoteSigned 出现需要管理员权限提示,可选择执行 Set-ExecutionPolicy -Scope CurrentUser 出现的ExecutionPolicy参数后输…

《ATTCK视角下的红蓝对抗实战指南》一本书构建完整攻防知识体系

一. 网络安全现状趋势分析 根据中国互联网络信息中心(CNNIC)发布的第51次《中国互联网络发展状况统计报告》,截至2022年12月,我国网民规模为10.67亿,互联网普及率达75.6%。我国有潜力建设全球规模最大、应用渗透最强的…

【AI视野·今日NLP 自然语言处理论文速览 第五十七期】Wed, 18 Oct 2023

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 18 Oct 2023 Totally 82 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers VeRA: Vector-based Random Matrix Adaptation Authors Dawid Jan Kopiczko, Tijmen Blankevoort, Yuki Marku…

使用 RAG、Langchain 和 Streamlit 制作用于文档问答的 AI 聊天机器人

在这篇文章中,我们将探索创建一个简单但有效的聊天机器人,该机器人根据上传的 PDF 或文本文件的内容响应查询。该聊天机器人使用 Langchain、FAISS 和 OpenAI 的 GPT-4 构建,将为文档查询提供友好的界面,同时保持对话上下文完整。…

EtherCAT转Profinet协议网关使西门子和倍福的PLC实现通讯的方法

通过倍福PLC协议,远创智控YC-ECTM-PN网关能与倍福系列的PLC进行通信,一起探索下如何操作吧。 1.网关通过网线和倍福 PLC、电脑进行连接,如果网口不够,可以使用交换机连接。 开VS软件,新建一个工程,选择对应…

mac idea 解决0% classes 0% lines covered不显示,非快捷键办法

问题如下 网上说了一堆快捷键,冲突了用不了,页面按下面这样点就可以了点击no coverage就行了

高并发下的缓存击穿、雪崩、穿透和分布式锁(三)

一.缓存穿透 概念: 去查询缓存和数据库都不存在的数据,然后大量请求不存在的数据,导致数据库压力过大崩溃。 解决方案: 把不存在的数据null存入缓存,并给个短期的过期时间。 二.缓存雪崩 概念: 缓存采用…

树莓派 Qt中 QCameraInfo 无法使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、QCameraInfo 是什么?二、使用步骤1.测试代码2.解决方案2.1输入命令2.2输出 3. 成功打印了摄像头的信息 总结 前言 提示:这里可以添…

苹果秋季发布会官宣,新款Mac将搭载M3芯片,来势迅猛!

苹果宣布将于 10 月 31 日上午 8 点(北京时间)举行发布会,这次发布会的主题是「来势迅猛」,旨在为全球的苹果粉丝和科技爱好者带来令人期待的新品发布。这次发布会引人瞩目,因为它将聚焦在 Mac 系列产品以及全新的 M3 …

Spring源码解析-注册配置信息

1、注册方法概述 register(componentClasses) 注册配置类的信息。其中componentClasses 为传入的配置类class。 通过AnnotatedBeanDefinitionReader 的register(this.reader.register(componentClasses))方法。AnnotatedBeanDefinitionReader 已经注册了系统自带的处理器以及方…

程序化广告系列之一---名词解释

基础 1、DSP:全称“Demand-Side Platform”,需求方平台,是为广告主、代理商提供一个综合性的管理平台,通过统一界面管理多个数字广告和数据交换账户。 2、SSP:SSP是Sell-Side Platform的缩写,即供应方平台…

边缘计算技术的崭新篇章:赋能未来智能系统

边缘计算是近年来云计算和物联网技术发展的重要趋势。通过将数据处理和分析从云端迁移到设备边缘,边缘计算能够实现更低的延迟和更高的数据安全。本文将探索边缘计算技术的最新进展及其在不同行业中的应用场景。 1. 实时数据处理与决策 在需要快速响应的场景中&…

电脑技巧:Win10飞行模式相关知识介绍

目录 一、飞行模式简介 二、如何开关Windows 10中的飞行模式 方法一:使用硬件开关 方法二:使用Windows 10操作中心 方法三:使用Windows 10设置 三、飞行模式开关被卡住、变灰或不工作时怎么办 什么是 Windows 10 飞行模式? 用户如何打…

matlab simulink ADRC控制样例

1、内容简介 略 3-可以交流、咨询、答疑 2、内容说明 用adrc控制传递函数,保证输出达到预期 ADRC控制器、传递函数 3、仿真分析 4、参考论文 略

计算机网络重点概念整理-第六章 应用层【期末复习|考研复习】

第六章 应用层 【期末复习|考研复习】 计算机网络系列文章传送门: 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称&缩写 文章目录 第六章 应用层 【期末复习|考研复习…

(一)MySQL-架构

一、MySQL逻辑架构 中间是MySQL的核心服务,包括查询分析、优化、缓存及所有的内置函数(日期、时间、数据等),所有跨存储的引擎的功能都在这一层实现:存储过程、触发器、视图等。 存储引擎负责MySQL中的存储和提取。服务器通过A…

数字孪生与智慧城市:开启未来智慧生活

在数字时代的浪潮中,数字孪生技术和智慧城市的理念相互交织,共同塑造了一个更智能、更可持续、更宜居的未来。数字孪生是一项前沿技术,将虚拟世界与现实世界相融合,为城市管理者和市民带来了前所未有的机遇和便捷。 数字孪生模型是…