【OpenBayes 官方教程】在模型训练中使用子域名访问服务

本教程主要为大家讲解 OpenBayes 上如何在模型训练中使用子域名访问服务,新朋友点击下方链接注册后,即可获得 4 小时 RTX 4090 + 5 小时 CPU 的免费使用时长哦!

注册链接

https://openbayes.com/console/signup?r=yuudi_nBBTicon-default.png?t=N7T8https://openbayes.com/console/signup?r=yuudi_nBBT

首先,创建一个新的「执行」,选择「读写绑定」,指向一个模型仓库,然后点击「下一步:选择算力」。

选择 3090 的算力,镜像选择 vLLM 镜像。

开始执行后,点击「打开工作空间」。

进入到 Jupyter 工作空间后,点击 JupyterLab 左侧文件夹,点击「input」,「input0」,然后可以看到所绑定的模型文件。

回到 home 目录,点击「终端」。

输入 pip list 可以看到 vLLM 0.2.7 版本已经装好了。

然后我们可以直接通过命令进行部署:我们按照 vLLM 官方的介绍启动一个 openai 兼容的 api serve,模型路径为 input0 ,可以对照右侧「概况」栏下的数据集路径,然后我们要为模型输入一个名称(教程示例为 yi ),运行 trust-remote-code 代码,启动脚本。

可以看到它默认使用的是 8000 端口。

我们新建一个终端,输入 nvidia-smi ,可以看到模型已经加载到了显卡里。

我们通过一个 curl 命令来进行测试,可以看到这个模型里面有一个叫做「yi」的模型了。到目前为止,模型已经部署成功了,但这个模型部署只能在容器内部访问,并不能暴露到公网上。而 OpenBayes 的模型训练功能会默认把容器内的 8080 端口暴露出来,并提供一个子域名。

我们将端口改为 8080 ,然后 host 指向 0.0.0.0,我们再执行。

可以看到模型一已经指向 8080 端口了,然后我们打开右侧导航栏中的「API地址」下的链接。

可以看到列出了当前模型的信息,证明我们容器内的 8080 端口已经暴露到公网上了。

使用这个功能需要先进行实名认证,否则无法看到「API地址」下的链接。

虽然通过这个方式,我们可以直接将这个 api server 暴露到了公网上,但是由于它没有一个界面,我们并不方便进行调试和测试。下面我将介绍怎样通过一个 gradio 的脚本对已经创建的 openai 兼容服务进行一个简单的测试。

首先,我们将端口换回 8000,再次启动,然后我们借鉴 vLLM 官方的一个脚本,可以直接把 vLLM 的代码下载下来。

在它的 example 目录下有一个 gradio_openai_chatbot_webserver 的一个脚本,这个脚本就可以直接调用我们刚创建的 server 。

我们先安装依赖,一定要安装 gradio3.41 版本。

然后再安装 openai。

安装好之后,启动这个脚本,通过 -h 命令可以看到里面的参数。

model-url 我们要给一个完整的前缀,指向 v1,模型名字为刚才指定的「yi」,port 指向 8080,host 还是0.0.0.0,这样这个 gradio 就启动起来了。

我们再次打开之前的子域名,就可以看到一个 ChatBot 的界面。

我们进行一个测试,可以看到它在不停地说话,而且重复一样的话,是因为这个模型的 Stop word 有点问题,我们打开刚才的脚本,对这个进行一个调整。

我们找到这个 stop-token-ids 的参数,并把它加上,输入 7 作为 stop word。

我们刷新之前的页面,可以看到能够正常使用了。

为了让大家更好地理解,OpenBaye贝式计算也为大家录制了详细的视频教程,可以点击下方链接查看,快速上手OpenBayes平台!https://www.bilibili.com/video/BV15C4y1k7K2/?spm_id_from=333.337.search-card.all.clickicon-default.png?t=N7T8https://www.bilibili.com/video/BV15C4y1k7K2/?spm_id_from=333.337.search-card.all.click

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

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

