"""Live PostTrain Arena leaderboard backed by a Hub dataset.""" import json import gradio as gr from huggingface_hub import hf_hub_download LEADERBOARD_REPO = 'benchflow/posttrainarena-leaderboard' def load_rows(): path = hf_hub_download( LEADERBOARD_REPO, "leaderboard.json", repo_type="dataset", force_download=True, ) records = json.loads(open(path, encoding="utf-8").read()) rows = [] rank = 0 for record in records: if record.get("status") == "succeeded": rank += 1 shown_rank = rank else: shown_rank = None rows.append( [ shown_rank, record.get("submission_id"), record.get("status"), record.get("baseline_score"), record.get("score_after_posttrain"), record.get("delta_score"), record.get("run_id"), record.get("artifact_url"), ] ) return rows with gr.Blocks(title="PostTrain Arena Leaderboard") as demo: gr.Markdown("# PostTrain Arena Leaderboard") gr.Markdown( "Continuously updated results from pinned Hugging Face Jobs. " "Scores link to immutable run artifacts." ) table = gr.Dataframe( headers=[ "Rank", "Submission", "Status", "Baseline", "Final", "Delta", "Run", "Artifacts", ], value=load_rows, interactive=False, ) refresh = gr.Button("Refresh") refresh.click(load_rows, outputs=table) timer = gr.Timer(60) timer.tick(load_rows, outputs=table) if __name__ == "__main__": demo.launch()