当前位置: 首页 > news >正文

ChatGpt开源项目完美运行配置-ChatGml2

(以下所有软件均可免费在网盘获取。)

任务描述
本节任务是安装和配置chatgpt项目所需的软件以及chatgpt项目所需要的python库包,同时编写python代码来完成chatgpt项目的人机对话功能。

实验工具
显卡GTX1070(专用内存需要大于等于6G)以上电脑、Pycharm软件、Python3.10软件、cuda11.0软件。

任务实施
任务一 环境配置
cuda11.0软件百度网盘获取:
链接:https://pan.baidu.com/s/1KOJfAVR6nKmVafNnmbsYDw
提取码:lblh
cudnn11.0百度网盘获取:
链接:https://pan.baidu.com/s/1CBuq7jflihEDuclSq-RTJA
提取码:efgu

一.Cuda11.0软件安装配置
1.找到cudnn-11.0-windows-x64-v8.0.4.30.zip压缩包,并且解压它。
在这里插入图片描述

2.解压后双击点开,准备安装cuda11.0软件。
在这里插入图片描述

3.选择默认路径,点击ok。
在这里插入图片描述
在这里插入图片描述

4.等待检查系统的兼容性。
在这里插入图片描述

5.检查完后,点击同意并继续。
在这里插入图片描述

6.在这里,我们选择“自定义(c)(高级)”,然后点击下一步。
在这里插入图片描述

7.点击CUDA左边的“+”号。
在这里插入图片描述

8.查看Visual Studio Integration选项,点击取消Visual Studio Integration打得勾,然后点击下一步。
在这里插入图片描述

9.继续点击下一步。
在这里插入图片描述

10.等待安装完成。
在这里插入图片描述

11.安装成功,点击下一步即可。
在这里插入图片描述

12.安装完成后,找到cudnn-11.0-windows-x64-v8.0.4.30.zip压缩包,并且解压。
在这里插入图片描述

13.将cuda文件夹内的所有文件复制到默认路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0
在这里插入图片描述

14.检测,按windows+R键,输入cmd回车,输入:nvcc -V,显示有V11.0的版本即为检测成功。
在这里插入图片描述

二.Python软件安装与配置
python3.10软件百度网盘获取:
链接:https://pan.baidu.com/s/1t5jfcvalXEJ-wF_hapjw7Q
提取码:brbh
1.找到python软件python-3.10.11-amd64.exe,双击点开准备进行安装。
在这里插入图片描述

2.先选择Add Python.exe to PATH自动配置系统环境,再点击Install Now。
在这里插入图片描述

3.等待python软件的安装进程。
在这里插入图片描述

4.出现Close说明安装完成,点击Close完成安装。
在这里插入图片描述

三.Pycharm软件安装与配置
Pycharm软件百度网盘获取:
链接:https://pan.baidu.com/s/1fnA4X7wOA7O-4byPQv492A
提取码:pq5l
1.找到pycharm软件pycharm-community-2020.2.1.exe。
在这里插入图片描述

2.双击点开pycharm-community-2020.2.1.exe。
在这里插入图片描述

3.点击Next。
在这里插入图片描述

4.选择你安装的路径,在这里我安装在默认的路径中,继续点击Next。
在这里插入图片描述

5.勾选64-bit launcher和Add launchers dir to the PATH,如图1-1-30所示,继续点击Next。
在这里插入图片描述

6.点击Install。
在这里插入图片描述

7.等待安装。
在这里插入图片描述

8.出现Finish,说明完成安装,点击Finish结束安装。
在这里插入图片描述

任务二 运行chatgpt项目
chatgml2-6B项目(不包括模型):
链接:https://pan.baidu.com/s/1KojC0Mgt09JVq7sZcrSpwg
提取码:xqtj
chatgml2-6B项目模型地址:https://huggingface.co/THUDM/chatglm2-6b/tree/main

一.Python库包的安装
1.找到Pycharm桌面快捷方式,双击打开。
在这里插入图片描述

