#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Gradio UI – ICBCBench Leaderboard Dual-track (Objective / Subjective) leaderboard for financial deep research. """ from __future__ import annotations from pathlib import Path from datetime import datetime import pandas as pd import gradio as gr # ---- Tab components ---- from tabs.leaderboard_tab import create_leaderboard_tab # from tabs.data_viewer_tab import create_data_viewer_tab # from tabs.data_viewer_side_by_side_tab import create_data_viewer_side_by_side_tab def get_leaderboard_info(): leaderboard_path = Path(__file__).parent / "data" / "leaderboard.csv" if leaderboard_path.exists(): try: df = pd.read_csv(leaderboard_path) model_count = len(df) mtime = leaderboard_path.stat().st_mtime last_update = datetime.fromtimestamp(mtime).strftime("%d %B %Y") return model_count, last_update except Exception: pass return 0, "Not yet updated" model_count, last_update = get_leaderboard_info() # --------------------------------------------------------------------------- # UI # --------------------------------------------------------------------------- with gr.Blocks(title="ICBCBench Leaderboard") as demo: # ========= Global CSS ========= gr.HTML(""" """) # ========= Header ========= gr.HTML(f"""
ICBCBench: An Industry Consortium Benchmark for Financial Deep Research
ICBCBench evaluates Deep Research Agents on financial tasks through a dual-track paradigm:
Objective (verifiable answers) and Subjective (expert-aligned report quality).
HF Space | Paper | Code | Dataset | Total models: {model_count} | Last Update: {last_update}
Objective judge: GPT-5.4  |  Subjective judge: Gemini-3.1-Pro-Preview
""") # ========= Main Tabs ========= with gr.Tabs(): create_leaderboard_tab() # 🏆 Leaderboard # sbs_on_load, sbs_outputs = create_data_viewer_side_by_side_tab() # ⚔️ Side-by-Side # dv_on_load, dv_outputs = create_data_viewer_tab() # 🔍 Data Viewer # demo.load(fn=dv_on_load, outputs=dv_outputs) # demo.load(fn=sbs_on_load, outputs=sbs_outputs) # ========= Citation ========= gr.HTML("""
📚 Citation
@article{li2026icbcbench, author = {Weiya Li and Zhiwei Tang and Yizhou He and Chenghao Wang and Liang Feng and Xiao Sun and Dongrui Liu and Zichen Wen and Hu Wei and Jinghang Wang and Yi Luo and Li Guo and Linfeng Zhang}, title = {ICBCBench: An Industry Consortium Benchmark for Financial Deep Research}, journal = {arXiv preprint arXiv:2606.17458}, year = {2026}, }
""") # --------------------------------------------------------------------------- # Entrypoint # --------------------------------------------------------------------------- if __name__ == "__main__": demo.launch()