最近 Sealos Devbox 有点火 ,越来越多的小伙伴都开始使用 Sealos Devbox,有位小伙伴写的文章阅读量已经接近了两万!

评论区有个小伙伴问我能不能出一篇部署 Gradio 和 Streamlit 的文章,瞬间我就来劲了,赶紧去搜一下这两个东西是啥,你还别说,确实挺有意思的。必须得写个教程了!

什么是 Gradio 和 Streamlit 呢?

GradioStreamlit 是两个用于快速构建机器学习 (ML) 应用和交互式 Web 应用的开源 Python 库,特别适合需要快速搭建演示和原型的项目。

Gradio

Gradio 提供了一种简洁的方法来构建 Web 应用,允许用户与机器学习模型进行交互。开发者可以通过 Gradio 快速将模型部署为 Web 界面,用户无需具备编程经验即可使用这些模型。知名的 AI 绘画应用 Stable Diffusion WebUI 就是使用 Gradio 来构建的

适用场景:

  • 为 ML 模型构建交互界面,测试和调优模型。
  • 快速构建概念验证 (PoC) 或用于产品展示的原型。
  • 用于教学、分享和演示 ML 模型。

Streamlit

Streamlit 是另一个广泛用于构建数据可视化、仪表盘和 ML 应用的框架,设计简洁,帮助开发者快速从数据脚本转化为交互式 Web 应用。Streamlit 的独特之处在于其近乎代码原生的语法,适合 Python 开发者直接在代码中描述应用布局。

适用场景:

  • 构建数据分析和可视化工具,用于探索数据。
  • 为 ML 应用构建仪表盘,实时监控和调整模型参数。
  • 快速构建可演示的机器学习应用或产品原型。

为什么选择 Devbox

虽然 Gradio 和 Streamlit 十分强大,但是将他们部署上线却不是一件容易的事情,你需要在本地搭建 Python 虚拟环境,然后完成打包镜像、自动分配域名、HTTPS 证书等一系列步骤,然后才能上线,如此复杂的流程,直接劝退大多数小白

而 Devbox 可以将这些繁琐的流程变的如此简单,直接无脑操作。

实战部署指南

1. 创建Devbox项目

首先打开浏览器,进入 Sealos 桌面,找到并点击"Devbox",然后点击"新建项目"按钮,填写项目名称,运行环境选择 Python,选择合适的 Python 版本 填写项目基本信息:

  • 项目名称
  • 选择 Python 作为运行环境
  • 选择合适的 Python 版本
  • 配置资源规格

由于 Gradio 项目默认是 7860 端口,所以我们需要将端口改成 7860。

完成所有选择以后,点击右上角的 “创建”。

现在就有了一个 Debox 项目了,点击下图中的 “Cursor”,就会使用 Cursor 打开连接 Devbox 开发环境。

首次打开会提示安装 Devbox 插件,安装后即可自动连接开发环境。

现在可以在 Cursor 左侧看到 Devbox 默认创建的项目信息。是不是非常简单?直接省略了配置域名解析、申请 SSL 证书,配置网关等与开发无关的繁琐操作,爽!

点击上方的终端,选择 “新建终端”。

输入以下命令:

# 打开 python 虚拟环境
source ./bin/activate
# 安装 gradio
pip install --upgrade gradio

执行过程如下所示:

2. 编写示例代码

等待 Gradio 安装完毕以后,将 Gradio 的 demo 代码复制到 hello.py 中,代码如下所示:

import gradio as gr

def greet(name, intensity):
return "Hello, " + name + "!" * int(intensity) demo = gr.Interface(
fn=greet,
inputs=["text", "slider"],
outputs=["text"],
) demo.launch(server_name="0.0.0.0")

然后修改启动脚本 entrypoint.sh,添加虚拟环境激活命令:

# 打开 python 虚拟环境
source ./bin/activate

3. 直接启动

现在我们直接通过 entrypoint.sh 脚本启动 Gradio:

现在回到 Devbox 界面,进入 Gradio 开发环境的详情页面:

