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

news2025/1/12 23:03:31

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

任务描述
本节任务是安装和配置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.询问“晚上睡不着怎么办?”,查看回答。
在这里插入图片描述

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

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

相关文章

map和set等关联式容器特性

1. 关联式容器 在初阶阶段,我们已经接触过 STL 中的部分容器,比如: vector 、 list 、 deque 、 forward_list(C11) 等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面 存储的是元素本身…

2023河南萌新联赛第(六)场:河南理工大学 L - 阴晴不定的大橘学长

2023河南萌新联赛第(六)场:河南理工大学 L - 阴晴不定的大橘学长 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 在通往院楼的道路上&a…

Android学习之路(9) Intent

Intent 是一个消息传递对象,您可以用来从其他应用组件请求操作。尽管 Intent 可以通过多种方式促进组件之间的通信,但其基本用例主要包括以下三个: 启动 Activity Activity 表示应用中的一个屏幕。通过将 Intent 传递给 startActivity()&…

【SQL应知应会】索引(三)• MySQL版:聚簇索引与非聚簇索引;查看索引与删除索引;索引方法

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习,有基础也有进阶,有MySQL也有Oracle 索引 • MySQL版 前言一、索引1.简介2.索引类型之逻…

Struts vs. Struts 2:Java Web 开发框架的升级之路与竞争力分析

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

算法 | 活用双指针完成复写零操作

Problem: 1089. 复写零 文章目录 题目解析算法原理分析找到最后一个复写的位置从后往前进行复写操作 代码展示 题目解析 首先我们来分析一下本题的题目意思 可以看到题目中给到了一个数组,意思是让我们将数组中的零元素都复写一遍,然后将其余的元素向后平…

VMware和ubuntu配置Hadoop环境

本博客主要是为了学校课程”大数据与云计算“需要安装Hadoop而写,希望这篇博客对各位阅读这篇博客的人有所帮助。废话不多说,下面直接开始配置教程。 一、获取VMware安装包 VMware获取方法有很多种,这里我准备了官网获取和从我准备的资料中获…

jstat -gcutil PID命令分析

jstat -gcutil命令打印出的数据可以用来分析Java应用程序的垃圾回收情况。 jstat -gcutil命令打印出的数据可以用来分析Java应用程序的垃圾回收情况。该命令输出的数据包括以下几个关键指标:- S0:幸存者空间0(Survivor Space 0)的…

详解I/O多路转接模型:select poll epoll

文章技术分享思路:从select模型开始,先了解select模型的理论基础,然后编写简单的基于select的tcp服务器,接着分析出select的特点和缺点。引出poll模型,了解了poll模型的基础理论,编写简单的基于poll的tcp服…

十二、执行引擎

这里写自定义目录标题 一、执行引擎概述二、Java代码的编译和执行的流程三、机器码、指令、汇编语言四、解释器五、JIT编译器 一、执行引擎概述 二、Java代码的编译和执行的流程 三、机器码、指令、汇编语言 高级语言 四、解释器 五、JIT编译器

Wlan——Wlan服务集与Wlan漫游的概念

目录 Wlan服务集的基本概念 无线漫游基本概念 无线漫游的分类 无线漫游的数据转发路径 二层本地转发漫游 三层本地转发漫游 二/三层集中转发漫游 无线漫游注意事项 Wlan服务集的基本概念 概念 全称 描述 BSS 基本服务集BSS 无线网络的基本服务单元 可以理解为1个A…

【0822作业】定义一个学生的结构体,设置私有权限,共有函数实现赋值并输出

定义一个学生的结构体,包含学生的姓名,年龄,成绩,性别,学生的成绩,姓名,定义为私有权限;定义一个学生类型的结构体变量,设置公有函数用于给学生的成绩和名字进行赋值&…

Ajax 请求到底应该放在 created 里还是 mounted 里???

示例代码 定义了一个数据 list,默认是空数组 定义了一个 API 请求,getDat 还定义了两个生命周期钩子 created 和 mounted 分析在 created 里的情况 这个时候,我们是能够成功发送 API 请求获取到数据的,控制台会打印 created&…

【Redis】——Redis基础的数据结构以及应用场景

什么是redis数据库 Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。,Redis 还支持 事务 、持久化、Lua 脚本、多种集群方案(主…

本地CPU部署运行ChatGLM2-6B模型

1、前期准备: 需要下载模型文件 2、部署过程及碰到的问题 (1)编译安装python 3.8.13 (Asianux release 7.6.18 gcc 4.8.5) 按运行的要求需要安装torch的>2.0,因此安装了torch的2.0.1,该版本的torch …

简析SCTP开发指南

目录 前言一、SCTP基本概念二、SCTP开发步骤1. **环境配置**:2. **建立Socket**:3. **绑定和监听**:4. **接收和发送数据**:5. **关闭连接**: 三、 C语言实现SCTP3.1SCTP客户端代码:3.2 SCTP服务器端代码&a…

关于伪装UserAgent知识总结

关于伪装UserAgent知识总结,可以根据自己实际应用环境去选择合适的节点,加入相应的代码即可: 1. 不缓存数据,不使用ssl 验证 from fake_useragent import UserAgentua UserAgent(verify_sslFalse,use_cache_serverFalse)2. 禁用…

C. Another Array Problem

思路:这个题没想到吧数先往0上搞,然后一直想不出来,为什么要先往0上搞呢,对于每个数来说,它最大只会变成这一堆数的最大值,所以我们考虑能不能变成最大值,那么只要是两个相等的数通过一次操作就…

智能安全帽_防抖视频定位智能安全帽头盔

智能安全帽具备出色的性能、超低功耗、广范围覆盖和简单的外围电路等优势,同时还拥有丰富的外部接口。它支持移动/联通/电信的4G5G网络,涵盖了LTE-TDD频段(B34/B38/B39/B40/B41)、LTE-FDD频段(B1/B3/B5/B8)、WCDMA频段(B1/B5/B8)、TD-SCDMA频段(B34/B39)…

【数据分析】客户分析行为分析

下面列举了几种客户行为分析模型。 1 5W2H (1)WHAT——是什么,目的是什么,做什么工作。 (2)WHY——为什么要做,可不可以不做,有没有替代方案。 (3)WHO——…