任务1 部署ChatGLM3-6B大模型并进行对话测试

news2024/12/23 9:17:51

部署ChatGLM3-6B大模型并进行对话测试

  • 0 介绍:
  • 1 趋动云项目创建与环境配置
    • 1.1 创建项目:
    • 1.2 配置环境
      • 1.2.1 进入终端
      • 1.2.2 设置镜像源
      • 1.2.3 克隆项目,并安装依赖
  • 2 修改代码,改路径以及启动代码
  • 3 运行代码
    • 3.1 运行gradio界面:
    • 3.2 运行streamlit界面:

0 介绍:

本项目是根据datawhale 与 趋动云平台联合 联合的项目,本文主要在于学习和了解使用大模型。
使用的大模型是 ChatGLM3-6B, 这是智谱AI和清华大学KEG实验室联合发布的新一代对话预训
练模型。
整体平台感觉还是非常好用的,方便模型的部署。
项目地址: https://github.com/THUDM/ChatGLM3
image.png

1 趋动云项目创建与环境配置

1.1 创建项目:

创建好账号之后,进入自己的空间,点击右上角的创建项目
image.png
给自己项目命名,选择本地代码:
image.png
镜像选择pytorch2.0.1,python3.9
image.png
选择预训练模型,点击公开,选择不要葱姜蒜上传的这个ChtaGLM3-6B模型。
image.png

都选完之后,点击右下角的创建,代码选择暂不上传。待会直接clone代码。
点击运行代码
image.png
资源配置选择:B1.large,24G的显存足够加载模型了。其他的不需要设置,然
后点击右下角的开始运行。
image.png

1.2 配置环境

1.2.1 进入终端

等右边两个工具全部加载完毕之后,再点击JupyterLabi进入开发环境
image.png
进入界面之后会有一个环境界面,可以简单运行一下环境界面:可以看到每个部分的文件都有自己固定的位置。
image.png

然后点击 小加号,新建一个终端。
image.png
点击 terminal 进入终端:
image.png

image.png

1.2.2 设置镜像源

首先在终端输入tmux,进入一个新的会话窗口。使用tux可以保持终端的稳定性。

tmux

升级apt,安装unzip:

apt-get update &apt-get install unzip

image.png

设置镜像源,升级pip:

git config --global url."https://gitclone.com/".insteadof https:/
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple
python3 -m pip install --upgrade pip

注:如果存在一些连接错误,你可以在23行中间添加

pip config set global.trusted-host mirrors.ustc.edu.cn

image.png

1.2.3 克隆项目,并安装依赖

克隆项目:并进入项目目录:

git clone https://github.com/THUDM/ChatGLM3.git
cd ChatGLM3

image.png
我觉得应该在里面搞一个虚拟环境,然后在虚拟环境里面安装,而不是在base里面安装。

返回终端,安装依赖:
修改requirements:
双击左侧的requirements.txt文件,把其中的torch删掉,因为我们的环境中已经有
torch了,避免重复下载浪费时间。
image.png

pip install -r requirements.txt

image.png

2 修改代码,改路径以及启动代码

修改web_demo2.py ** 将加载模型的路径**修改为: …/…/pretrain 如下图所示:
image.png

修改web_demo.py文件,先修改路径代码,然后修改启动代码。
image.png

将下方的启动代码,修改为 下方代码:
demo.queue().launch(share=False,server_name=“0.0.0.0”,server_port=7000)
image.png

于此同时,在界面的右边,添加外部端口:7000
image.png

3 运行代码

3.1 运行gradio界面:

python web_demo.py

image.png
加载完毕之后,复制外部访问的连接,到浏览器打开:
image.png
direct.virtaicloud.com:43779

使用谷歌打开可能会存在一些问题,可以换成ie浏览器:
image.png
这里的A,B这些错乱的字符,是我鼠标滚轮上下移动导致的,可以忽略,不影响的。
image.png

3.2 运行streamlit界面:

