Benchmark · coding

BigCodeBench

0 نتائج 0 نماذج

BigCodeBench هو معيار لتوليد شيفرة Python يضم 1140 مهمة برمجية واقعية، تتطلب كل منها الجمع بين استدعاءات لعدة مكتبات؛ ويُقيَّم عبر Pass@1 القائم على التنفيذ — أي نسبة المهام التي يجتاز حلّها المُولَّد جميع اختبارات الوحدة.

اقرأ المزيد
مثال
تعطي المهمة النموذجية توقيع دالة مع docstring مفصّل — مثل «حمِّل ملف CSV، واحسب إحصاءات ملخّصة لكل مجموعة باستخدام pandas، ثم ارسم مخطّطاً شريطياً باستخدام matplotlib» — وتطلب من النموذج كتابة جسم دالة يربط عدة استدعاءات مكتبية بشكل صحيح.
طريقة التقييم
المقياس هو Pass@1 المُعايَر، عادةً مع فك ترميز جشع: يُنفَّذ كل برنامج مُولَّد مقابل اختبارات وحدة المهمة داخل بيئة معزولة، ولا تُعدّ المهمة محلولة إلا إذا نجحت كل الاختبارات، والدرجة هي نسبة المهام المحلولة. يُبلَّغ عن تقسيمين — Complete (إكمال دالة مُهيكلة عبر docstring) وInstruct (تعليمات بلغة طبيعية فقط) — إضافةً إلى مجموعة فرعية صعبة Hard من 148 مهمة.
التحقق
القبول يكون بالتنفيذ حصراً: يجب أن يجتاز الحل جميع اختبارات الوحدة المكتوبة يدوياً للمهمة (نحو 5.6 لكل مهمة، بتغطية فروع متوسطة نحو 99%) عند تشغيله في بيئة معزولة. لا توجد درجة جزئية ولا مطابقة مع نص مرجعي.
لماذا يهم
على خلاف المعايير القصيرة ذات الدالة الواحدة مثل HumanEval، يختبر BigCodeBench ما إذا كان النموذج قادراً على اتّباع تعليمات معقّدة واستخدام واجهات API واقعية متنوّعة عبر 139 مكتبة و7 مجالات بشكل صحيح، وهو ما يعكس العمل البرمجي العملي بشكل أفضل؛ ويزيد تقسيم Instruct والمجموعة الفرعية Hard من الضغط على اتّباع التعليمات وتركيب الأدوات.
مثال محلول
المهمة
```python import pandas as pd import numpy as np def task_func(df, column): """ توحيد العمود العددي المعطى من DataFrame ليصبح متوسطه صفرًا وتباينه واحدًا، وإعادة الـ DataFrame بعد التعديل. Requirements: - pandas - numpy Parameters: df (pd.DataFrame): بيانات الإدخال. column (str): اسم العمود العددي المراد توحيده. Returns: pd.DataFrame: الـ DataFrame بعد توحيد العمود. Example: >>> df = pd.DataFrame({'a': [1, 2, 3, 4, 5]}) >>> round(task_func(df, 'a')['a'].mean(), 5) 0.0 """ ```
الحل
```python
    df[column] = (df[column] - np.mean(df[column])) / np.std(df[column])
    return df
```
الشرح
طرح متوسط العمود والقسمة على الانحراف المعياري للمجتمع (np.std، ddof=0) يعيد تحجيم القيم إلى متوسط 0 وتباين واحد، بما يحقق الـ docstring واختبار الـ doctest الخاص به (يُقرَّب المتوسط إلى 0.0)، ويستخدم كلتا المكتبتين المطلوبتين. التقييم قائم على التنفيذ: يشغّل BigCodeBench الدالة المكتملة على اختبارات الوحدة المخفية للمهمة ولا يمنح Pass@1 إلا إذا نجحت كل الاختبارات.

لا توجد درجات موثّقة لهذا الـ Benchmark بعد.