RepoBench
RepoBench es un benchmark de autocompletado de código a nivel de repositorio para Python y Java que mide si un sistema puede predecir la siguiente línea de código usando tanto el contexto dentro del archivo como el contexto entre archivos de otros ficheros del mismo repositorio. Consta de tres tareas — recuperación (RepoBench-R), completado de la siguiente línea (RepoBench-C) y la tubería de extremo a extremo (RepoBench-P) — evaluadas principalmente con Exact Match y Edit Similarity, y con la precisión de recuperación para la tarea de recuperación.
Leer más
- Ejemplo
- Dadas las líneas previas de un archivo fuente más fragmentos de código extraídos de otros archivos del mismo repositorio (por ejemplo, un módulo que define una función o clase auxiliar), predecir la única línea de código siguiente — normalmente una línea que llama o hace referencia a algo definido en otro archivo.
- Puntuación
- Completado (RepoBench-C y -P): la siguiente línea predicha se compara con la línea de referencia mediante Exact Match (porcentaje de líneas exactamente idénticas) y Edit Similarity (puntuación 0–100 = 1 − distancia de edición de Levenshtein normalizada); también se informa CodeBLEU. Recuperación (RepoBench-R): accuracy@k — la fracción de ítems cuyo fragmento entre archivos de referencia está entre los k candidatos mejor recuperados.
- Verificación
- La calificación es automática y basada en referencia (sin ejecución de código): la línea de salida del modelo se normaliza y se compara como cadena con la verdadera línea siguiente reservada del repositorio original. Con Exact Match un completado cuenta como correcto solo si es idéntico carácter a carácter a la línea de referencia; Edit Similarity otorga crédito parcial; una recuperación se acepta cuando el fragmento de referencia aparece entre los k primeros.
- Por qué importa
- Los asistentes de código reales deben razonar sobre todo un repositorio, no solo sobre el archivo abierto. RepoBench aísla el modelado del contexto entre archivos — recuperar el contexto correcto y predecir la siguiente línea que depende de él — por lo que se convirtió en un banco de pruebas estándar para modelos de código conscientes del repositorio y de contexto largo.
Ejemplo resuelto
return to_title(raw)
Aún no hay puntuaciones verificadas para este benchmark.