点击外网地址即可打开 Gradio 的 Web 界面。

这是个公网域名,而且自动配置了 HTTPS 证书,你的同事、朋友、领导可以在任何地方实时预览你的最新开发成果,太爽了!

你在 Cursor 里面刚改完代码,你的领导就可以立马看到效果了,你就说快不快?

4. 部署到生产环境

上面的启动方法虽妙,但一般只用作开发演示

如果是生产环境,建议还是发布之后再部署更好,可以自动享受到 Sealos 云平台的各种高级特性,比如:自愈功能、弹性伸缩等等。

发布版本很简单,在项目详情页面直接点击 “发布版本”:

输入版本配置信息,选择 “发版”。

等待 10s 左右,看见发版 “成功” 状态以后,点击 “上线”。胜利就在前方!

进入 “上线” 界面,修改 “网络配置” 中的端口为 7860,点击右上角 “部署应用”:

部署完成后,等待应用状态变成 running,然后点击公网地址,即可打开 Gradio 项目的 Demo 界面。

现在,我们就已经大功告成啦!如此丝滑~

到此,Gradio 项目的部署就完成了。

相比于之前在开发环境中直接启动的方式,这种部署方式有以下优点:

  1. 你可以根据自己的业务情况随便扩缩容。扩到 10 个实例问题也不大。

  2. 拥有自愈功能。即使服务进程遇到了某些意外状况退出了,也会自动再启动一个新的实例。

  3. 可以随意调整资源配置,拉到 8C16G 也没问题。

由此可见,生产环境更适合发版之后到“应用管理”中部署。

而 Streamlit 的部署与 Gradio 的部署一毛一样,将以上的安装命令和 Demo 代码替换成 Streamlit 的即可。

结语

Devbox 通过极简的可视化界面,将复杂的开发部署流程精简,使开发者能更直观、高效地完成项目的构建和发布。它将部署中的繁琐细节模块化、自动化,降低了门槛。

通过统一的界面,Devbox 提供了配置管理、代码部署、版本控制和资源监控等功能,这些特性让我们能够专注于应用开发,而不是陷入繁琐的部署细节中。

都 AI 时代了,快速上线才是最重要的,那些繁琐的部署和配置细节老子不想关心!

Gradio 和 Streamlit 安装与使用教程的更多相关文章

  1. CentOS7下自定义目录安装mono+jexus教程

    一.阅读前须知: 1.本文属于安装完Centos7之后的步骤 2.如果还不了解mono,请点击mono 3.本篇主要内容是使用自定义目录安装mono+jexus教程,使用默认目录请查看使用默认目录安装 ...

  2. 【转】真正从零开始,TensorFlow详细安装入门图文教程!(帮你完成那个最难的从0到1)

    AI这个概念好像突然就火起来了,年初大比分战胜李世石的AlphaGo成功的吸引了大量的关注,但其实看看你的手机上的语音助手,相机上的人脸识别,今日头条上帮你自动筛选出来的新闻,还有各大音乐软件的歌曲& ...

  3. CentOS7下默认目录安装mono+jexus教程

    一.阅读前须知: 1.本文属于安装完Centos7之后的步骤 2.如果还不了解mono,请点击mono 3.本篇主要内容是使用默认目录安装mono+jexus教程,使用自定义目录请查看使用自定义目录安 ...

  4. << CocoaPods安装和使用教程 >>github code4app以及cocoachina 苹果官方文档

    developer.apple.com 英文搜索各个技术的官方介绍文档, 前提是英文过关 cocoachina ios最新新闻, 信息 code4app上有许多组件 http://www.code4a ...

  5. webpack安装配置使用教程详解

    webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对 ...

  6. NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者

    NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者 作者: raindy 来源:http://bbs.hanzify.org/index.php?showtopic=30029 时间: ...

  7. 安装WordPress详细教程指南

    最近准备自己建一个个人博客,以便分享一些自己工作生活中的一些观点及经验,建博客当然选wordpress,毕竟wordpress是为博客而生的嘛.下边记录一下自己安装WordPress的详细过程指南,亦 ...

  8. 纯windows下制作变色龙引导安装U盘教程

    原创教程:纯windows下制作变色龙引导安装U盘教程 支持Mavericks和Yosemite 支持白苹果 目标:windows下制作带 Chamelon变色龙引导的黑苹果安装U盘,支持PC机引导安 ...

  9. 最详细在Windows安装Xamarin.iOS教程

    最详细在Windows安装Xamarin.iOS教程 来源:http://www.cnblogs.com/llyfe2006/articles/3098280.html 本文展示了如何设立Xamari ...

  10. 【转】Android Studio安装配置学习教程指南 下载和安装--不错

    背景 相信大家对Android Studio已经不陌生了,Android Studio是Google于2013 I/O大会针对Android开发推出的新的开发工具,目前很多开源项目都已经在采用,Goo ...

