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.询问“晚上睡不着怎么办?”,查看回答。
在这里插入图片描述

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

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

相关文章

[JavaWeb]【五】web后端开发-Tomcat SpringBoot解析

目录 一 介绍Tomcat 二 基本使用 2.1 解压绿色版 2.2 启动TOMCAT 2.3 关闭TOMCAT 2.4 常见问题 2.5 修改端口号 2.6 部署应用程序 三 SpringBootWeb入门程序解析 前言:tomcat与SpringBoot解析 一 介绍Tomcat 二 基本使用 2.1 解压绿色版 2.2 启动TOMCAT 2…

BOXTRADE-天启量化分析平台 系统功能预览

BOXTRADE-天启量化分析平台 系统功能预览 系统功能预览 1.登录 首页 参考登录文档 2. A股 行情与策略分析 2.1 A股股票列表 可以筛选和搜索 2.2 A股行情及策略回测 2.2.1 行情数据提供除权和前复权,后复权数据;外链公司信息 2.2.2 内置策略执行结果…

matlab 检测点云中指定尺寸的矩形平面

目录 一、概述1、算法概述2、主要函数二、代码示例三、结果展示四、参数解析输入参数名称-值对应参数输出参数五、参考链接一、概述 1、算法概述 detectRectangularPlanePoints:检测点云中指定尺寸的矩形平面 <

git快速入门

常用指令 git config --global user.email yinweitingptxinke.com git config --global user.name yinweiting git commit -m "日志消息" filename git reflog 查看精简版本信息 git log 查看详细版本信息 注意:这里设置的用户签名和将来登录的GitHub的账号没有任…

【HCIP】01.RSTP

STP的缺点 STP对计时器的依赖&#xff08;需要等固定30s&#xff09;STP重收敛速度过程慢&#xff08;30s或50s&#xff09;拓扑变化机制太慢&#xff08;高度中央集权&#xff0c;需要上报到根桥再下发TCN&#xff09; RSTP 802.1W&#xff0c;收敛速度更快&#xff0c;能够…

Python程序设计基础:random库的使用

文章目录 一、常见的random库函数二、应用实例 一、常见的random库函数 在使用Python语言进行编程计算时&#xff0c;计算机完成的计算主要是确定的&#xff0c;但是在将其进行应用时&#xff0c;人们会模拟现实生活中的现象和活动&#xff0c;希望其增加一些随机性&#xff0…

econml介绍

EconML简介 EconML: A Python Package for ML-Based Heterogeneous Treatment Effects Estimation EconML是一个通过机器学习方法从观察数据中估计heterogeneous treatment effects的Python包。该软件包是微软研究院ALICE项目的一部分&#xff0c;目的是将最新的机器学习方法…

神经网络改进:注重空间变化,权重参数调整,正则化, 熵的简单理解

目录 神经网络改进&#xff1a;注重空间变化 将高纬空间映射到地位空间便于表示&#xff08;供给数据&#xff09; 将地位空间映射到高纬空间进行分类聚合&#xff08;达到可分状态&#xff08;K-means&#xff09;&#xff09; 神经网络改进&#xff1a;权重参数调整 自注…

【RabbitMQ】RabbitMQ整合SpringBoot案例

文章目录 1、前情提要【RabbitMQ】2、RabbitMQ-SpringBoot案例 -fanout模式2.1 实现架构总览2.2 具体实现2.2.1生产者2.2.1消费者 1、前情提要【RabbitMQ】 【RabbitMQ】消息队列-RabbitMQ篇章 RabbitMQ实现流程 2、RabbitMQ-SpringBoot案例 -fanout模式 2.1 实现架构总览…

maven打出jar中动态替换占位符

使用场景&#xff1a; maven打出的jar中pom.xml动态替换占位符 有些时候某些公共工具jar包被项目引用后发现公共jar的pom.xml中的version依然还是占位符&#xff0c;例如下面 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok<…

相关搜索引擎常用搜索语法(Google hacking语法和FOFA语法)