如果你已经运行了gradio, 需要先杀掉这个进程,否则内存不够用。
使用 **ctrl + c **杀掉进行。
杀掉进程之后,显存不会立刻释放,可以观察右边的GPU内存占用, 查看显存释放情况。
image.png

上面已经直接修改过 web_demo2.py ,所以可以直接使用streamlit 运行:

streamlit run web_demo2.py

运行 streamlit 之后,终端会打印两个地址。在右边添加一个和终端上显示的一样的端口号
image.png
image.png

添加端口:
image.png
image.png

等待加载完毕之后,再复制到浏览器里面打开:
image.png

然后打开浏览器: 可以进行对话。
image.png

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

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

相关文章

JAVA毕业设计109—基于Java+Springboot+Vue的宿舍管理系统(源码+数据库)

基于JavaSpringbootVue的宿舍管理系统(源码数据库)109 一、系统介绍 本系统前后端分离 本系统分为学生、宿管、超级管理员三种角色 1、用户: 登录、我的宿舍、申请调宿、报修申请、水电费管理、卫生检查、个人信息修改。 2、宿管: 登录、用户管理…

python实现从字符串中识别出省市区信息

从字符串中识别出省市区的信息分别存储,是我们经常会碰到的问题。如果用分词的方法去匹配获取比较麻烦,cpca包提供了便捷的调用函数transform。只要把含省市区的信息放进去,即可返回标准的含省市区的数据框。    本文详细阐述如何安装cpca包、transform函数参数定义,以及…

迷宫问题的对比实验研究

对不同的迷宫进行算法问题,分别采用栈、队列、基于红黑树的A*算法、以及图论中的最短路径来解决迷宫问题。 基本要求: (1) 从文件读入9*9的迷宫,设置入口和出口,分别采用以上方法,输出从入口到出…

CMake引用OSG

从CMake执行find_package(OpenSceneGraph REQUIRED COMPONENTS osgDB osgUtil)这句;情况如下; 当前OSG已经安装好;环境变量添加了OSG_ROOT(其值是OSG安装的根目录),并且 %OSG_ROOT%\bin 添加到了path; 有一个警告,已经done了; Found osgDB: optimized;D:/OSGEarth/l…

网络基础扫盲-多路转发

博客内容:多路转发的常见方式select,poll,epoll 文章目录 一、五种IO模型二、多路转发的常见接口1.select2、poll3、epoll 总结 前言 Linux下一切皆文件,是文件就会存在IO的情况,IO的方式决定了效率的高低。 一、五种…

【Solidity】Remix在线环境及钱包申请

好久没有学习区块链方面的知识了,目前通过自学大致掌握了Fabric联盟链的搭建,链码编写、部署,api调用,可以独立开发出一些基于fabric的应用,感觉开发出去中心化的应用还是很有意思的,因为他与之前开发的ssm…

Git 案例(企业如何使用git开发项目)

