ChatGLM-6B部署笔记

2023-11-17

前言

本笔记基于ChatGLM-6B开源网站 https://github.com/THUDM/ChatGLM-6B 完成ChatGLM的本地部署。首先电脑已经安装python3.10,anaconda,pycharm2022.3,如若使用本地网络会出现安装依赖失败、下载代码文件缓慢等问题,解决方法有两个,一是可以使用清华源安装依赖,下载模型;二是全程使用科学上网的方法,本次部署使用的方法是后者。
电脑基本信息:
电脑系统 windows 10
CPU intel W-2235
显卡 A5000 24GB
运行 内存128GB

一、环境安装

下载ChatGLM-6B 相关文件

1.先进入 https://github.com/THUDM/ChatGLM-6B下载源文件
在这里插入图片描述
2.然后进入https://huggingface.co/THUDM/chatglm-6b下载模型文件,并把文件保存在E:\Rui-Wu\ChatGLM-6B-main\chatglm-6b中。
在这里插入图片描述

创建环境

1.创建名称为ChatGLM的环境,并且python的版本是3.10以上。

conda create --name ChatGLM python=3.10 

2.查看环境是否创建成功。

conda info --envs

会出现下面的情况,表示已经创建成功
在这里插入图片描述

所有的操作最好在项目的根目录下进行,即所下载ChatGLM的目录下进行。比如我所在的目录是E:\Rui-Wu\ChatGLM-6B-main。通过以下代码转换目录:
1.进入E盘

e:

2.进入目录

cd E:\Rui-Wu\ChatGLM-6B-main

如下图所示:
在这里插入图片描述

激活环境

环境创建完成之后,通过以下代码激活环境

activate ChatGLM

激活环境过后如下图所示
在这里插入图片描述

检查CUDA及显卡驱动

此步骤是为了后面能够成功的安装pytorch,在安装pytorch之前都要进行显卡驱动的检查。具体版本要求可通过csdn或者nVidia控制面板查阅。可通过如下代码检查驱动:

nvidia-smi

如下图所示可以查看驱动版本以及CUDA版本,出现下面的表格,则说明电脑以及安装显卡驱动以及CUDA,然后根据CUDA版本安装合适的pytorch版本。
在这里插入图片描述

安装pytorch

登录pytorch官网 ,如下图所示,选择合适的版本,CUDA版本要求不低于本电脑的版本即可,本次选择安装的是CUDA11.8的pytorch版本。然后复制最底下的代码,输入到anaconda中。
在这里插入图片描述

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

然后通过以下代码检查是否安装成功

pip list

如果出现下面的情况,则说明安装成功。后缀cu118表示cuda11.8版本的pytorch,同时也说明安装的是GPU版本的pytorch,如果安装成了CPU版本的pytorch,则后缀没有+cu118
在这里插入图片描述

安装依赖

通过以下代码安装ChatGLM-6B的依赖,这也是为什么要提前把目录切换到E:\Rui-Wu\ChatGLM-6B-main的原因,要不然找不到requirements.txt的文件。而且,依赖文件中的torch模块是only cpu的,因为在此之前已经安装过pytorch,所以要提前把依赖中的torch删除,如下图所示。
在这里插入图片描述

1.安装依赖

pip install -r requirements.txt

2.然后通过以下代码检查是否安装成功

pip list

二、网页版启动

通过anaconda启动

依赖中已经安装了gradio,可通过以下代码启动网页版demo。也可以通过pycharm启动,把pycharm环境改到ChatGLM以后,直接运行web_demo.py文件。(每次运行都会重新下载模型,因此启动比较慢)

python web_demo.py

如下图所示
在这里插入图片描述

修改模型

通过以上方法运行模型,每次都要重新下载模型文件,因此需要修改代码,以达到可以直接从本地加载模型的目的。
进入刚开始下载开源文件的文件夹打开web_demo.py文件,修改模型。如下图所示:
在这里插入图片描述
例如我的模型下载地址为E:\Rui-Wu\ChatGLM-6B-main\chatglm-6b,因此模型修改路径如下:
在这里插入图片描述
还可以按照电脑配置修改显存,如下图所示:
在这里插入图片描述
例如,若显存为6G
在这里插入图片描述
通过pycharm启动。
在这里插入图片描述

