在 🎢 ↗ 中打开 import gradio as gr def calculator(num1, operation, num2): if operation == "add": return num1 + num2 elif operation == "subtract": return num1 - num2 elif operation == "multiply": return num1 * num2 elif operation == "divide": if num2 == 0: raise gr.Error("Cannot divide by zero!") return num1 / num2 demo = gr.Interface( calculator, [ "number", gr.Radio(["add", "subtract", "multiply", "divide"]), "number" ], "number", examples=[ [45, "add", 3], [3.14, "divide", 2], [144, "multiply", 2.5], [0, "subtract", 1.2], ], title="Toy Calculator", description="Here's a sample toy calculator.", ) if __name__ == "__main__": demo.launch()
import gradio as gr
def calculator(num1, operation, num2):
if operation == "add":
return num1 + num2
elif operation == "subtract":
return num1 - num2
elif operation == "multiply":
return num1 * num2
elif operation == "divide":
if num2 == 0:
raise gr.Error("Cannot divide by zero!")
return num1 / num2
demo = gr.Interface(
calculator,
[
"number",
gr.Radio(["add", "subtract", "multiply", "divide"]),
"number"
],
"number",
examples=[
[45, "add", 3],
[3.14, "divide", 2],
[144, "multiply", 2.5],
[0, "subtract", 1.2],
],
title="Toy Calculator",
description="Here's a sample toy calculator.",
)
if __name__ == "__main__":
demo.launch()
在 🎢 ↗ 中打开 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)
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)