一、企业中我们是如何开发 1) 入职第一天,管理人员分配/git账号密码 2) 开发人员下载代码即文档/ 根据文档将环境搭建成功 3) 团队一般会给你讲讲项目相关的支持 4) 你接到第一个需求(或者某个功能,一般要经过沟通,分析,设计...等过程) 5) 创建feature分支(一般一个需求对应…

【计算机网络实验/wireshark】tcp建立和释放

wireshark开始捕获后,浏览器打开xg.swjtu.edu.cn,网页传输完成后,关闭浏览器,然后停止报文捕获。 若捕获不到dns报文,先运行ipconfig/flushdns命令清空dns缓存 DNS报文 设置了筛选条件:dns 查询报文目的…

【Java对象】一文读懂 Java 对象庐山真面目及指针压缩

文章目录 版本及工具介绍Java 对象结构对象头mark word 标记字mark word 标记字解析Lock Record class point 类元数据指针 实例数据对齐填充为什么需要对齐填充 常见 Java 数据类型对象分析ArrayListLongStringByteBoolean 其它指针压缩前置知识:32位操作系统为什么…

AI写作软件哪个好?这3个AI写作神器用了都说好!

随着信息时代的快速发展,AI写作早已成为人们创作内容的重要途径之一,在使用AI软件进行创作之前,当然要选择一个优质的写作软件,不过只要你拥有了这3款写作神器,你就能轻松创作出高质量的文章,我们一起来看看…

【uniapp】uview1.x 的 u-upload 上传点击删除隐藏 modal 提示框

uview1.x 版本的 upload 默认在图片成功上传后,再点击右上角删除按钮时会弹出提示框,如图: 但是有时又不需要,想要直接提示删除成功即可,由于官网没有给出点击删除按钮时所调用的钩子函数,又无法操作 DOM&…

【unity小技巧】实现由滑动条控制音量的大小

文章目录 前言开始1.配置BGM2.滑动条3.文本组件4.新增音量控制脚本 完结 前言 这期来一个比较基础的课程,也是比较常用的,unity使用滑动条控制音量的大小 开始 1.配置BGM 2.滑动条 3.文本组件 4.新增音量控制脚本 public class VolumeController : M…

数据库实验:SQL的数据视图

目录 视图概述视图的概念视图的作用 实验目的实验内容实验要求实验过程 视图概述 视图是由数据库中的一个表或多个表导出的虚拟表,其作用是方便用户对数据的操作 视图的概念 视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一…

关于ROS的网络通讯方式TCP/UDP

一、TCP与UDP TCP/IP协议族为传输层指明了两个协议:TCP和UDP,它们都是作为应同程序和网络操作的中介物。 **TCP(Transmission Control Protocol)协议全称是传输控制协议,是一种面向连接的、可靠的、基于字节流的传输…

树莓派4无法进入桌面模式(启动后出现彩色画面,然后一直黑屏,但是可以正常启动和ssh)

本文记录了这段比较坎坷的探索之路,由于你的问题不一定是我最终解决方案的,可能是前面探索路上试过的,所以建议按顺序看排除前置问题。 双十一又买了个树莓派 4B,插上之前树莓派 4B 的 TF 卡直接就能使用(毕竟是一样规…

Java 8 新特性 Stream 的使用场景(不定期更新)

方便在写代码的过程中直接使用,好记性不如好文章,直接 CV 改了直接用。提高 办(摸)公(鱼)效(时)率(间), 不然就直接问 GPT 也不是说不行。 只符合…

win10 + cmake3.17 编译libpng-1.6.34

需要预先编译zlib库当前的根目录为:D:\Depend_3rd_party\libpngx64\ 1. 下载并解压libpng-1.6.34,得到 D:\Depend_3rd_party\libpngx64\libpng-1.6.34 2. 创建build文件夹,install文件夹,得到 D:\Depend_3rd_party\libpngx64\i…

数据库--数据库约束/聚合查询/分组查询/联合查询

前言 逆水行舟,不进则退!!! 目录 数据库约束 聚合查询 分组查询 联合查询 联合查询---内连接与外连接 补充 联合查询用到的代码 数据库约束 not null 约束:在创建表的时候,可以指定列…

【实验记录】为了混毕业·读读论文叭

PR曲线 1. Robust_Place_Recognition_using_an_Imaging_Lidar 在第三节方法中,提到了一些列处理步骤,分析来与vins相似,在vins中是关键帧检索、特征提取、DBoW查询、描述子匹配、PnP RANSAC求解。 第四节的实验部分,没有绘制pr…

MyBatis 详解

目录 1.MyBatis 框架的搭建 1.1 创建数据库和表 1.2 添加 MyBatis 依赖 1.3 设置 MyBatis 配置 1.3.1 设置数据库的连接信息 1.3.2 设置 XML 保存路径和命名格式 1.4 根据 MyBatis 写法完成数据库得操作 1.4.1 定义接口 1.4.2 使用 XML 实现接口 2.MyBatis查询操作 …