RepoBench
RepoBench adalah benchmark pelengkapan otomatis kode tingkat repositori untuk Python dan Java yang mengukur apakah suatu sistem dapat memprediksi baris kode berikutnya dengan menggunakan konteks dalam-berkas maupun konteks lintas-berkas dari berkas lain dalam repositori yang sama. Terdiri dari tiga tugas — pengambilan (RepoBench-R), pelengkapan baris berikutnya (RepoBench-C), dan pipeline ujung-ke-ujung (RepoBench-P) — dinilai terutama dengan Exact Match dan Edit Similarity, serta akurasi pengambilan untuk tugas pengambilan.
Selengkapnya
- Contoh
- Diberi baris-baris sebelumnya dari sebuah berkas sumber ditambah cuplikan kode yang diambil dari berkas lain dalam repositori yang sama (misalnya modul yang mendefinisikan fungsi atau kelas pembantu), prediksi satu-satunya baris kode berikutnya — biasanya baris yang memanggil atau merujuk sesuatu yang didefinisikan di berkas lain.
- Penilaian
- Pelengkapan (RepoBench-C dan -P): baris berikutnya yang diprediksi dibandingkan dengan baris acuan melalui Exact Match (persentase baris yang persis identik) dan Edit Similarity (skor 0–100 = 1 − jarak edit Levenshtein ternormalisasi); CodeBLEU juga dilaporkan. Pengambilan (RepoBench-R): accuracy@k — proporsi item yang cuplikan lintas-berkas acuannya berada di antara k kandidat teratas yang diambil.
- Verifikasi
- Penilaian bersifat otomatis dan berbasis acuan (tanpa eksekusi kode): baris keluaran model dinormalkan lalu dicocokkan sebagai string dengan baris berikutnya yang sebenarnya yang disisihkan dari repositori asli. Di bawah Exact Match, sebuah pelengkapan dihitung benar hanya jika identik karakter demi karakter dengan baris acuan; Edit Similarity memberi nilai parsial; sebuah pengambilan diterima ketika cuplikan acuan muncul di antara k teratas.
- Mengapa penting
- Asisten kode nyata harus bernalar atas seluruh repositori, bukan hanya berkas yang terbuka. RepoBench mengisolasi pemodelan konteks lintas-berkas — mengambil konteks yang tepat dan memprediksi baris berikutnya yang bergantung padanya — sehingga menjadi tempat uji standar bagi model kode yang sadar-repositori dan berkonteks panjang.
Contoh penyelesaian
return to_title(raw)
Belum ada skor terverifikasi yang dilaporkan untuk benchmark ini.