2.选择界面编辑底色,黑色或者白色,这里我选黑色,然后点击Next:Featured plugins。
在这里插入图片描述

3.点击Start using PyCharm,开始使用Pycharm。
在这里插入图片描述

4.选择Open。
在这里插入图片描述

5.找到ChatGLM2-6B-main项目路径,点击ok,打开ChatGLM2-6B-main项目。
在这里插入图片描述

6.找到File位置,点击File。
在这里插入图片描述

7.点击Settings…。
在这里插入图片描述

8.找到Python Interpreter,点击Python Interpreter。
在这里插入图片描述

9.点击设置按钮,点击Add。
在这里插入图片描述

10.点击System Interpreter,然后点击OK。
在这里插入图片描述

11,然后会出现python3.10环境,注意这里会显示3.9,是因为Pycharm软件目前不支持显示Python3.10,但不影响。
在这里插入图片描述

12.点击ok。即环境设置完成。
在这里插入图片描述

13.找到Terminal,打开Terminal窗口。
在这里插入图片描述

14.使用以下命令进入gpu库包路径:
cd gpu库包
在这里插入图片描述

15.使用以下命令安装torch库包:
pip install “torch-2.0.1+cu117-cp310-cp310-win_amd64.whl”
在这里插入图片描述

16.使用以下命令安装torchaudio库包:
pip install “torchaudio-2.0.2+cu117-cp310-cp310-win_amd64.whl”
在这里插入图片描述

17.使用以下命令安装torchvision库包:
pip install “torchvision-0.15.2+cu117-cp310-cp310-win_amd64.whl”
在这里插入图片描述

18.依次使用以下命令安装其他库包:
cd …
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
在这里插入图片描述
19.使用以下命令安装cudnn相关依赖库包:
pip install nvidia-cudnn-cu11 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install nvidia-cuda-runtime-cu11 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install nvidia-cublas-cu11 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install nvidia-cuda-nvrtc-cu11 -i https://pypi.tuna.tsinghua.edu.cn/simple
在这里插入图片描述

二.Python代码编写运行测试
1.新建一个main.py文件,依次点击New->Python File。
在这里插入图片描述

2.输入main.py并且回车,创建main.py文件。
在这里插入图片描述

3.然后准备开始编写代码,首先调用加载模型的库包
代码如下:
from transformers import AutoTokenizer, AutoModel
在这里插入图片描述

4.写一段加载大模型的代码,以供后续使用
代码如下:
tokenizer = AutoTokenizer.from_pretrained(“chatglm2”, trust_remote_code=True)
model = AutoModel.from_pretrained(“chatglm2”, trust_remote_code=True).half().quantize(4).cuda()
model = model.eval()
在这里插入图片描述

5.定义一个main函数,该main函数的功能是人机对话。
代码如下:
def main():
在这里插入图片描述

6.定义一个列表,并且输出功能描述。
代码如下:
history =[]
print(“欢迎使用 ChatGLM2-6B 模型,输入内容即可进行对话”)
在这里插入图片描述

7.定义一个循环,该循环作用是可以循环人机对话。
代码如下:
while True:
在这里插入图片描述

8.写一个用户输入的接口,用户可以在此输入问题。
代码如下:
query = input(“\n用户:”)
在这里插入图片描述

9.写一个判断语句,如果输入“stop”则停止人机对话,否则将继续往下执行。
代码如下:
if query.strip() == “stop”:
break
在这里插入图片描述

10.显示机器名称以及定义一个参数
代码如下:
print(“\nChatGLM:”, end=“”)
current_length = 0
在这里插入图片描述

11.持续输出机器人对用户的提问作出的回答语句。
代码如下:
for response, history, past_key_values in model.stream_chat(tokenizer,
query, history=history,
past_key_values=None,
return_past_key_values=True):
print(response[current_length:], end=“”, flush=True)
current_length = len(response)
print(“”)
在这里插入图片描述

