用途
Gradio 是一个 Python 库,用于构建交互式 Web UI 和机器学习演示。本技能适用于在 Python 中构建 Gradio Web UI 与演示,以及在创建或编辑 Gradio 应用、组件、事件监听器、布局或聊天机器人时使用。
主要能力
资料列出了以下指南主题(在相关时阅读):
- Quickstart(快速入门)
- The Interface Class(Interface 类)
- Blocks and Event Listeners(Blocks 与事件监听器)
- Controlling Layout(控制布局)
- More Blocks Features(更多 Blocks 特性)
- Custom CSS and JS(自定义 CSS 与 JS)
- Streaming Outputs(流式输出)
- Streaming Inputs(流式输入)
- Sharing Your App(分享应用)
- Custom HTML Components(自定义 HTML 组件)
- Getting Started with the Python Client(Python 客户端入门)
- Getting Started with the JS Client(JS 客户端入门)
核心模式
资料给出三种核心构建模式:
- Interface(高层):用一个函数包装输入/输出组件。
import gradio as gr
def greet(name):
return f"Hello {name}!"
gr.Interface(fn=greet, inputs="text", outputs="text").launch()
- Blocks(低层):灵活布局,显式连接事件。
import gradio as gr
with gr.Blocks() as demo:
name = gr.Textbox(label="Name")
output = gr.Textbox(label="Greeting")
btn = gr.Button("Greet")
btn.click(fn=lambda n: f"Hello {n}!", inputs=name, outputs=output)
demo.launch()
- ChatInterface:聊天机器人 UI 的高层封装。
import gradio as gr
def respond(message, history):
return f"You said: {message}"
gr.ChatInterface(fn=respond).launch()
关键组件签名
资料提供了以下组件的签名与说明:
- Textbox:创建用于输入或显示字符串的文本区域。
- Number:创建用于输入或显示数字的数值字段。
- Slider:创建从 minimum 到 maximum、步长为 step 的滑块。
- Checkbox:创建可设为 True 或 False 的复选框。
- Dropdown:创建下拉选择,可单选或多选,作为输入或输出组件。
- Radio:创建一组(字符串或数值)单选按钮,只能选一个。
- Image:创建图像组件,可上传图像(输入)或显示图像(输出)。
- Audio:创建音频组件,可上传/录制音频(输入)或显示音频(输出)。
- Video:创建视频组件,可上传/录制视频(输入)或显示视频(输出)。
- File:创建文件组件,可上传一个或多个通用文件(输入)或显示通用文件或下载 URL(输出)。
- Chatbot:创建显示用户提交消息与响应的聊天机器人。
- Button:创建可绑定任意 .click() 事件的按钮。
- Markdown:用于渲染任意 Markdown 输出。
- HTML:创建自定义 HTML 组件(资料中该组件签名在结尾处被截断)。
使用方式
资料中的示例均以 Python 代码形式给出,通过 import gradio as gr 引入库,使用 gr.Interface、gr.Blocks 或 gr.ChatInterface 构建界面,并调用 .launch() 启动。事件通过组件的 .click() 等方法绑定函数、输入与输出。
适用场景
适用于构建 Gradio Web UI 与演示,包括创建或编辑 Gradio 应用、组件、事件监听器、布局或聊天机器人。
限制
资料未提供安装命令、收费或价格、平台支持范围、性能或效果说明。HTML 组件签名在资料中未完整给出。