- 助手
- 示例
示例
gradio.Examples(···)描述
这个类是 Dataset 组件的包装器,可用于为 Blocks / Interfaces 创建 Examples。它用示例填充 Dataset 组件并分配事件监听器,以便单击示例时填充输入/输出组件。还可以选择处理示例缓存以实现快速推理。
初始化
examples: list[Any] | list[list[Any]] | str
examples: list[Any] | list[list[Any]] | str可以单击以填充特定组件的示例输入。应为嵌套列表,其中外部列表包含样本,每个内部列表包含对应于每个输入组件的输入。也可以提供一个指向示例目录的字符串路径,但它应该位于运行 gradio 应用程序的 python 文件所在的目录中。如果存在多个输入组件且提供了目录,则目录中必须存在一个 log.csv 文件来链接相应的输入。
outputs: Component | list[Component] | None
outputs: Component | list[Component] | None= None可选地,提供对应于示例输出的组件或组件列表。如果 `cache_examples` 不为 False,则需要此项。
fn: Callable | None
fn: Callable | None= None可选地,提供用于生成对应于示例输出的函数。如果 `cache_examples` 不为 False,则需要此项。如果 `run_on_click` 为 True,也需要此项。
cache_examples: bool | None
cache_examples: bool | None= None如果为 True,则在服务器中缓存示例以实现示例的快速运行时。如果为 "lazy",则在示例首次使用后(由应用程序的任何用户)缓存示例(适用于应用程序的所有用户)。如果为 None,将使用 GRADIO_CACHE_EXAMPLES 环境变量,该变量应为 "true" 或 "false"。在 HuggingFace Spaces 中,此参数为 True(只要也提供了 `fn` 和 `outputs`)。否则,默认选项为 False。请注意,示例的缓存与 Gradio 的队列() 分开,因此某些功能(例如 gr.Progress()、gr.Info()、gr.Warning() 等)不会在 Gradio 的 UI 中显示给缓存的示例。
cache_mode: Literal['eager', 'lazy'] | None
cache_mode: Literal['eager', 'lazy'] | None= None如果为 "lazy",则在示例首次使用后缓存。如果为 "eager",则在应用程序启动时缓存所有示例。如果为 None,则将使用 GRADIO_CACHE_MODE 环境变量(如果已定义),否则默认为 "eager"。
run_on_click: bool
run_on_click: bool= False如果 cache_examples 为 False,单击示例时不会运行该函数。将此设置为 True 以便在单击示例时运行该函数。如果 cache_examples 为 True,则无效。
api_visibility: Literal['public', 'private', 'undocumented']
api_visibility: Literal['public', 'private', 'undocumented']= "undocumented"控制与单击示例相关的事件的可见性。可以是 "public"(在 API 文档中显示且可调用)、"private"(对 API 文档隐藏且不可调用)或 "undocumented"(对 API 文档隐藏但可调用)。
api_name: str | None
api_name: str | None= "load_example"定义与单击示例相关的事件在 API 文档中如何显示。可以是一个字符串或 None。如果设置为字符串,则该端点将以给定的名称暴露在 API 文档中。如果为 None,将使用自动生成的名称。
属性
示例
更新示例
在此演示中,我们展示了如何通过更新底层数据集的样本来更新示例。请注意,这仅在 cache_examples=False 时有效,因为更新底层数据集不会更新缓存。
import gradio as gr
def update_examples(country):
if country == "USA":
return gr.Dataset(samples=[["Chicago"], ["Little Rock"], ["San Francisco"]])
else:
return gr.Dataset(samples=[["Islamabad"], ["Karachi"], ["Lahore"]])
with gr.Blocks() as demo:
dropdown = gr.Dropdown(label="Country", choices=["USA", "Pakistan"], value="USA")
textbox = gr.Textbox()
examples = gr.Examples([["Chicago"], ["Little Rock"], ["San Francisco"]], textbox)
dropdown.change(update_examples, dropdown, examples.dataset)
demo.launch()