# Mengakses Data Papan Peringkat Benchmark

[Dataset benchmark](./eval-results#benchmark-datasets) di Hub berisi papan peringkat yang mengurutkan model berdasarkan skor evaluasinya. Anda dapat mengakses data ini secara programatik untuk menganalisisnya atau membangun dasbor dan alat di atasnya.

## Menemukan benchmark resmi

Gunakan `huggingface_hub` untuk menemukan semua dataset benchmark resmi:

```python
from huggingface_hub import HfApi

api = HfApi()
for ds in api.list_datasets(benchmark=True):
    print(ds.id)
```

Atau langsung melalui REST API (berguna untuk agen dan scripting):

```
GET https://huggingface.co/api/datasets?filter=benchmark:official
```

## Mendapatkan peringkat papan peringkat

API papan peringkat mengembalikan skor model yang telah diurutkan untuk dataset benchmark:

```
GET https://huggingface.co/api/datasets/{dataset_id}/leaderboard
```

Gunakan [`get_dataset_leaderboard`](https://huggingface.co/docs/huggingface_hub/package_reference/hf_api#huggingface_hub.HfApi.get_dataset_leaderboard) untuk mengambil skor model yang telah diurutkan sebagai objek bertipe [`DatasetLeaderboardEntry`](https://huggingface.co/docs/huggingface_hub/package_reference/hf_api#huggingface_hub.DatasetLeaderboardEntry):

```python
from huggingface_hub import HfApi

api = HfApi()
leaderboard = api.get_dataset_leaderboard("SWE-bench/SWE-bench_Verified")

for entry in leaderboard[:5]:
    print(f"#{entry.rank} {entry.model_id}: {entry.value}")
```

> [!TIP]
> `huggingface_hub` menggunakan token yang di-cache secara default. Untuk dataset benchmark yang bergerbang, pastikan Anda sudah masuk (`hf auth login`) atau berikan token secara eksplisit:
> ```python
> leaderboard = api.get_dataset_leaderboard("gated/benchmark", token="hf_...")
> ```

> [!TIP]
> Satu baris Curl untuk akses cepat (berguna untuk agen dan scripting):
> ```bash
> curl https://huggingface.co/api/datasets/cais/hle/leaderboard \
>   --header "Authorization: Bearer $(cat ~/.cache/huggingface/token)" | jq .
> ```

### Bidang respons

Setiap [`DatasetLeaderboardEntry`](https://huggingface.co/docs/huggingface_hub/package_reference/hf_api#huggingface_hub.DatasetLeaderboardEntry) berisi:

| Bidang | Deskripsi |
|---|---|
| `rank` | Posisi di papan peringkat |
| `model_id` | ID model lengkap (mis. `Qwen/Qwen3.5-397B-A17B`) |
| `value` | Skor benchmark |
| `verified` | Apakah hasil telah diverifikasi secara independen |
| `author` | Objek [`User`](https://huggingface.co/docs/huggingface_hub/package_reference/hf_api#huggingface_hub.User) atau [`Organization`](https://huggingface.co/docs/huggingface_hub/package_reference/hf_api#huggingface_hub.Organization) |
| `source` | Tempat hasil dikirimkan (kartu model, eksternal, dll.) |
| `filename` | Path ke file YAML hasil eval (misalnya `.eval_results/swe_bench_verified.yaml`) |
| `pull_request` | Nomor PR untuk pengajuan di repo dataset benchmark |
| `notes` | Catatan opsional yang terkait dengan entri |

## Dataset multi-benchmark yang telah diagregasi sebelumnya

Jika Anda ingin skor dari beberapa benchmark dalam satu file, dataset [`OpenEvals/leaderboard-data`](https://huggingface.co/datasets/OpenEvals/leaderboard-data) mengagregasi skor di seluruh benchmark resmi ke dalam satu file Parquet:

Anda dapat memuatnya langsung dengan [pandas](./datasets-pandas) menggunakan jalur `hf://`:

```python
import pandas as pd

df = pd.read_parquet(
    "hf://datasets/OpenEvals/leaderboard-data/data/train-00000-of-00001.parquet"
)
print(df[["model_name", "provider", "aime2026_score", "mmluPro_score"]].head())
```

Ini adalah cara tercepat untuk mendapatkan tampilan lintas benchmark tanpa memanggil beberapa endpoint API.

## Menggandakan dengan metadata model

Gunakan `huggingface_hub` untuk memperkaya data papan peringkat dengan tanggal rilis, jumlah parameter, dan metadata lainnya:

```python
from huggingface_hub import HfApi

api = HfApi()
info = api.model_info("Qwen/Qwen3.5-397B-A17B")

print(f"Released: {info.created_at}")
print(f"Parameters: {info.safetensors.total / 1e9:.1f}B" if info.safetensors else "")
```

## Pandangan berpusat pada model: hasil evaluasi per model

API leaderboard memberikan tampilan yang berpusat pada dataset (semua model pada satu benchmark). Untuk kebalikannya — semua skor benchmark untuk satu model — gunakan `model_info` dengan `expand=["evalResults"]`:

```python
from huggingface_hub import HfApi

api = HfApi()
info = api.model_info("Qwen/Qwen3.5-397B-A17B", expand=["evalResults"])

for result in info.eval_results:
    print(f"{result.dataset_id}: {result.value}")
```

Ini mengembalikan objek [`EvalResultEntry`](https://huggingface.co/docs/huggingface_hub/package_reference/hf_api#huggingface_hub.EvalResultEntry) yang diurai dari file `.eval_results/` model.

## Contoh: membangun di atas data papan peringkat

Space [Benchmark Leaderboard Race](https://huggingface.co/spaces/davanstrien/benchmark-race) menggabungkan sumber data ini untuk membuat visualisasi animasi tentang bagaimana peringkat model berevolusi seiring waktu. Anda dapat membangun analisis dan visualisasi Anda sendiri di atas data ini — lihat [kode sumber](https://huggingface.co/spaces/davanstrien/benchmark-race/tree/main) untuk contoh lengkap.

## Menanamkan papan peringkat di halaman web

Anda dapat menyematkan papan peringkat dataset benchmark langsung ke halaman web Anda sendiri menggunakan iframe.

URL yang digunakan adalah `https://huggingface.co/datasets/<namespace>/<dataset-name>/embed/leaderboard`, di mana `<namespace>` adalah pemilik dataset benchmark (pengguna atau organisasi) dan `<dataset-name>` adalah nama dataset.

```html
<iframe
  src="https://huggingface.co/datasets/cais/hle/embed/leaderboard"
  frameborder="0"
  width="100%"
  height="560px"
></iframe>
```

### Parameter

Anda dapat mengatur papan peringkat yang tertanam dengan meneruskan parameter kueri dalam URL iframe:

| Parameter | Deskripsi |
|---|---|
| `leaderboard_task_id` | ID tugas yang akan ditampilkan, seperti yang didefinisikan dalam `eval.yaml` benchmark (misalnya `gpqa_diamond`). Secara default, menggunakan tugas pertama. |
| `eval_result` | Model ID yang akan disorot di papan peringkat (misalnya `meta-llama/Llama-3.1-8B`). |
| `leaderboard_max_params` | Filter baris berdasarkan jumlah parameter maksimum. Menerima salah satu dari nilai berikut: `1B`, `3B`, `6B`, `12B`, `32B`, `128B` atau `500B`. |
| `leaderboard_is_expanded` | Setel ke `true` untuk merender papan peringkat sepenuhnya diperluas, bukan dilipat. |

Sebagai contoh, untuk menyematkan papan peringkat HLE dengan tabel diperluas dan model tertentu disorot:

```html
<iframe
  src="https://huggingface.co/datasets/cais/hle/embed/leaderboard?leaderboard_is_expanded=true&eval_result=meta-llama/Llama-3.1-8B"
  frameborder="0"
  width="100%"
  height="560px"
></iframe>
```

Embed hanya tersedia untuk [dataset benchmark resmi](./eval-results#benchmark-datasets) yang memiliki hasil evaluasi.

## Terkait

- [Hasil Evaluasi](./eval-results) — cara mengirim hasil evaluasi dan mendaftarkan benchmark
- [Dataset Benchmark Resmi](https://huggingface.co/datasets?benchmark=benchmark:official&sort=trending) — jelajahi semua benchmark resmi

