Gradio 代理 & MCP 黑客马拉松

获奖者
Gradio logo
  1. 模态框
  2. 警告

Gradio 新手?从这里开始:入门

查看 发布历史

警告

gradio.Warning("A warning occured ⛔️!", duration=5)

描述

此函数允许您向用户传递自定义警告消息。您只需在函数中写入 gr.Warning('在此输入消息'),当该行执行时,自定义消息将以模态框的形式出现在演示中。模态框默认是黄色的,标题为:“警告”。此行为需要启用队列;否则,警告将使用 warnings 库打印到控制台。

示例用法

import gradio as gr
def hello_world():
    gr.Warning('This is a warning message.')
    return "hello world"
with gr.Blocks() as demo:
    md = gr.Markdown()
    demo.load(hello_world, inputs=None, outputs=[md])
demo.queue().launch()

初始化

参数
🔗
message: str
默认 = "已发出警告。"

要向用户显示的警告消息。可以是 HTML,将在模态框中渲染。

🔗
duration: float | None
默认 = 10

警告消息的显示时长(秒)。如果为 None 或 0,消息将无限期显示,直到用户关闭它。

🔗
visible: bool
默认 = True

错误消息是否应显示在 UI 中。

🔗
title: str
默认 = "警告"

显示在模态框顶部的标题。

演示

import gradio as gr

def failure():
    raise gr.Error("This should fail!")

def exception():
    raise ValueError("Something went wrong")

def success():
    return True

def warning_fn():
    gr.Warning("This is a warning!")

def info_fn():
    gr.Info("This is some info")

with gr.Blocks() as demo:
    gr.Markdown("Used in E2E tests of success event trigger. The then event covered in chatbot E2E tests."
                " Also testing that the status modals show up.")
    with gr.Row():
        result = gr.Textbox(label="Result")
        result_2 = gr.Textbox(label="Consecutive Event")
    with gr.Row():
        success_btn = gr.Button(value="Trigger Success")
        success_btn_2 = gr.Button(value="Trigger Consecutive Success")
        failure_btn = gr.Button(value="Trigger Failure")
        failure_exception = gr.Button(value="Trigger Failure With ValueError")
    with gr.Row():
        trigger_warning = gr.Button(value="Trigger Warning")
        trigger_info = gr.Button(value="Trigger Info")

        success_btn_2.click(success, None, None).success(lambda: "First Event Trigered", None, result).success(lambda: "Consecutive Event Triggered", None, result_2)
        success_btn.click(success, None, None).success(lambda: "Success event triggered", inputs=None, outputs=result)
        failure_btn.click(failure, None, None).success(lambda: "Should not be triggered", inputs=None, outputs=result)
        failure_exception.click(exception, None, None)
        trigger_warning.click(warning_fn, None, None)
        trigger_info.click(info_fn, None, None)

if __name__ == "__main__":
    demo.launch(show_error=True)