随机推荐

  1. Tree组件的快速定位更新节点的状态,以及修改节点的数据属性等操作

    当我们点击树节点的时候我们常常只能获得树的id,那么我么如何获快速定位到树节点的内容呢,除此之外,当树已经存在时,但是缺少我们想要的内容时,我们想在树节点上添加我们需要的额外的内容时该怎么办,那么就是 ...

  2. 【Python + yaml】之yaml文件数据驱动(包括DDT驱动)

    写自动化测试代码中,数据驱动传递参数比较方便一些,也便于后期维护,下面介绍两种数据驱动: 下面是test.yaml文件: start_HRApp: ip: 127.0.0.1 port: 4723 i ...

  3. HBuilder X在4K显示器怎么设置HBuilderX窗口本身的字体大小

    在使用HBuilder X编辑器的时候,使用笔记本自身的显示器,编辑器窗口本身的字体大小都正好,但是将HBuilder X编辑器用在外接显示器(高清)或者4K显示器上的时候,就不行了.怎么解决呢? 在 ...

  4. C#自定义控件—指示灯

    C#用户控件之指示灯 在体现通讯状态.运行状态等用一个靓眼的指示灯如何做? 思路(GDI) 外环用笔绘制(Pen),内圆用画刷(SolidBrush); 两个方法(用笔画圆,用画刷填充圆的内部): 绘 ...

  5. yum命令提示error: rpmdb: BDB0113 Thread/process,解决方法

    最近在做RHCE的题目,yum命令装vdo时,使用yum install命令的时候,提示error: rpmdb: BDB0113 Thread/process,具体错误如下: [root@node2 ...

  6. 系统编程-操作系统概论PART1

    Part1. 计算机的基本组成原理 Part2. 计算机执行原理顶层视图 Part3. 指令 指令周期 取指令和执行指令 指令格式 前面1字节是操作码,代码指令的功能,例如加法功能. 后面3字节用于寻 ...

  7. 谷歌浏览器页面乱码问题在浏览器端解决,charset下载安装;

    一   下载插件(百度网盘) 链接:https://pan.baidu.com/s/1o9Zuo2m 密码:rrcz 二    将下载好的插件拖到谷歌浏览器中 三    如果谷歌浏览器右下角出现如下图 ...

  8. arm64 下内核 crash—— 非法地址

    下面是在实际工作中遇到的一次内核(5.4.110)访问非法内存地址(空指针)导致出错的现场,在这里记录一下简单的分析流程为以后遇到类似的问题作为参考. [ 220.619861] Unable to ...

  9. 最受DBA欢迎的数据库技术文档-巡检篇

    有人说,"数据库巡检是数据库运维领域最重要的工作".的确,为了保证数据库的稳定.安全运行,除了可以对数据库进行监控以及时知晓故障苗头,定期的"健康体检"则尤为重 ...

  10. 墨天轮PostgreSQL精品学习资源合集(含基础手册、实操技巧&案例、书籍推荐)

    近日,PostgreSQL 15 的第一个 beta 版本发布,这一最新版本在开发者体验.性能表现等方面都有提升.从最新的DB-Engines排名可以发现,PostgreSQL近十年来得分一路高涨,目 ...