import gradio as gr import pandas as pd import random import plotly.express as px def greet(name): return "Hello " + name + "!" def get_results_df(): data = { "Model": ["Model A", "Model B", "Model C"], "Avg": [0.85, 0.90, 0.88], "Gap Read": [0.05, 0.03, 0.04], "Gap Spontaneous": [0.07, 0.06, 0.05], } df = pd.DataFrame(data) return df def get_language_performance(): languages = [ "en", "es", "de", "fr", "it", "pt", "nl", "ru", "zh", "ja", "ko", "ar", "hi", "bn", "ur", "tr", "sv", ] data = { "Model": ["Model A", "Model B", "Model C"], } for lang in languages: data[lang] = [random.uniform(-100, 100) for _ in range(3)] df = pd.DataFrame(data) return df results = get_results_df() with gr.Blocks() as fm_interface: gr.DataFrame(results) language_performance = get_language_performance() print(language_performance) fig1 = px.bar( language_performance.melt( id_vars="Model", var_name="Language", value_name="Performance" ), x="Language", y="Performance", color="Model", title="Language Performance Plot 1", barmode="group", ) fig2 = px.bar( language_performance.melt( id_vars="Model", var_name="Language", value_name="Performance" ), x="Language", y="Performance", color="Model", title="Language Performance Plot 2", barmode="group", ) gr.Plot(fig1) gr.Plot(fig2) tabs = [fm_interface] titles = ["F-M Setup"] with gr.Blocks() as demo: gr.Markdown("# Fair ASR Leadeboard") gr.TabbedInterface(tabs, titles) if __name__ == "__main__": demo.launch()