Windows下ChatGLM2-6B本地化部署

2023-10-26

一、安装前准备

1. github上下载ChatGLM2-6B代码

github地址:https://github.com/THUDM/ChatGLM2-6B.git ChatGLM2-6B GitHub地址

拉取代码
在这里插入图片描述

2.安装Anaconda

Anaconda 就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。

1.访问Anaconda官网,下载安装包,此处以windows为例。
官网地址:https://www.anaconda.com/ Anaconda官网
2.下载windows安装包
在这里插入图片描述
3.安装Anaconda
选择默认即可,安装路径可自行选择

3.配置Anaconda环境

打开Anaconda,创建ChatGlm环境

1.选择Create创建环境
在这里插入图片描述
2.输入环境名称,选择python版本,此处选择3.10.12版本点击创建
在这里插入图片描述
3.创建完成后点击绿色图标,选择Open Terminal打开控制台
在这里插入图片描述
在这里插入图片描述

安装gcc

1.启动ChatGlm需要gcc,在Anaconda仓库中搜索gcc,找到合适版本,此处使用 win-64 v5.3.0版本

conda install -c conda-forge m2w64-gcc

在这里插入图片描述
2.成功后得到如下信息
在这里插入图片描述

安装PyTorch

1.https://pytorch.org/get-started/locally/ 下载地址
2.我这里是windows,所以选择windows,选择conda
在这里插入图片描述
3.在刚刚安装gcc的窗口执行如下命令安装PyTorch,文件较大,所需时间比较长,安装完成后会自动清空控制太,输出done

conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

在这里插入图片描述

安装chardet

完成上述操作启动后chatglm后仍提示缺少组件,按着提示安装即可
1.仍然在上述窗口下执行如下安装命令,安装完成后结果如下

pip install chardet

在这里插入图片描述

下载模型

1.由于机器配置,仅以chatglm2-6b-int4模型为例
Hungging Face 模型下载地址:https://huggingface.co/THUDM/chatglm2-6b-int4/tree/main

2.下载除第一个文件外剩下十个文件,可在克隆的项目目录下新建
THUDM/chatglm2-6b-int4 两级目录,将文件存放于chatglm2-6b-int4目录下,部分大文件可从清华大学云盘下载,速度更快
清华云盘下载地址:https://cloud.tsinghua.edu.cn/d/674208019e314311ab5c/?p=%2Fchatglm2-6b-int4&mode=list
在这里插入图片描述

在这里插入图片描述
下载完成后如下所示在这里插入图片描述

二、运行ChatGlm

1.修改配置

1.此处web_demo.py为例,其它同理
修改红色部分为自己的模型路径,如显存大于13GB可以不用添加“.quantize(4)”。当然,有足够的硬件可以运行标准模型
在这里插入图片描述

2.运行ChatGlm

1.打开Anaconda,选择前面创建好的环境重新进入控制台

2.进入到项目目录
在这里插入图片描述
3.运行ChatGlm

python web_demo.py

在这里插入图片描述
4.运行成功,系统自动打开浏览器,进入到chat界面
在这里插入图片描述
在这里插入图片描述
5.进行对话
在这里插入图片描述

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

