演练:添加自定义应用程序#

NVIDIA AI Workbench 的基础环境预装了一系列应用程序,例如 JupyterLab IDE 和 Tensorboard。有关更多信息,请参阅 AI Workbench 应用程序

AI Workbench 使您能够将自己的自定义应用程序添加到您的项目中,以用作开发工作流程的一部分。本文档将引导您完成将一个简单的自定义 Gradio 应用程序添加到 AI Workbench 中的新项目的过程。该应用程序类似于 Gradio 提供的快速入门示例。

在本快速入门中,您将执行以下任务

  1. 配置环境

  2. 开发应用程序

  3. 将应用程序添加到您的项目

  4. 启动应用程序

前提条件#

在您完成本演练中的步骤之前,您需要以下内容

  • NVIDIA AI Workbench 已安装在您的本地系统上。有关更多信息,请参阅 安装 AI Workbench

  • 一个基本的测试项目。如果您没有,请参阅 基础快速入门

配置环境#

使用以下步骤将 gradio 软件包添加到您的项目。

  1. 在 AI Workbench 中,导航到环境 > 软件包 > 添加

    ../_images/quickstart-app-5.png
  2. 选择 pip 作为软件包管理器,输入 gradio 作为软件包名称,然后单击添加

  3. 单击提交

  4. AI Workbench 自动检测到容器环境已更改,并提示您重建项目。单击开始构建

    项目开始重建。要实时查看进度,请单击状态栏中的 输出

开发应用程序#

在您将 Gradio 添加到您的项目后,您可以构建一个简单的 Gradio 应用程序。

  1. 在 AI Workbench 窗口的顶部附近,单击打开 JupyterLab

    JupyterLab 在您的默认浏览器中打开,您可以开始工作了。

  2. 导航到 code 目录,单击 Python 文件,并创建一个名为 app.py 的 python 文件。

    ../_images/quickstart-app-11.png
  3. app.py 文件中,编写以下代码以创建一个在端口 8080 上运行的 gradio 应用程序。

     1import gradio as gr
     2import os
     3
     4def greet(name, intensity):
     5    return "Hello, " + name + "!" * int(intensity)
     6
     7demo = gr.Interface(
     8    fn=greet,
     9    inputs=["text", "slider"],
    10    outputs=["text"],
    11)
    12
    13proxy_prefix = os.environ.get("PROXY_PREFIX")
    14demo.launch(server_name="0.0.0.0", server_port=8080, root_path=proxy_prefix)
    

    注意

    此代码片段使用 AI Workbench PROXY_PREFIX 环境变量。此环境变量在启动应用程序时由 AI Workbench 自动注入。该变量指示应用程序托管在其上的前缀。对于某些不使用相对路由处理请求和资产的 Web 应用程序,您通常需要设置一些配置来告知应用程序前缀(不仅仅是 /)。

将应用程序添加到您的项目#

使用以下步骤将 Gradio 应用程序添加到 AI Workbench。

  1. 在 AI Workbench 中,导航到环境 > 应用程序 > 添加。“添加应用程序”窗口将出现。

    ../_images/quickstart-app-13.png
  2. 在“添加应用程序”窗口中,单击创建自定义应用程序。“添加应用程序”窗口将出现。

    ../_images/custom_app.png
  3. 在“添加应用程序”窗口中,指定以下信息,然后单击下一步

    1. 名称simple-gradio

    2. 类型Web Application

    3. 图标 URL — 留空

    4. 启动命令cd /project/code && PROXY_PREFIX=$PROXY_PREFIX python3 app.py

    5. 健康检查命令curl -f "https://127.0.0.1:8080/"

    6. 停止命令pkill -f '^python3 app.py'

    7. 自动启动 — 选中复选框

    8. 端口8080

    9. URLhttps://127.0.0.1:8080/

    10. URL 命令 — 留空

    11. 用户消息 — 留空

  4. AI Workbench 添加应用程序并提示您重启环境。单击重启

启动应用程序#

该应用程序现在已构建到项目自动化中,并准备好启动。

  1. 在 AI Workbench 中,导航到环境 > 应用程序

  2. 应用程序窗格中,单击新的 simple-gradio 应用程序以启动它。

    新应用程序将在新的浏览器窗口中自动打开。

    ../_images/quickstart-app-17.png
  3. 通过在应用程序窗格中关闭应用程序,或单击停止环境来关闭应用程序。

下一步#