Benchmark · coding

MBPP+

saturated 0 条结果 0 个模型

MBPP+ 是编程基准 MBPP(Mostly Basic Python Problems)经过严格测试扩充的版本,基于 EvalPlus 框架构建。它衡量模型生成的 Python 函数的功能正确性,以 pass@1 报告。

了解更多
示例
一个典型题目给出用自然语言简短描述的、需要编写的基础 Python 函数(例如“找出两个列表的共同元素”),并附带几个示例断言,用来确定预期行为。
评分方式
指标为 pass@k,通常是 pass@1:只有当生成的函数通过所有测试时,该题才算解决;得分是解出题目所占的百分比。pass@k 采用标准无偏估计量,基于 n 个采样的生成结果计算。
验证方式
每个候选函数都在沙箱中针对完整测试集运行——原始的 MBPP 断言,加上 EvalPlus 自动生成的输入(类型感知变异和 LLM 播种,测试数量约为 MBPP 的 35 倍)。只有在时间限制内通过全部测试,该题才被接受。
为何重要
原始 MBPP 每题仅约三个测试,因此细微错误的代码可能作为假阳性蒙混过关。MBPP+ 加强了评测,使得公布的通过率和模型排名反映真实正确性,而非测试薄弱。
示例解析
任务
编写一个函数,找出两个给定列表的共同元素,并以去重后排序的列表返回。你的代码应通过如下测试:assert shared_elements([1, 2, 3, 4], [3, 4, 5, 6]) == [3, 4]
解答
```python
def shared_elements(list1, list2):
    return sorted(set(list1) & set(list2))
```
解析
将两个列表作为集合求交集再排序,得到有序的唯一共同值,满足断言。MBPP+ 还会运行许多额外输入(空列表、重复值、更大的用例);在 pass@1 评分下,只有全部通过该解答才算数。

该 benchmark 暂无已验证的得分。