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

news/2024/7/10 19:59:52 标签: chatgpt, python, chatgml, 开源

任务描述
本节任务是安装和配置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软件安装与配置
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.niftyadmin.cn/n/4947688.html

相关文章

AIGC音视频工具分析和未来创新机会思考

编者按:相较于前两年,2023年音视频行业的使用量增长缓慢,整个音视频行业遇到瓶颈。音视频的行业从业者面临着相互竞争、不得不“卷”的状态。我们需要进行怎样的创新,才能从这种“卷”的状态中脱离出来?LiveVideoStack…

字符串拼接操作的面试题讲解

1、字符串拼接操作 常量与常量的拼接结果在常量池,原理是编译期优化。String s1"a""b""c";常量池中不会存在相同内容的常量。只要其中有一个是变量,结果就在 堆 中。变量拼接的原理是StringBuilder。如果拼接符号的前后出…

【学习日记】【FreeRTOS】任务调度时如何考虑任务优先级——任务的自动切换

写在前面 本文开始为 RTOS 加入考虑任务优先级的自动调度算法,代码大部分参考野火。 本文主要是一篇学习笔记,加入了笔者自己对野火代码的梳理和理解。 一、基本思路 首先我们要知道,在 RTOS 中,优先级越高、越需要被先执行的的…

kafka晋升之路-理论+场景

kafka晋升之路 一:故事背景二:核心概念2.1 系统架构2.2 生产者(Producer)2.2.1 生产者分区2.2.2 生产者分区策略 2.3 经纪人(Broker)2.3.1 主题(Topic)2.3.2 分区(Partit…

【操作系统】24王道考研笔记——第一章 计算机系统概述

第一章 计算机系统概述 一、操作系统基本概念 1.1 定义 1.2 特征 并发 (并行:指两个或多个事件在同一时刻同时发生) 共享 (并发性指计算机系统中同时存在中多个运行着的程序,共享性指系统中的资源可供内存中多个并…

vim配置之spf13-vim

文章目录 vim配置:spf13-vim什么是spf13-vim安装*nix and os x安装 spf13-vim使用技巧或快捷键spf13的vim默认没有启用剪切板,需要在vimrc中设置 vim配置:spf13-vim 什么是spf13-vim 官网:http://vim.spf13.com/ 它是一个完全跨平台发布,保持vim的感觉…

LeetCode 400. 第 N 位数字——JAVA

题目描述: 给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...] 中找出并返回第 n 位上的数字。 示例 1: 输入:n 3 输出:3示例 2: 输入:n 11 输出&#xff1…

SpringCloud Gateway:status: 503 error: Service Unavailable

使用SpringCloud Gateway路由请求时,出现如下错误 yml配置如下: 可能的一种原因是:yml配置了gateway.discovery.locator.enabledtrue,此时gateway会使用负载均衡模式路由请求,但是SpringCloud Alibaba删除了Ribbon的…