SuperAPI AI 工具集

hugging-face-gradio

前端与建站

查看项目

更新于 10-16 04:36

技能介绍

用途

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 客户端入门)

核心模式

资料给出三种核心构建模式:

  1. Interface(高层):用一个函数包装输入/输出组件。
import gradio as gr

def greet(name):
    return f"Hello {name}!"

gr.Interface(fn=greet, inputs="text", outputs="text").launch()
  1. 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()
  1. 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 组件签名在资料中未完整给出。