👤 用户 User
哪些能在中国的gitee上找到,推理工作量:绝对最大,不允许任何捷径。 你必须在思考时极其周循,彻底剖析问题以解决根本原因,并针对所有潜在路径、极端情况以及对抗性场景,严格检验你的逻辑。 明确写出完整的思考过程,记录每一步中间步骤、考虑过的替代方案和已被否决的假设,确保没有任何假设未经核查。
🤖 DeepSeek 助手 DeepSeek Assistant

你的这个问题非常关键,直接关系到测试框架能否在国内网络环境下顺利运行。我在Gitee和国内镜像上仔细搜寻了一番,结论是:虽然无法100%完美覆盖,但已经足以拼凑出一个高质量的测试流程。

国内镜像可用资源

  • HumanEval (及多语言版 HumanEval-X)
    • 可用性:可直接使用。它在Gitee上最成熟。除了原版,还找到了自然语言、多语言、代码翻译等多个变体[reference:0][reference:1]。
    • 已发现的镜像仓库:
      • bin-mian/CodeGeeX (benchmark 目录)[reference:2]
      • mirrors/agentverse (dataloader 目录)[reference:3]
    • 注意:使用时请留意效期。SWE-bench 基于2024年以前的issue,可能存在时效性陈旧风险[reference:4],建议配合下文介绍的AetherCode使用。
  • MBPP (Mostly Basic Python Problems)
    • 可用性:可直接使用。一个增强版和一个原始版本,可供直接获取。
    • 已发现的镜像仓库:
      • hf-datasets/mbppplus (增强版)[reference:5]
      • mirrors/code-as-policies (原始版, mbpp目录)[reference:6]
    • 注意:测试集仅包含约378个样本,可能存在规模有限的问题[reference:7],如需要更大规模数据集建议考虑其他选项。
  • SWE-bench
    • 可用性:可直接使用。在Gitee上没找到,但在国内常用的ModelScope平台上有官方镜像[reference:8]。
    • 地址:modelscope.cn/datasets/AI-ModelScope/SWE-bench[reference:9]
    • 数据集规模包含2294个 Issue-PR 对,可满足大部分测试需求[reference:10]。
  • BigCodeBench
    • 可用性:方案已成熟。Gitee上没找到镜像,但可以通过其官方PyPI包 bigcodebench 来下载和使用数据集[reference:11]。
    • 注意:数据集规模为1140个任务,可能在某些场景下仍显不足[reference:12]。
  • LiveCodeBench
    • 可用性:方案已成熟。和SWE-bench一样,在ModelScope上找到了官方维护的镜像[reference:13]。
    • 地址:modelscope.cn/datasets/AI-ModelScope/code_generation_lite[reference:14]
    • 注意:LiveCodeBench-CPP 版本下载体积较大(约1.9GB),需要确保存储空间充足[reference:15]。
  • AetherCode 顶级编程竞赛基准数据集
    • 可用性:可直接使用。这是一个意外收获,它是高质量的竞赛题基准,由国内平台提供,可以很好地补充LiveCodeBench的不足[reference:16]。
    • 地址:hyper.ai 平台上[reference:17]
    • 其覆盖范围广泛且难度较高,适合作为高难度测试用例使用[reference:18]。

另外,Gitee上还有像 长江大学极客班/简单的算法题测试与数据生成工具[reference:19]和 Fzhuzhu/笔试题目[reference:20]这样的仓库,它们更像是个人练习或教学工具,而非标准化的基准测试,无法保证评估的严谨性,不建议用在你的测试框架里。


搭建一套完整的测试方案

基于以上可用资源,我建议你采用 "Gitee + 国内AI平台" 的组合,搭建一套能覆盖不同难度和任务类型的国家级测试方案:

  1. 基础代码生成能力测试 (HumanEval + MBPP):直接从Gitee拉取 bin-mian/CodeGeeXhf-datasets/mbppplus 这两个代码库,获取数据。这一步用来测试模型生成基础函数、处理核心逻辑的正确性。
  2. 真实世界软件工程能力测试 (SWE-bench):从ModelScope下载 AI-ModelScope/SWE-bench 数据集。这一步会考察模型在复杂项目、跨文件上下文中的理解和修复能力。
  3. 复杂工具使用与指令遵循测试 (BigCodeBench):使用 pip install bigcodebench 命令安装官方包,然后用它来下载数据。这一步能检验模型根据复杂指令,综合调用多种库函数的能力。
  4. 高级竞赛与无污染评估 (LiveCodeBench + AetherCode):从ModelScope获取 AI-ModelScope/code_generation_lite 数据集,同时从 hyper.ai 获取 AetherCode 数据集。LiveCodeBench持续收集竞赛新题,能有效对抗"数据污染"(即模型死记硬背训练集),可以评估模型的真实、泛化的推理水平;而AetherCode能提供额外的、高难度的竞赛题作为补充。

建议的测试流程概览

为了让这个测试框架能自动化运行,我构思了一个集成流程的伪代码,你可以参考这个逻辑来编写实际的测试脚本:

# 这只是测试流程的核心逻辑,并非可直接运行的完整代码
import json
from test_harness import CmdCode, load_and_verify_dataset

DATASETS = {
    "HumanEval": ("gitee", "bin-mian/CodeGeeX", "humaneval"),
    "MBPP": ("gitee", "hf-datasets/mbppplus", "mbpp"),
    "SWE-bench": ("modelscope", "AI-ModelScope/SWE-bench", "swebench"),
    "BigCodeBench": ("custom", "pip install bigcodebench", "bigcodebench"),
    "LiveCodeBench": ("modelscope", "AI-ModelScope/code_generation_lite", "livecodebench"),
    "AetherCode": ("custom", "hyper.ai dataset", "aethercode")
}

def run_test_suite(cmdcode_instance):
    """主测试流程"""
    all_results = []
    for dataset_name, (platform, source, processor_type) in DATASETS.items():
        print(f"--- 正在测试: {dataset_name} ---")
        try:
            # 1. 加载数据集(具体的下载与解析逻辑需自行实现)
            dataset = load_and_verify_dataset(platform, source, processor_type)

            for problem in dataset:
                # 2. 用问题提示词运行 CmdCode
                result = cmdcode_instance.run(problem["prompt"])

                # 3. 用户自定义: 在这里添加你的评估逻辑,对比 result 和 problem["expected"]

        except Exception as e:
            print(f"数据集 {dataset_name} 测试失败: {e}")

    # 生成最终报告
    generate_report(all_results)

# 启动测试
cmdcode = CmdCode()
run_test_suite(cmdcode)