一&#xff1a;Google Hack语法 Google Hacking原指利用Google搜索引擎搜索信息来进行入侵的技术和行为&#xff0c;现指利用各种搜索引擎并使用一些高级的搜索语法来搜索信息。既利用搜索引擎强大的搜索功能&#xff0c;在在浩瀚的互联网中搜索到我们需要的信息。 &#xff0…

STM32 CubeMX (第二步Freertos任务通信:队列、信号量、互斥量,事件组,任务通知)

STM32 CubeMX STM32 CubeMX ____Freertos任务通信&#xff1a;队列、信号量、互斥量&#xff0c;事件组&#xff0c;任务通知 STM32 CubeMX一、STM32 CubeMX设置时钟配置HAL时基选择TIM1&#xff08;不要选择滴答定时器&#xff1b;滴答定时器留给OS系统做时基&#xff09;使用…

基于docker搭建owncloud Harbor 构建镜像

环境介绍&#xff1a;ContenOS7.9 docker17.12.1-ce 使用mysql:5.6和 owncloud 镜像&#xff0c;构建一个个人网盘。 docker pull owncloud #拉取镜像 docker pull mysql5.6 创建容器 docker run --name owncloud-mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORDroot …

Const的区别 学习笔记

C程序设计之const八大用法_哔哩哔哩_bilibili const优先修饰const左边&#xff0c;若左边没有东西&#xff0c;则修饰右边的东西 前两个a,b不是指针由于修饰的是int&#xff0c;是类型&#xff0c;所以a和b的值不能改变 c的类型的指针&#xff0c;const修饰的是int&#xff0…

Azure创建可用性集

什么是可用性集 在Azure中&#xff0c;可用性集&#xff08;Availability Set&#xff09;是一种用于提高虚拟机&#xff08;VM&#xff09;可用性和可靠性的功能。它通过将虚拟机分布在不同的物理硬件和故障域中来提供高可用性。每个故障域都是一个独立的电力和网络故障区域&…

数据同步后数据总条数对不上的问题解决

文章目录 [toc] 1.问题2.解决办法2.1&#xff09;设置合理的线程池参数2.2&#xff09;设置url连接参数2.3) 优化msql的系统参数2.4&#xff09;使用CountDownLatch减法计数器和数据插入的公共方法新开一个事务2.5&#xff09;sql批量注入器执行成功后&#xff0c;当前线程slee…

C++11 智能指针

文章目录 什么是智能指针为什么用智能指针智能指针的类型和各自的功能auto_ptr&#xff08;c98使用的&#xff0c;现已废弃&#xff09;unique_ptrshared_ptrweak_ptr unique_ptr和shared_ptr的简单模拟实现 什么是智能指针 智能指针是一种在编程中用于管理动态分配内存的指针…

DC电源模块如何调节电源输出电压和电流

BOSHIDA DC电源模块如何调节电源输出电压和电流 DC电源模块是一种电源转换器&#xff0c;在电子设备中广泛使用。它可以将交流电转换为直流电&#xff0c;或者将低电压直流电转换为高电压直流电。 DC电源模块通常可以调节输出电压和电流&#xff0c;以满足各种电子设备的不同需…

【C++】 使用红黑树模拟实现STL中的map与set

文章目录 前言1. 对之前实现的红黑树进行一些补充和完善1.1 析构1.2 查找 2. STL源码中map和set的实现3. 改造红黑树封装map和set3.1 红黑树结构修改3.2 map、set的结构定义3.3 insert的封装3.4 insert测试3.5 发现问题并解决3.6 红黑树迭代器实现3.7 封装set和map的迭代器并测…

RK3399平台开发系列讲解(内核调试篇)Valgrind使用案例

🚀返回专栏总目录 文章目录 一、使用未初始化的内存案例二、内存泄露三、在内存被释放后进行读/写案例四、从已分配内存块的尾部进行读/写案例五、两次释放内存案例沉淀、分享、成长,让自己和他人都能有所收获!😄 📢Valgrind 是一个开源的内存调试和性能分析工具,用于…