Mehrdad-S's picture
Create app.py
8e5ef5f verified
raw
history blame
1.24 kB
import gradio as gr
from utils import load_leaderboard, update_leaderboard
from evaluate import evaluate_model
def show_leaderboard():
data = load_leaderboard()
if not data:
return "No models evaluated yet."
return "\n".join([f"{i+1}. {entry['model']} - {entry['score']:.4f}" for i, entry in enumerate(data)])
def submit_model(model_name):
score = evaluate_model(model_name)
if score is None:
return "Failed to load or evaluate model."
update_leaderboard(model_name, score)
return f"Model evaluated with score: {score:.4f}"
with gr.Blocks() as demo:
gr.Markdown("# πŸ† Persian Embedding Leaderboard")
with gr.Tab("Leaderboard"):
leaderboard_display = gr.Textbox(label="Leaderboard", lines=20)
btn_refresh = gr.Button("Refresh")
btn_refresh.click(fn=show_leaderboard, outputs=leaderboard_display)
with gr.Tab("Submit Model"):
model_input = gr.Textbox(label="Hugging Face Model ID", placeholder="e.g., HooshvareLab/bert-fa-base-uncased")
submit_btn = gr.Button("Submit for Evaluation")
result_output = gr.Textbox(label="Result")
submit_btn.click(fn=submit_model, inputs=model_input, outputs=result_output)
demo.launch()