参考

【ChatGLM】在电脑部署属于自己的人工智能/ChatGPT平替/可离线/可发布
开发者git hub

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ChatGLM-6B部署笔记 的相关文章

  • 使用 Python 创建 MIDI

    本质上 我正在尝试从头开始创建 MIDI 并将它们放到网上 我对不同的语言持开放态度 但更喜欢使用Python 两种语言之一 如果这有什么区别的话 并且想知道我应该使用哪个库 提前致谢 看起来这就是您正在寻找的 适用于 Python 的简单
  • TensorFlow:带有轴选项的 bincount

    在 TensorFlow 中 我可以使用 tf bincount 获取数组中每个元素的计数 x tf placeholder tf int32 None freq tf bincount x tf Session run freq feed
  • NumPy linalg.eig

    我有这个烦人的问题 但我还没有弄清楚 我有一个矩阵 我想找到特征向量 所以我写 val vec np linalg eig mymatrix 然后我得到了 vec 我的问题是 当我小组中的其他人对相同的矩阵 mymatrix 做同样的事情时
  • Pyqt-如何因另一个组合框数据而更改组合框数据?

    我有一个表 有 4 列 这 4 列中的两列是关于功能的 一个是特征 另一个是子特征 在每一列中 所有单元格都有组合框 我可以在这些单元格中打开txt 我想 当我选择电影院作为功能时 我只想看到子功能组合框中的电影名称 而不是我的 数据 中的
  • 使用 NLTK 在 Python 中获取大量名词(或形容词);或 Python Mad Libs

    Like 这个问题 https stackoverflow com questions 7439555 noun adjective etc word lists or dictionaries common words 我有兴趣按词性获取
  • 如何在VIM中设置文件的正确路径?

    每当我击中 pwd在 vim 中命令总是返回路径C Windows system32 即使我在桌面上的 Python 文件中 所以每当我跑步时 python 命令返回 python can t open file Users myname
  • Python tkinter.filedialog Askfolder 干扰 clr

    我主要在 Spyder 中工作 构建需要弹出文件夹或文件浏览窗口的脚本 下面的代码在spyder中完美运行 在 Pycharm 中 askopenfilename工作良好 同时askdirectory什么都不做 卡住了 但是 如果在调试模式
  • 如何在Python中高效地添加稀疏矩阵

    我想知道如何在Python中有效地添加稀疏矩阵 我有一个程序 可以将大任务分解为子任务 并将它们分配到多个 CPU 上 每个子任务都会产生一个结果 一个 scipy 稀疏矩阵 格式为 lil matrix 稀疏矩阵尺寸为 100000x50
  • Python中列表中两个连续元素的平均值

    我有一个偶数个浮点数的列表 2 34 3 45 4 56 1 23 2 34 7 89 我的任务是计算 1 和 2 个元素 3 和 4 5 和 6 等元素的平均值 在 Python 中执行此操作的快捷方法是什么 data 2 34 3 45
  • CNTK 抱怨 LSTM 中的动态轴

    我正在尝试在 CNTK 中实现 LSTM 使用 Python 来对序列进行分类 Input 特征是固定长度的数字序列 时间序列 标签是 one hot 值的向量 Network input input variable input dim
  • Pandas:如何将数据框插入 Clickhouse

    我正在尝试将 Pandas 数据框插入 Clickhouse 这是我的代码 import pandas import sqlalchemy as sa uri clickhouse default localhost default ch
  • PyTorch:如何批量进行推理(并行推理)

    如何在PyTorch中批量进行推理 如何并行进行推理以加快这部分代码的速度 我从进行推理的标准方法开始 with torch no grad for inputs labels in dataloader predict inputs in
  • 如何在 Django 中使用基于类的视图创建注册视图?

    当我开始使用 Django 时 我几乎使用 FBV 基于函数的视图 来处理所有事情 包括注册新用户 但当我更深入地研究项目时 我意识到基于类的视图通常更适合大型项目 因为它们更干净且可维护 但这并不是说 FBV 不是 无论如何 我将整个项目
  • 使用 Conda 更新特定模块会删除大量软件包

    我最近开始使用 Anaconda Python 发行版 因为它提供了许多开箱即用的数据分析库 使用 conda 创建环境和安装软件包也轻而易举 但是当我想更新 Python 本身或任何其他模块时 我遇到了一些严重的问题 我事先被告知我的很多
  • 在 Spyder 的变量资源管理器中查看局部变量

    我是 python 新手 正在使用 Spyder 的 IDE 我欣赏它的一项功能是它的变量资源管理器 然而 根据一些研究 我发现它只显示全局变量 我找到的解决方法是使用检查模块 import inspect local vars def m
  • 在 Windows 上使用带有对数刻度的 matplotlib 时出现 Unicode 错误

    我正在使用 python 2 6 和 matplotlib 如果我运行 matplotlib 库页面中提供的示例 histogram demo py 它工作正常 我已经大大简化了这个脚本 import numpy as np import
  • Flask 应用程序的测试覆盖率不起作用

    您好 想在终端的 Flask 应用程序中测试 删除路由 我可以看到测试已经过去 它说 test user delete test app LayoutTestCase ok 但是当我打开封面时 它仍然是红色的 这意味着没有覆盖它 请有人向我
  • 带有 RotatingFileHandler 的 Python 3 记录器超出 maxBytes 限制

    我使用以下代码来限制日志文件的大小 最小示例 import logging from logging handlers import RotatingFileHandler Set up logfile and message loggin
  • 从列表python的单个列表中删除子列表

    我已经经历过从列表列表中删除子列表 https stackoverflow com questions 47209786 removing sublists from a list of lists 但当我为我的数据集扩展它时 它不适用于我
  • tkinter:打开一个带有按钮提示的新窗口[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 用户如何按下 tkinter GUI 中的按钮来打开新窗口 我只需要非常简单的解决方案 如果代码也能被解释那就太好了 这

随机推荐

  • 说透 Nacos 一致性协议

    1 Nacos 致性协议 1 1 为什么 Nacos 需要 致性协议 Nacos尽可能减少用户部署以及运维成本 做到用户只需要 个程序包 就快速单机模式启动 Nacos 或集群模式启动 Nacos 而 Nacos 是 个需要存储数据的组件
  • java基础—HashMap实现原理,如何保证HashMap的线程安全

    在多线程条件下 容易导致死循环 具体表现为CPU使用率100 因此多线程环境下保证 HashMap 的线程安全性 主要有如下几种方法 1 替换成Hashtable Hashtable通过对整个表上锁实现线程安全 因此效率比较低 2 使用Co
  • 台式计算机的配置怎么看,台式电脑配置怎么看

    电脑的性能 价格决定于电脑的配置 很多人电脑新手在购买电脑的时候对电脑配置的相关情况不太了解 导致新买的电脑频频出问题 所以了解自己电脑配置是很重要的 这里我们就简单的来说说台式电脑配置怎么看 电脑配置一般CPU 显卡 主板 内存 硬盘 显
  • lambda表达式二之Stream流

    Stream流 是数据渠道 用于操作数据源 集合 数组等 所生成的元素序列 集合讲的是数据 流讲的是计算 Stream自己不会存储元素 Stream不会改变源对象 会返回一个持有结果的新Stream Stream操作是延迟执行的 意味着会等
  • LeetCode312. 戳气球 (分治,记忆化搜索,动态规划)

    LeetCode312 戳气球 解题思路 记忆化搜索 动态规划 解题思路 官方题解 参考题解 核心思想 由于戳气球的操作会导致两个气球从不相邻变成相邻 使得后续操作难以处理 于是我们倒过来看这些操作 将全过程看成每次添加一个气球 solve
  • CMake入门实践(一) 什么是cmake

    一 CMake简介 CMake是一个跨平台的安装 编译 工具 可以用简单的语句来描述所有平台的安装 编译过程 他能够输出各种各样的makefile或者project文件 能测试编译器所支持的C 特性 类似UNIX下的automake 只是
  • mac AE 快捷键

    项目窗口 新项目 Ctrl Alt N 打开项目 Ctrl O 打开项目时只打开项目窗口 按住Shift键 打开上次打开的项目 Ctrl Alt Shift P 保存项目 Ctrl S 选择上一子项 上箭头 选择下一子项 下箭头 打开选择的
  • Flink + Hudi 实现多流拼接(大宽表)

    1 背景 经典场景 Flink 侧实现 业务侧通常会基于实时计算引擎在流上做多个数据源的 JOIN 产出这个宽表 但这种解决方案在实践中面临较多挑战 主要可分为以下两种情况 维表 JOIN 场景挑战 指标数据与维度数据进行关联 其中维度数据
  • .net 配置网关(使用Ocelot)

    本文演示一个最简单的demo 来模拟如何通过网关来访问服务 而不是直接访问服务 创建三个asp net core web api项目 一个作为网关 两个作为服务 分别配置项目的访问路径 网关的项目使用https localhost 5001
  • MQTT-java使用说明

    MQTT java使用说明 本文的资料下载 链接 https pan baidu com s 1OCfsQ NqcehKy86kYkA wg pwd 1234 提取码 1234 MQTT基本介绍 MQTT是一个客户端服务端架构的发布 订阅模
  • DNS在架构设计中的巧用

    DNS在架构设计中的巧用 一 缘起 一个http请求从客户端到服务端 整个执行流程是怎么样的呢 一个典型流程如上 1 客户端通过域名daojia com请求dns server 2 dns server返回域名对应的外网ip 1 2 3 4
  • python拟合二次函数_Python 最小二乘法 拟合 二次曲线

    最小二乘 Python 二次拟合 随机生成数据 并且加上噪声干扰 构造需要拟合的函数形式 使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as np import matplotl
  • 讯飞aiui的webapi+python使用记录

    1 demo一直不能出语义理解 我以为是我的问题 直到 当前页面配置修改仅在测试环境生效 设备端体验需要SDK传参时在情景模式后加 box 或 更新发布 至生产环境体验 这不坑爹吗 记得在情景模式后加 box
  • BFS的常见算法题-二叉树的最小深度

    背景 对某个二叉树 我们除了用肉眼可以看出其深度 还可以用算法来计算出它的深度 比如 下面的二叉树 一共有三层 它的深度就是3 如果某个分支的叶子结点没有左右子节点 就是它深度中较小的一个 leetcode中 有一题求最小深度 如下图 最小
  • 各种日志关系

    slf4j是日志的门面 也是会说是日志框架
  • 【Unity开发】Unity获取设备屏幕分辨率

    using UnityEngine using System Collections public class ExampleClass MonoBehaviour void Start Resolution resolutions Scr
  • Vscode ssh远程连接失败解决办法

    问题描述 Vscode 通过remote ssh连接远程ubuntu时出现 192 168 x x has fingerprint SHA256 如下图所示 按照提示选择 continue 然后输入正确密码却显示Permission Den
  • java md5 解密_“实用”的JAVA开发工具类库

    简介 Hutool是一个小而全的Java工具类库 通过静态方法封装 降低相关API的学习成本 提高工作效率 使Java拥有函数式语言般的优雅 让Java语言也可以 甜甜的 Hutool中的工具方法来自于每个用户的精雕细琢 它涵盖了Java开
  • 免费的 AI 代码辅助工具-codeium

    不是标题党 是真免费 几天之前 GitHub 发布了 GitHub Copilot X 这是一款基于 OpenAI 的 GPT 4 模型开发的 AI 代码辅助工具 看介绍应该是和 Microsoft 365 Copilot 很像的产物 属于
  • ChatGLM-6B部署笔记

    前言 本笔记基于ChatGLM 6B开源网站 https github com THUDM ChatGLM 6B 完成ChatGLM的本地部署 首先电脑已经安装python3 10 anaconda pycharm2022 3 如若使用本地