Windows下ChatGLM2-6B本地化部署 的相关文章

  • .wav 文件长度/持续时间,无需读入文件

    有没有办法提取有关 wav 文件长度 持续时间的信息 而无需在 R 中读取文件 我有数千个这样的文件 如果我必须阅读每个文件才能找到其持续时间 那将需要很长时间 Windows 文件资源管理器为您提供了打开 长度 字段的选项 并且您可以查看
  • Windows Workflow Foundation 4 (WF4) 延迟

    我正在与 Visual Studio 2010 的候选版本一起使用 Wf4 编写一个用于批准资源请求的新工作流程 在我的工作流程中 如果请求未获得批准 我希望请求在几天后过期 我们在 WF 3 5 Visual Studio 2008 中通
  • 以编程方式最小化/恢复窗口,跳过动画效果

    我需要对窗口列表执行多项操作 最小化其中一些 恢复其他 以便立即在两组或多组窗口之间切换 这样做的问题是最小化和恢复窗口时可以看到的动画 整个过程看起来很糟糕 所有这些动画都进进出出 上下移动 但是 我无法禁用这些动画 因为这是针对其他计算
  • 如何在 C++ 中急于提交分配的内存?

    总体情况 带宽 CPU 使用率和 GPU 使用率都极其密集的应用程序需要每秒从一个 GPU 向另一个 GPU 传输约 10 15GB 的数据 它使用 DX11 API 来访问 GPU 因此上传到 GPU 只能在每次上传都需要映射的缓冲区中进
  • 更改desktop.ini不会在Windows中自动更新文件夹图标

    我使用此批处理脚本将所有文件夹和子文件夹的图标更改为位于文件夹中的 ico 文件 但是 资源管理器中的文件夹图标不会改变除非我手动重命名desktop ini将资源管理器中的文件更改为其他内容 然后返回desktop ini或者例如将字母更
  • 以编程方式从 java 代码中查找 java.exe 的绝对路径

    如果我有一个由用户启动的 java jar 或类文件 假设在环境变量中设置了 java 路径 那么我如何从代码中找出 java exe javaw exe 的绝对路径文件正在启动 就像在 ubuntu 上一样 我们可以运行 which ja
  • 取消后调用 boost::asio 异步处理程序没有错误

    我的代码在单个线程中使用 boost asio 和 io service 来执行各种套接字操作 所有操作都是异步的 每个处理程序都依赖于boost system error code 特别boost asio error operation
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • Windows 窗口对接

    我想知道如何在 Windows 中将窗口停靠 捕捉到屏幕的一侧 最好使用直接的 Win32 API 我正在寻找的效果就像任务栏 一个在屏幕上有保留空间的窗口 因此最大化另一个窗口会使该窗口占据屏幕的其余部分 但使我的窗口保持在适当的位置并可
  • 为什么我只能用管理员权限才能导入Python中的某些模块?

    我正在努力解决 Python 2 7 中的一些奇怪问题 我写了一个很长的工具 在其中导入不同的模块 我必须首先使用它安装pip 该工具将在公司内部共享 不同的用户在其特定机器上拥有不同的权限 当另一个用户登录我的计算机 我在那里拥有管理员权
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • SetCurrentDirectoryW 中的错误 206

    在我之后之前不清楚的问题 https stackoverflow com questions 44389617 long path name in setcurrentdirectoryw 我以某种方式能够创建一个具有长路径名的目录 但是
  • Windows C++ 中的键盘钩子还是什么?

    我希望构建自己的应用程序 它可以将键盘命令 消息 发送到 Windows 操作系统 例如 当我按下组合键 ctrl shift n 时 我希望启动 notepad exe 我怎样才能做到这一点 您对所使用的概念有什么建议吗 我读过 何时使用
  • 常见的 Windows 编译器上有哪些 std::locale 名称可用?

    该标准对于什么构成有效的语言环境名称几乎没有提及 只有传递无效的区域设置名称才会导致std runtime error 哪些语言环境名称可用于常见的 Windows 编译器 例如 MSVC MinGW 和 ICC 好吧 C 和 C 语言环境
  • 如何向未知用户目录读取/写入文件?

    我正在尝试从用户目录 C Users USERNAME Test Source 读取和写入文件 但我未能成功找到任何有关如何自动检测用户名的资源 其中的 USERNAME上面的例子 或者无论如何 我可以让它读取和写入目录 而不需要知道用户名
  • 将所有文件与指定目录(和子目录)中的所有文件进行二进制比较

    我需要将目录及其子目录中包含的所有文件与同一目录及其子目录中包含的所有其他文件进行比较 并将匹配文件的路径记录到文本文件或 CSV 我意识到有一些软件工具可以做到这一点 但除非它可以在 Windows 中开箱即用 否则我将不被允许在我的网络
  • Windows 10 上的 LibPNG 构建问题

    我试图在 Windows 10 上构建 libpng 以获取 win32 二进制文件 但我认为有一个与 awk 解析带有 CRLF 行结尾的文件相关的问题 我尝试使用 dos2unix 命令转换文件 但没有成功 结果相同 在 make 命令
  • 如何迭代所有注册表项?

    我正在尝试迭代所有注册表项以查找 包含 并删除 jre1 5 0 14 值 有办法做到吗 下面的代码只是在特定键下找到jre1 5 0 14 我确实想迭代所有的键 顺便说一句 if 子句获取是否等于 jre1 5 0 14 但如果它包含 j
  • 将 kinit 与 keytab 文件一起使用时会发生什么

    希望对kinit和keytab文件的使用有更多的了解 例如 如果我已经为某个服务生成了一个密钥表文件 该服务通过以下方式注册到活动目录 ktpass mapuser to someuseraccount ktab k mykeytab a
  • Windows 上使用 g++ 的 Makefile,链接库

    我已经厌倦了 MSVC 6 以及每个人总是告诉我它是一个蹩脚的编译器等等 所以现在我决定尝试使用 vim 加 g 和 makefile 这是我的问题 我有以下 makefile This is supposed to be a commen

