Benchmark · coding

BigCodeBench

0 hasil 0 model

BigCodeBench adalah benchmark pembuatan kode Python berisi 1.140 tugas pemrograman dunia nyata, yang masing-masing menuntut penggabungan panggilan ke beberapa pustaka; dinilai dengan Pass@1 berbasis eksekusi — proporsi tugas yang solusi hasil generasinya lolos semua uji unit.

Selengkapnya
Contoh
Tugas yang umum memberikan tanda tangan fungsi plus docstring terperinci — misalnya 'muat sebuah CSV, hitung statistik ringkasan per grup dengan pandas, lalu gambar diagram batang dengan matplotlib' — dan meminta model menulis badan fungsi yang merangkai beberapa panggilan pustaka dengan benar.
Penilaian
Metriknya adalah Pass@1 terkalibrasi, biasanya dengan greedy decoding: setiap program hasil generasi dijalankan terhadap uji unit tugas dalam sandbox, sebuah tugas dihitung selesai hanya jika semua uji lolos, dan skornya adalah persentase tugas yang selesai. Dilaporkan dua pembagian — Complete (melengkapi fungsi yang kerangkanya disediakan docstring) dan Instruct (hanya instruksi bahasa alami) — ditambah subhimpunan Hard berisi 148 tugas.
Verifikasi
Penerimaan murni lewat eksekusi: solusi harus lolos semua uji unit tugas yang ditulis tangan (sekitar 5,6 per tugas, dengan rata-rata cakupan cabang ~99%) saat dijalankan di lingkungan terisolasi. Tidak ada nilai sebagian maupun pencocokan dengan teks acuan.
Mengapa penting
Berbeda dari benchmark pendek berfungsi tunggal seperti HumanEval, BigCodeBench menguji apakah model dapat mengikuti instruksi kompleks dan menggunakan beragam API dunia nyata dari 139 pustaka dan 7 domain dengan benar, yang lebih mencerminkan pekerjaan perangkat lunak praktis; pembagian Instruct dan subhimpunan Hard makin menekan kepatuhan instruksi dan komposisi alat.
Contoh penyelesaian
Tugas
```python import pandas as pd import numpy as np def task_func(df, column): """ Standarkan kolom numerik tertentu dari sebuah DataFrame menjadi rata-rata nol dan varians satu, lalu kembalikan DataFrame yang telah dimodifikasi. Kebutuhan: - pandas - numpy Parameter: df (pd.DataFrame): Data masukan. column (str): Nama kolom numerik yang akan distandarkan. Mengembalikan: pd.DataFrame: DataFrame dengan kolom yang telah distandarkan. Contoh: >>> df = pd.DataFrame({'a': [1, 2, 3, 4, 5]}) >>> round(task_func(df, 'a')['a'].mean(), 5) 0.0 """ ```
Solusi
```python
    df[column] = (df[column] - np.mean(df[column])) / np.std(df[column])
    return df
```
Penjelasan
Mengurangi rata-rata kolom lalu membaginya dengan simpangan baku populasi (np.std, ddof=0) menskalakan ulang nilai-nilai menjadi rata-rata 0 dan varians satu, memenuhi docstring beserta doctest-nya (rata-ratanya membulat ke 0.0), dan solusi ini memakai kedua library yang diwajibkan. Penilaian berbasis eksekusi: BigCodeBench menjalankan fungsi yang telah dilengkapi terhadap unit test tersembunyi milik tugas dan memberikan Pass@1 hanya jika setiap tes lolos.

Belum ada skor terverifikasi yang dilaporkan untuk benchmark ini.