Benchmark · coding

RepoBench

0 परिणाम 0 मॉडल

RepoBench, Python और Java के लिए एक रिपॉज़िटरी-स्तरीय कोड ऑटो-कम्प्लीशन बेंचमार्क है जो मापता है कि कोई सिस्टम फ़ाइल-आंतरिक संदर्भ और उसी रिपॉज़िटरी की अन्य फ़ाइलों से आने वाले क्रॉस-फ़ाइल संदर्भ, दोनों का उपयोग करके कोड की अगली पंक्ति का पूर्वानुमान लगा सकता है या नहीं। इसमें तीन कार्य हैं — पुनर्प्राप्ति (RepoBench-R), अगली पंक्ति पूर्ण करना (RepoBench-C), और एंड-टू-एंड पाइपलाइन (RepoBench-P) — जिनका मूल्यांकन मुख्यतः Exact Match और Edit Similarity से होता है, और पुनर्प्राप्ति कार्य के लिए पुनर्प्राप्ति सटीकता से।

और पढ़ें
उदाहरण
किसी स्रोत फ़ाइल की पिछली पंक्तियों के साथ-साथ उसी रिपॉज़िटरी की अन्य फ़ाइलों से निकाले गए कोड अंश (उदाहरण के लिए, कोई मॉड्यूल जो सहायक फलन या क्लास परिभाषित करता है) देकर, कोड की एकमात्र अगली पंक्ति का पूर्वानुमान लगाना — आमतौर पर वह पंक्ति जो किसी अन्य फ़ाइल में परिभाषित चीज़ को कॉल या संदर्भित करती है।
स्कोरिंग
पूर्णता (RepoBench-C और -P): पूर्वानुमानित अगली पंक्ति की तुलना सन्दर्भ पंक्ति से Exact Match (पूर्णतः समान पंक्तियों का प्रतिशत) और Edit Similarity (0–100 स्कोर = 1 − सामान्यीकृत Levenshtein एडिट दूरी) द्वारा की जाती है; CodeBLEU भी रिपोर्ट किया जाता है। पुनर्प्राप्ति (RepoBench-R): accuracy@k — उन मदों का अनुपात जिनका सन्दर्भ क्रॉस-फ़ाइल अंश शीर्ष-k पुनर्प्राप्त उम्मीदवारों में होता है।
सत्यापन
मूल्यांकन स्वचालित और सन्दर्भ-आधारित है (कोई कोड निष्पादन नहीं): मॉडल की आउटपुट पंक्ति को सामान्यीकृत करके मूल रिपॉज़िटरी से अलग रखी गई असली अगली पंक्ति से स्ट्रिंग-मिलान किया जाता है। Exact Match के तहत कोई पूर्णता तभी सही मानी जाती है जब वह सन्दर्भ पंक्ति के अक्षरशः समान हो; Edit Similarity आंशिक अंक देता है; पुनर्प्राप्ति तब स्वीकार होती है जब सन्दर्भ अंश शीर्ष-k में आता है।
यह क्यों मायने रखता है
वास्तविक कोडिंग सहायकों को केवल खुली फ़ाइल पर नहीं, बल्कि पूरे रिपॉज़िटरी पर तर्क करना पड़ता है। RepoBench क्रॉस-फ़ाइल संदर्भ मॉडलिंग को अलग करके परखता है — सही संदर्भ पुनर्प्राप्त करना और उस पर निर्भर अगली पंक्ति का पूर्वानुमान — इसलिए यह रिपॉज़िटरी-सचेत और लंबे-संदर्भ वाले कोड मॉडलों के लिए एक मानक परीक्षण-मंच बन गया।
हल किया गया उदाहरण
कार्य
क्रॉस-फ़ाइल संदर्भ (helpers/formatting.py): def to_title(text): return text.strip().title() फ़ाइल-आंतरिक संदर्भ (report.py): from helpers.formatting import to_title def make_heading(raw): अगली पंक्ति का पूर्वानुमान लगाइए।
समाधान
return to_title(raw)
व्याख्या
अलग रखी गई अगली पंक्ति फलन के तर्क पर to_title को कॉल करती है — वही सहायक फलन जो क्रॉस-फ़ाइल अंश में परिभाषित है और शीर्ष पर आयात किया गया है — जो ठीक वही है जो मूल रिपॉज़िटरी कोड यहाँ करता था; जो मॉडल दूसरी फ़ाइल की अनदेखी करे वह नहीं जान सकता कि सही कॉल to_title है। मूल्यांकन: सन्दर्भ पंक्ति से Exact Match, और निकट-मिलानों के लिए Edit Similarity आंशिक अंक देता है।

इस benchmark के लिए अभी तक कोई सत्यापित स्कोर रिपोर्ट नहीं किया गया है।