随机推荐

  • arcpy批量将excel一些列的点坐标制作成面

    使用Arcpy可以批量将Excel表格中的点坐标制作成面 并将对应组点的属性写入到对应面的属性中 import arcpy import xlrd 设置输入数据路径 excel file r C data points xlsx 包含点坐标
  • GCC编译过程,了解编译原理

    说明 这篇文件是在读 程序员的自我修养 链接 装载与库 的一点笔记 权当时学习的记录 1 GCC编译过程分解 以HelloWorld程序为例 2 预编译 规则 命令 gcc E XXX c o XXX i 3 编译 词法分析 语法分析 语义
  • Android九宫格控件-可在ListView和RecyclerView中使用

    需求场景 熟悉Android App开发的同学 肯定都清楚 如果要显示多张图片 类似九宫格 可以用GridView或者GridLayout来做 但是如果需求要求在ListView或者recyclerView 的每个item中都显示这样一个九
  • python期末考试试卷及解析

    一 单项选择题 每题 2 分 共 20 分 1 以下关于计算机和程序设计的说法错误的是 A 高级编程语言按照计算机执行方式可分为静态语言和脚本语言 B 编译是将源代码转换成目标代码的过程 C IPO 方法是一种按输入数据 处理数据和输出数据
  • 876. 链表的中间结点

    876 链表的中间结点 简单 给定一个头结点为 head 的非空单链表 返回链表的中间结点 如果有两个中间结点 则返回第二个中间结点 示例 1 输入 1 2 3 4 5 输出 此列表中的结点 3 序列化形式 3 4 5 返回的结点值为 3
  • python爬虫入门教程(非常详细),全网最细的Python爬虫教程

    一 基础入门 1 1什么是爬虫 爬虫 spider 又网络爬虫 是指向网站 网络发起请求 获取资源后分析并提取有用数据的程序 从技术层面来说就是 通过程序模拟浏览器请求站点的行为 把站点返回的HTML代码 JSON数据 二进制数据 图片 视
  • k8s Service服务详解

    1 Service 的概念 k8s中Service定义了这样一种抽象 一个pod的逻辑分组 一种可以访问他们的策略 通常称为微服务 这一组pod能够被Service访问到 通常是通过Label Selector Service能够提供负载均
  • pyppeteer文档

    https miyakogi github io pyppeteer reference html
  • mysql8.0 tp5_tp5.sql · 雨絡丶縋憶/Tp5.1 后台 - Gitee.com

    Navicat MySQL Data Transfer Source Server localhost Source Server Version 50617 Source Host localhost 3306 Source Databa
  • #define定义标识符常量和宏

    全文目录 引言 define作用的阶段与特点 C语言程序的翻译与执行 翻译部分 编译 链接 执行部分 define定义标识符 define定义宏 宏的简介 宏的使用 宏与函数的对比 总结 引言 我们在初识C语言部分已经了解过 define可
  • 修改windows注册表使投影模式默认为复制

    可以通过以下步骤修改Windows注册表 使投影模式默认为复制 打开 运行 对话框 按下Win R 输入 regedit 并按Enter键打开注册表编辑器 在左侧面板中导航到以下路径 HKEY CURRENT USER Software M
  • Input 只能输入数字,数字和字母等的正则表达式

    经过个人实践的正则表达式 只能输入字母和数字和 onkeyup value value replace w ig 只能输入字母和数字和 onkeyup value value replace w ig JS只能输入数字 数字和字母等的正则表
  • 【计算机毕业设计】245个性化美食推荐系统

    一 系统截图 需要演示视频可以私聊 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术 让传统数据信息的管理升级为软件存储 归纳 集中处理数据信息的管理方式 本个性化美食推荐系统就是在这样的大环境下诞生 其可以帮助管理者在短时间内处理完
  • BIO,NIO,AIO的区别

    BIO NIO和AIO是Java网络编程的三种模型 BIO 同步并阻塞 服务实现模式为一个连接对应一个线程 即客户端发送一个连接 服务端要有一个线程来处理 如果连接多了 线程数量不够 就只能等待 即会发生阻塞 NIO 同步非阻塞 服务实现模
  • linux中,在变量的设置当中,单引号与双引号的用途有何不同?

    单引号与双引号的最大不同在于双引号仍然可以保存变量的内容 但单引号内仅能是一般字符 而不会游特殊符号 我们以下面的列子说明 假如我定义了一个变量 name zhangsan 现在想以name这个变量的内容定义输出myname显示 zhang
  • 端口说明大全

    20 Ftp Data 21 FTP Open Server 23 Telnet 25 Smtp 31 Master Paradise 80 53 DNS Bonk DoS Exploit 79 Finger 80 Http 110 Pop
  • NDK工程使用ncnn vulkan包提示需要frtti、fexceptions

    这两天弄一个工程 是在安卓端部署ncnn with vulkan的项目 一般来说都会用到 try catch 或者 有些库需要用到typeid 一般的方法是在build gradle里面加上 externalNativeBuild cmak
  • Generalized Product Quantization Network for Semi-supervised Hashing(用于半监督散列的广义乘积量化网络)

    Abstract 哈希学习由于其存储成本低和搜索速度快 在图像检索方面取得了巨大的成功 近年来 利用深度学习优势的哈希方法已成为人们关注的焦点 并取得了一些积极的成果 然而 除非昂贵的标签信息足够 否则这些方法不能达到预期 为了解决这个问题
  • SQL注入

    SQL注入 二次注入 1 二次注入介绍 update 表名 set 字段名修改的内容 where 限制条件 用户注册 用户使用浏览器向网站服务器发送注册请求 此时网站服务器与数据库服务器进行交互 而当用户登录时 忘记密码或想修改用户密码 执
  • Windows下ChatGLM2-6B本地化部署

    一 安装前准备 1 github上下载ChatGLM2 6B代码 github地址 https github com THUDM ChatGLM2 6B git ChatGLM2 6B GitHub地址 拉取代码 2 安装Anaconda