相关文章

Unity 刮刮乐(优化极简)

废话不多说上代码,上图片,欢迎对Unity有兴趣的伙伴和我一起探讨学习 using UnityEngine; using UnityEngine.UI;public class ScratchCardWithSpriteRenderer : MonoBehaviour {// 公开背景和遮罩的Sprite Renderer组件public SpriteRenderer background…

谷歌seo怎么优化运营?

那些太大众的内容就不说了,在这里说一个后期谷歌seo可以去优化的一个方向,那就是电子邮件营销,这是一个间接营销seo的方案,电子邮件营销本身不会直接改变你在搜索结果中的排名,但它是一种强有力的工具,可以…

以syslog形式推送告警信息到UMP平台--主要为接口思路

背景 客户需求,根据当前时间获取到的接口返回值中的关键字段的数值进行判断,当超过阈值时推送可恢复告警,推送一次即可,待数据正常时推送告警恢复,工作日8点到18点执行。【代码还在整理中】 问题分析 告警通知&…

蓝桥杯算法题练习

1、20世纪有多少个星期一 (1901、1、1——2000、12、31) 方法一:python代码 方法二:excel工具(设置单元格格式,把日期换成周几的形式) 2、100个数相乘,结果有几个0 3、切面条 找规律:对折次数n 弯2^n-1 面…

刷题之动态规划

前言 大家好,我是jiantaoyab,开始刷动态规划的题目了,要特别注意初始化的时候给什么值。 动态规划5个步骤 状态表示 :dp数组中每一个下标对应值的含义是什么->dp[i]表示什么状态转移方程: dp[i] 等于什么1 和 2 是…

mysql之MyBatis核心工作原理

MyBatis核心工作原理 一、源码环境 1.手动编译源码 工欲善其事必先利其器。为了方便我们在看源码的过程中能够方便的添加注释,我们可以自己来从官网下载源码编译生成对应的Jar包,然后上传到本地maven仓库,再引用这个Jar。大家可以自行去官…

读所罗门的密码笔记05_新的力量平衡

1. 技术发展 1.1. 美国和中国俨然成为人工智能研究、开发和部署方面无可争议的领导者 1.2. 人类从未彻底阻止某种技术的发展,虽然不同国家在不同时间对克隆、化学武器和核武器等技术采取了暂停或禁止措施,但我们仍在继续推进最前…

vue学习第二天

1.v-text和v-html区别 效果: 2.v-bind v-bind:是Vuejs中,提供用于绑定属性的指令 正确做法: 3.v-on可以用来简化(v-on:) 4.事件修饰符 1. 冒泡机制组织.stop----阻止向下冒泡 冒泡机制相当于Android的事件透传&#x…

(十一)图像的罗伯特梯度锐化

环境:Windows10专业版 IDEA2021.2.3 jdk11.0.1 OpenCV-460.jar 系列文章: (一)PythonGDAL实现BSQ,BIP,BIL格式的相互转换 (二)BSQ,BIL,BIP存储格式的相互转换算法 (三…

mapbox-gl扩展sprites图片

在mapbox-gl.js中,通过在styles中设置sprite和glyphs,实现样式图标和字体的加载。而一旦style加载完成,如果重置地图中的style,则会导致地图全部重新加载,图层的顺序,地图上的要素,都会丢失&…

小程序中使用less

在vscode中安装插件 找到左下角齿轮的设置,点击右边图标,进入“settings.json” 加上以下代码配置 "less.compile":{"outExt": ".wxss"}

用navicat进行mysql表结构同步

用navicat进行mysql表结构同步 前言新增一个列然后进行表结构同步删除一个列然后进行表结构同步把Int列转成TinyInt列,看数字溢出的情况下能不能表结构同步总结 前言 从同事那边了解到还能用navicat进行表结构同步,他会在发布更新的时候,直接…