7. Gradio库¶
7.1. Gradio简介¶
Gradio是一个开源的Python库,用于快速为机器学习模型、API 或任意Python函数构建演示界面和Web应用。
它的主要特点:
快速上手:一行命令安装,几行Python代码即可启动,无需 JavaScript/CSS/前端经验
丰富组件:支持图像、音频、视频、3D、数据框、JSON 等多种输入输出类型
免费托管:可部署到 Hugging Face Spaces,自动扩展,永久在线
即时分享:一键生成本地运行的公开链接,方便展示给客户或同事
我们可以在鲁班猫板卡上安装Gradio库,并通过编写测试代码来快速构建机器学习模型的演示界面。
7.2. Gradio 安装¶
使用pip工具(或者uv工具)安装gradio。
# 在终端中输入如下命令,安装 Gradio 库:
pip3 install --upgrade gradio
等安装完成后即可,查看版本:
import gradio as gr
print(gr.__version__)
6.10.0
7.3. Gradio 使用¶
安装好Gradio库之后,我们就可以利用该库构建机器学习演示应用。
7.3.1. 基础例程 - 文本问候演示¶
这个例程演示如何使用 Gradio 创建一个简单的文本示例界面。
7.3.1.1. 添加代码文件¶
创建一个简单的 Python 脚本 basic_gradio.py:
# 创建基础演示脚本
nano basic_gradio.py
内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import gradio as gr
def greet(name, intensity):
"""
简单的问候函数
参数:
name: 姓名
intensity: 重复次数
返回:
问候语字符串
"""
return "Hello, " + name + "!" * int(intensity)
# 创建 Interface 界面
demo = gr.Interface(
fn=greet, # 要包装的函数
inputs=["text", "slider"], # 输入组件:文本框 + 滑块
outputs=["text"], # 输出组件:文本
title="Gradio 基础演示", # 标题
description="输入你的名字和强度,获得问候语", # 描述
examples=[ # 示例数据(可选)
["张三", 3],
["李四", 5],
["王五", 1],
]
# allow_flagging 参数在新版 Gradio 中已移除
)
# 启动应用
if __name__ == "__main__":
# 启用队列支持并发访问
demo.queue(max_size=10)
demo.launch(server_name="0.0.0.0", server_port=7860)
|
注解
配置说明:
server_name="0.0.0.0"允许从外部设备访问(默认仅 localhost)server_port=7860指定服务端口(默认 7860)demo.queue()启用队列支持多用户并发访问,避免请求阻塞max_size=10队列最大等待数,防止内存溢出设置
share=True可生成72小时有效的临时公网链接(仅用于演示)
7.3.1.2. 运行演示¶
# 运行 Gradio 演示
cat@lubancat:~$ python3 basic_gradio.py
* Running on local URL: http://0.0.0.0:7860
* To create a public link, set `share=True` in `launch()`.
此时可以通过浏览器访问 http://<板卡 IP>:7860 来查看演示界面。
在文本框中输入名字,拖动滑块调整强度,点击Submit按钮即可看到生成的问候语。