最后,我们介绍如何让 Gradio 演示自动刷新或连续流式传输数据。
实时接口
您可以通过在接口中设置 live=True 来使接口自动刷新。现在,接口将在用户输入更改时立即重新计算。
import gradio as gr # 导入gradio库,用于构建web应用界面
# 定义一个计算器函数,根据不同的操作执行不同的计算
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": # 如果选择除法
return num1 / num2 # 返回两数之商
# 创建一个Gradio界面,用于用户输入和显示计算结果
demo = gr.Interface(
calculator, # 指定后端处理函数为calculator
[ # 定义输入控件
"number", # 第一个输入控件:数字输入,用于输入第一个操作数
gr.Radio(["add", "subtract", "multiply", "divide"]), # 第二个输入控件:单选按钮,用于选择运算类型
"number" # 第三个输入控件:数字输入,用于输入第二个操作数
],
"number", # 定义输出控件为数字显示,用于展示计算结果
live=True, # 设置为实时模式,用户每次输入后会自动计算并更新结