12.写一个程序执行入口,执行main函数。
代码如下:
if name == “main”:
main()
在这里插入图片描述

13.写完之后运行main.py文件。
在这里插入图片描述

14.运行后加载大模型过程中需要等待一段时间,加载模型过程如下。
在这里插入图片描述

15.运行成功后,输入“你好”,查看回答。
在这里插入图片描述

16.询问“晚上睡不着怎么办?”,查看回答。
在这里插入图片描述

相关文章:

ChatGpt开源项目完美运行配置-ChatGml2

(以下所有软件均可免费在网盘获取。) 任务描述 本节任务是安装和配置chatgpt项目所需的软件以及chatgpt项目所需要的python库包,同时编写python代码来完成chatgpt项目的人机对话功能。 实验工具 显卡GTX1070(专用内存需要大于等…...

微服务-GateWay(网关)

所谓网关是什么意思? 相当于就是你们小区家的保安,进出小区都得获得保安的同意,守护你们小区的生命财产健康,网关也是如此,对每个请求都严格把关,将合法的或者是获得权限的请求进入服务器 网关的功能&…...

基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构

本文研究的六轮差速移动机器人 (Six-Wheeled Differential Mobile Robot , SWDMR) 为了满足资源站到资源站点对点的物资运输,对机器人的跨越障碍能力 有较高的要求。对比传统的四轮移动机器人,六轮移动机器人能够提供更强的驱动 力&#…...

单片机之从C语言基础到专家编程 - 4 C语言基础 - 4.9 变量与常量

基本数据类型可以作为变量与常量使用,顾名思义,变量运行时可以改变其值,常量运行时不会改变其值。 常量分为整型常量、浮点型常量、字符常量、字符串常量和符号常量。 通常用#define来定义一个标识符来表示一个常量 用type name 常量来定义一个变量,…...

如何在 3dmax 中渲染? 3dmax渲染教程

3D Max是一款专业的3D计算机设计软件,用于创建3D动画、游戏、模型、图像等,在视频游戏开发商、电影和电视工作室的工作中发挥着重要作用。渲染是 3D max 建模的一个非常重要的部分。在渲染中,通过设置渲染选项的一些参数,我们可以…...

linux部署项目, 报数据库连接不上错误

问题描述: sprinboot项目, 本地连线上数据库可以使用, springboot项目中java包的版本是8.0, 线上数据库是5.7, 但在将项目部署到服务器上的时候发现项目启动报错, 于是寻找问题, 发现是useSSLtrue导致的 出问题前的链接地址: url: jdbc:mysql://localhost:3306/ja…...

现有的vue3+ts+vite项目集成electron

效果图 什么时Electron Electron是使用JavaScript,HTML和CSS构建跨平台的桌面应用程序框架。 Electron兼容Mac、Windows和Linux,可以构建出三个平台的应用程序。 现有的vue3项目集成Electron 安装依赖 原来有一个vue3+ts+vite+pnpm的项目,其中sub-modules是子项目,web是…...

线性代数的学习和整理8: 方阵和行列式相关(草稿-----未完成)

1.4.1 方阵 矩阵里,行数列数的矩阵叫做方阵方阵有很多很好的特殊属性 1.4.2 行列式 行列式是方阵的一种特殊运算如果矩阵行数列数相等,那么这个矩阵是方阵。行列数的计算方式和矩阵的不同只有方阵才有行列式行列式其实是,矩阵变化的一个面…...

Ubuntu vi 左下角没有提示

1 打开终端,输入以下命令 sudo gedit /etc/vim/vimrc.tiny 2 进入文件后,修改 set compatible 为set nocompatible,如下所示: " Vim configuration file, in effect when invoked as "vi". The aim of this "…...

Windows安装 Elasticsearch 教程

下载地址 Past Releases of Elastic Stack Software | Elastic 解压 解压完的样子 进入BIN目录 D:\Develop\elasticsearch\elasticsearch-7.12.0\bin 按住shift 鼠标右键 打开 powershell 窗口 查看ES版本 .\elasticsearch.bat --version 出现问题了 警告:不赞成…...

Dubbo 融合 Nacos 成为注册中心

快速上手 Dubbo 融合 Nacos 成为注册中心的操作步骤非常简单,大致步骤可分为“增加 Maven 依赖”以及“配置注册中心“。 增加 Maven 依赖 只需要依赖Dubbo客户端即可,关于推荐的使用版本,请参考Dubbo官方文档或者咨询Dubbo开发人员&#…...

kafka--kafka基础概念-ISR详解

kafka基础概念-ISR详解 主要是讲 主 往 从同步中的问题 当绿色P1接收到写入的数据,要同步到紫色的P1S1和P1S2 如何保证一致性呢? 使用In Sync Replicas 也就是ISR概念 为什么不一致的? 因为P1S1同步数据 可能花费 50ms P1S2可能花费60ms…...

《Kubernetes部署篇:Ubuntu20.04基于外部etcd+部署kubernetes1.24.16集群(多主多从)》

一、架构图 如下图所示: 二、环境信息 1、部署规划 主机名K8S版本系统版本内核版本IP地址备注k8s-master-631.24.16Ubuntu 20.04.5 LTS5.15.0-69-generic192.168.1.63master节点 + etcd节点k8s-master-641.24.16Ubuntu 20.04.5 LTS5.15.0-69-generic192.168.1.64master节点 + …...

音频解码及如何在Java实现

本人并不干这个,但是被迫下水了解了一下这个,稍微做了一下整理。再就是感觉现在网上以及ChatGPT在这方面给出的答案太水了,在此开辟一篇。无意放出代码,这里只介绍一些可能重要的点。 本来以为有了ChatGPT写这些就没有必要了&…...

Webshell 及检测绕过

webshell 概念 web指的是在web服务器上,而shell是用脚本语言编写的脚本程序,WebShell是一种用来进行网站和服务器管理的脚本程序,webshell一般是被网站管理员用于网站管理、服务器管理等等一些用途,但是由于webshell的功能比较强大&#xff0…...

Ubuntu22.4系统mongodb数据库安装

Ubuntu22.4系统mongodb数据库安装 1、打开终端并运行以下命令,以导入 MongoDB GPG 密钥: wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -2、添加 MongoDB 仓库到你的系统。根据你的 Ubuntu 版本,选择…...

Vue初识别--环境搭建--前置配置过程

问题一: 在浏览器上的扩展程序上添加了vue-devtools后不生效: 解决方式:打开刚加入的扩展工具Vue.js devtools的允许访问文件地址设置 问题二:Vue新建一个项目 创建一个空文件夹hrsone,然后在VSCode中打开这个空文件夹…...

数据在内存中的储存·大小端(文字+画图详解)(c语言·超详细入门必看)

前言:Hello,大家好,我是心跳sy😘,本节我们介绍c语言的两种基本的内置数据类型:数值类型和字符类型在内存中的储存方法,并对大小端进行详细介绍(附两种大小端判断方法)&am…...

Word怎么转换成PDF文档?多个Word转换成PDF步骤分享

word文档是一种非常好用的文件格式,可以帮助用户们很好的保存图片和文字内容,不过并不是只有word这一种文档类文件格式,还有一种pdf文档也深受用户们的欢迎,在工作或者学习过程中这两种文档是可以互相转换格式的,那么W…...

【C++习题集】-- 堆

(用于复习) 目录 树概念及结构 名词概念 二叉树概念及结构 特殊的二叉树 满二叉树 完全二叉树 运算性质 二叉树存储结构 顺序存储 链式存储 堆 - 顺序存储 堆的性质 堆的实现 堆的应用 堆排序 直接建堆法 树概念及结构 概念&#xff1a…...

vscode里如何用git

打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: ​onCreate()​​ ​调用时机​:Activity 首次创建时调用。​…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...