| import gradio as gr | |
| from utils.grace_plot import plot_radar | |
| from model_wrappers.model_a import run_model_a | |
| from model_wrappers.model_b import run_model_b | |
| def run_all_models(prompt): | |
| return run_model_a(prompt), run_model_b(prompt) | |
| with gr.Blocks() as demo: | |
| with gr.Tab("LLM Benchmark"): | |
| gr.Markdown("## ✨ 模型 GRACE 维度雷达图") | |
| with gr.Row(): | |
| plot_btn = gr.Button("生成 GRACE 雷达图") | |
| radar_output = gr.Plot() | |
| plot_btn.click(fn=plot_radar, inputs=[], outputs=radar_output) | |
| with gr.Tab("Arena"): | |
| gr.Markdown("## 🤖 模型竞技场:同一输入比拼") | |
| prompt = gr.Textbox(label="请输入 Prompt") | |
| run_btn = gr.Button("运行所有模型") | |
| output_a = gr.Textbox(label="Model A 输出") | |
| output_b = gr.Textbox(label="Model B 输出") | |
| run_btn.click(fn=run_all_models, inputs=[prompt], outputs=[output_a, output_b]) | |
| with gr.Tab("Report"): | |
| with open("report.md", encoding="utf-8") as f: | |
| report_md = f.read() | |
| gr.Markdown(report_md) | |
| if __name__ == "__main__": | |
| demo.launch() |