- HTML:展示HTML内容,适用于富文本或网页布局。
- JSON:以JSON格式展示数据,便于查看结构化数据。
- KeyValues:以键值对形式展示数据。
- Label:展示文本标签,适用于简单的文本输出。
- Markdown:支持Markdown格式的文本展示。
- Plot:展示图表,如matplotlib生成的图表。
- Text:用于显示文本,适合较长的输出。
1、json列子
import gradio as gr
import json
# 示例 JSON 数据
json_data = {
"name": "Gradio",
"type": "Library",
"languages": ["Python", "JavaScript"],
"description": "Gradio is an open-source library that allows developers to build interactive applications with machine learning and data science projects."
}
# 将 JSON 数据转换为字符串格式
json_str = json.dumps(json_data, indent=4)
# 定义一个函数,它接受没有输入,并返回 JSON 字符串
def show_json():
return json_str
# 使用 Gradio 创建界面,JSON 组件展示数据
gr.Interface(fn=show_json,inputs=None, outputs='json').launch()
没有输入,点击generate显示了json数据
2、html
import gradio as gr
def show_html():
return "<h1>Hello, Gradio!</h1><p>This is an HTML output.</p>"
gr.Interface(
fn=show_html,
inputs=None,
outputs="html"
).launch()
3、plot
import gradio as gr
def process_list(my_list):
# 对列表进行处理的示例函数
return f"接收到列表,长度为: {my_list}"
# 创建一个包含列表输入的界面
gr.Interface(
process_list,
gr.List(label="输入列表"), # 定义输入为列表
"text",
title="列表输入示例"
).launch()
import gradio as gr
import plotly.graph_objects as go
# 创建一个简单的Plotly图表
def create_plot(x_data, y_data):
fig = go.Figure(data=go.Bar(x=x_data[0], y=y_data[0]))
return fig
# 创建Gradio界面
interface = gr.Interface(
fn=create_plot,
inputs=[
gr.List(label="X Axis Data"),
gr.List(label="Y Axis Data"),
],
outputs='plot',
)
# 运行Gradio界面
interface.launch()
4、markdown
import gradio as gr
# with open("example.md", "r") as f:
# md_content = f.read()
def show_markdown(markdown_text):
return markdown_text
interface = gr.Interface(
fn=show_markdown,
inputs=gr.Textbox(lines=10), # value = md_content
outputs=gr.Markdown()
)
interface.launch()