Benchmark · coding

RepoBench

0 résultats 0 modèles

RepoBench est un benchmark d'autocomplétion de code au niveau du dépôt pour Python et Java qui mesure si un système peut prédire la ligne de code suivante en utilisant à la fois le contexte intra-fichier et le contexte inter-fichiers provenant d'autres fichiers du même dépôt. Il comporte trois tâches — récupération (RepoBench-R), complétion de la ligne suivante (RepoBench-C) et le pipeline de bout en bout (RepoBench-P) — évaluées principalement par Exact Match et Edit Similarity, et par la précision de récupération pour la tâche de récupération.

En savoir plus
Exemple
À partir des lignes précédentes d'un fichier source ainsi que d'extraits de code tirés d'autres fichiers du même dépôt (par exemple un module qui définit une fonction ou une classe utilitaire), prédire l'unique ligne de code suivante — généralement une ligne qui appelle ou référence quelque chose défini dans un autre fichier.
Notation
Complétion (RepoBench-C et -P) : la ligne suivante prédite est comparée à la ligne de référence par Exact Match (pourcentage de lignes exactement identiques) et Edit Similarity (score 0–100 = 1 − distance d'édition de Levenshtein normalisée) ; le CodeBLEU est également reporté. Récupération (RepoBench-R) : accuracy@k — la proportion d'items dont l'extrait inter-fichiers de référence figure parmi les k meilleurs candidats récupérés.
Vérification
La notation est automatique et fondée sur une référence (sans exécution de code) : la ligne produite par le modèle est normalisée puis comparée en tant que chaîne à la vraie ligne suivante mise de côté du dépôt d'origine. Sous Exact Match, une complétion n'est comptée correcte que si elle est identique caractère par caractère à la ligne de référence ; Edit Similarity accorde un crédit partiel ; une récupération est acceptée lorsque l'extrait de référence figure dans le top-k.
Pourquoi c'est important
Les vrais assistants de code doivent raisonner sur un dépôt entier, et pas seulement sur le fichier ouvert. RepoBench isole la modélisation du contexte inter-fichiers — récupérer le bon contexte et prédire la ligne suivante qui en dépend — c'est pourquoi il est devenu un banc d'essai standard pour les modèles de code conscients du dépôt et à long contexte.
Exemple résolu
Tâche
Contexte inter-fichiers (helpers/formatting.py) : def to_title(text): return text.strip().title() Contexte intra-fichier (report.py) : from helpers.formatting import to_title def make_heading(raw): Prédisez la ligne suivante.
Solution
return to_title(raw)
Explication
La ligne suivante mise de côté appelle to_title — la fonction utilitaire définie dans l'extrait inter-fichiers et importée en haut — sur l'argument de la fonction, ce qui est exactement ce que faisait ici le code d'origine du dépôt ; un modèle qui ignorerait l'autre fichier ne pourrait pas savoir que to_title est le bon appel. Notation : Exact Match par rapport à la ligne de référence, Edit Similarity accordant un crédit partiel aux correspondances proches.

Aucun score vérifié pour ce benchmark à ce jour.