five

exp_rpt_stack-php-large-v3

收藏
Hugging Face2026-05-15 更新2026-05-16 收录
下载链接:
https://huggingface.co/datasets/laion/exp_rpt_stack-php-large-v3
下载链接
链接失效反馈
官方服务:
资源简介:
exp_rpt_stack-php-large-v3是一个专门用于智能体评估和强化学习训练的PHP编码任务数据集,采用PHPUnit 10作为测试运行器。该数据集是其前身laion/exp_rpt_stack-php-large-v2的修复版本,主要修正了验证器端的一个关键缺陷:在原始v2版本中,测试脚本错误使用了PHPUnit 10中不存在的--fail-on-no-tests参数,导致所有测试运行失败并返回reward=0,无论解决方案的实际质量如何。v3版本对此进行了全面修复:将参数替换为PHPUnit 10正确的--fail-on-empty-test-suite;指定了正确的测试文件路径(/tests/TestSolution.php);添加了--bootstrap /app/autoload.php以确保PHPUnit能通过自动加载器解析解决方案类;并设置了--test-suffix=Solution.php以匹配测试类文件的后缀。数据集的奖励机制保持不变:仅当测试运行器返回码为0、PHPUnit报告至少运行了一个测试、且无失败和无错误时,才会给予reward=1的奖励。该数据集主要用于评估和训练能够生成正确PHP代码以通过特定单元测试的智能体。

exp_rpt_stack-php-large-v3 is a PHP coding task dataset specifically designed for agent evaluation and reinforcement learning training, using PHPUnit 10 as the test runner. This dataset is a fixed version of its predecessor laion/exp_rpt_stack-php-large-v2, primarily addressing a critical defect in the validator side. In the original v2 version, the test script test.sh incorrectly used the --fail-on-no-tests parameter, which does not exist in PHPUnit 10, causing all test runs to fail and return reward=0 regardless of the actual quality of the solutions. The v3 version comprehensively fixes this: replacing the parameter with the correct --fail-on-empty-test-suite for PHPUnit 10; specifying the correct test file path (/tests/TestSolution.php); adding --bootstrap /app/autoload.php to ensure PHPUnit can parse the solution class via the autoloader; and setting --test-suffix=Solution.php to match the suffix of test class files. The reward mechanism of the dataset remains unchanged: reward=1 is only given when the test runner returns code 0, PHPUnit reports at least one test run, and there are no failures or errors. The dataset is mainly used to evaluate and train agents capable of generating correct PHP code to pass specific unit tests.
提供机构:
LAION eV
创建时间:
2026-05-15
原始信息汇总

数据集概述:exp_rpt_stack-php-large-v3

基本信息

  • 许可证:Apache-2.0
  • 数据集名称:exp_rpt_stack-php-large-v3
  • 数据集地址:https://huggingface.co/datasets/laion/exp_rpt_stack-php-large-v3

数据集描述

该数据集包含PHP编程任务,用于智能体评估和强化学习训练。数据集使用PHPUnit 10测试运行器。

版本演变与修复

该数据集是 laion/exp_rpt_stack-php-large-v2 的重新修补版本,主要修复了验证器侧的缺陷,该缺陷导致所有质量检查(QC)通过时出现0%的解决率。

原版本(v2)问题

  • tests/test.sh 中使用了 --fail-on-no-tests 参数
  • 但 PHPUnit 10.5.63 版本(环境中的实际版本)不存在该选项
  • 每次试验都会退出并显示 Unknown option "--fail-on-no-tests" 错误
  • 导致 runner_rc=2,使奖励门控始终输出 reward=0

当前版本(v3)修复

  • 使用正确的 PHPUnit 10 标志 --fail-on-empty-test-suite
  • 指定实际测试文件路径 /tests/TestSolution.php
  • 添加 --bootstrap /app/autoload.php 参数,使PHPUnit能通过自动加载器解析解决方案类
  • 添加 --test-suffix=Solution.php 参数,因为测试类文件名为 TestSolution.php

奖励机制

奖励门控机制保持不变:

  • reward=1 的条件:runner_rc==0 且 PHPUnit报告 tests_run >= 1failures==0errors==0

相关数据集

  • 兄弟数据集 laion/exp_rpt_stack-php-v2-v2 存在相同缺陷,建议应用类似修复
搜集汇总
数据集介绍
main_image_url
构建方式
该数据集源自对先前版本`laion/exp_rpt_stack-php-large-v2`的修复性重构,旨在为智能体评估与强化学习训练提供PHP编程任务。原始版本因测试脚本中误用了PHPUnit 10不支持的`--fail-on-no-tests`参数,导致所有质量检查通过率归零。为解决这一缺陷,新版本对`test.sh`进行了系统性修正:替换为PHPUnit 10实际支持的`--fail-on-empty-test-suite`标志;明确指定测试文件路径`/tests/TestSolution.php`以匹配容器挂载点;引入`--bootstrap /app/autoload.php`确保依赖通过构建阶段生成的自动加载器正常解析;同时添加`--test-suffix=Solution.php`以支持非标准后缀的测试类文件。奖励机制保持不变,仅在返回码为零、测试数量不少于一例且无失败与错误时赋予奖励值1,并在修正后的脚本中嵌入了版本标记以供溯源。
特点
该数据集的核心特点在于其针对PHPUnit 10.5.63运行环境的精准适配与鲁棒性设计。通过修正测试启动脚本,有效规避了因命令行选项不兼容导致的系统性评估失效,确保了任务求解率度量的真实性。数据集聚焦于PHP编码任务,其构建过程充分考虑了自动化验证流程中的边缘情况,例如容器内文件路径映射与自动加载机制。修正后的测试脚本具有幂等性标识,便于版本追踪与差异比较。此外,该数据集与姐妹版本`laion/exp_rpt_stack-php-v2-v2`存在相似缺陷,为跨数据集的一致性修复提供了参考范式,体现了在复杂工程环境中对持续集成与测试策略的细致考量。
使用方法
使用该数据集时,推荐采用Harbor容器化部署以复现标准化运行环境。具体步骤包括:加载预配置的Docker镜像,其中集成了PHPUnit 10.5.63及自动加载文件;将待评估的PHP解决方案挂载至`/app`目录;数据集通过修正后的`test.sh`脚本自动执行测试,该脚本位于`tests/`目录下。评估结果基于运行返回码与PHPUnit报告的测试统计信息判定:当返回码为零且PHPUnit报告运行测试数不少于1且失败数与错误数均为0时,输出奖励值1,否则为0。对于存在类似缺陷的姐妹数据集,建议复用本数据集的补丁逻辑以统一修复。该数据集适用于智能体强化学习训练中的奖励信号生成或作为编程任务求解能力的基准测试。
背景与挑战
背景概述
在代码生成与智能体评估领域,自动化测试框架的可靠性是衡量模型性能的关键基石。由LAION团队于近期发布的exp_rpt_stack-php-large-v3数据集,专注于PHP编程任务的智能体评估与强化学习训练,基于PHPUnit 10测试框架构建。其前身v2版本因验证器缺陷导致所有质量检查通过率为零,该缺陷源于命令行参数--fail-on-no-tests与PHPUnit 10.5.63版本不兼容,使得每次试运行均因未知选项错误而退出,奖励信号始终为零。v3版本通过修正测试脚本,采用实际的--fail-on-empty-test-suite参数、明确指定测试文件路径、添加引导文件及自定义测试后缀,彻底修复了这一系统性缺陷,为PHP代码生成任务提供了稳定、可复现的评估基准。作为开源数据集(Apache-2.0许可),它在代码智能领域推动着从任务构建到模型训练的全链条可靠性研究。
当前挑战
该数据集的核心挑战在于解决两个层面的难题。领域层面,它直面代码生成评估中测试框架与实际编程环境的高度耦合问题:PHPUnit版本迭代导致参数演变,使得原数据集v2版本中所有试运行均因命令行不兼容而失败,这暴露了自动化评估系统在跨版本兼容性上的脆弱性,亟需建立参数适配与错误复现的标准化机制。构建层面,构建过程遭遇了验证器逻辑的隐式缺陷——测试脚本错误地使用了不存在于Docker环境中的参数,而防御性的tests_found门始终写入零奖励,掩盖了真实解的质量。修复过程需同时修正脚本参数、文件路径映射、自动加载配置及测试后缀规则,并通过幂等标记确保补丁的可追溯性。此外,同级数据集v2-v2存在相同缺陷,提示该问题具有系统性,需设计通用修补方案以维护数据集的整体一致性。
常用场景
经典使用场景
在代码生成与程序修复领域,该数据集被广泛用于评估和强化学习训练中的代理模型。具体而言,它聚焦于PHP编程任务的自动生成与验证,通过集成PHPUnit 10测试框架,为模型提供了一整套从代码编写到自动测试的闭环评估机制。研究者可据此训练模型在给定任务描述后生成符合预期功能的PHP代码,并借助内置测试套件自动判定代码的正确性,极大提升了代理模型在结构化编程环境中的自主决策能力。
实际应用
在实际工业场景中,该数据集可赋能智能代码编辑器、自动化编程辅助工具及软件开发运维流水线。例如,企业可将基于该数据集训练的模型嵌入持续集成环境,实现代码提交后的实时正确性验证与缺陷自动修补,显著降低人工代码审查的成本。此外,在教育培训领域,它也能作为自适应性习题系统的核心组件,为学生编写PHP代码任务提供即时、精准的反馈,提升编程教学效率。
衍生相关工作
围绕该数据集已催生一系列前沿探索,包括但不限于基于强化学习的代码生成策略优化、多轮对话式程序修复框架构建,以及融合静态分析与测试反馈的智能体设计。研究者利用其修正后的可靠奖励信号,进一步提出了对抗性测试生成方法,以增强模型在边界条件下的鲁棒性。这些衍生工作不仅深化了对代码合成过程中探索-利用平衡的理解,还促进了跨版本测试兼容性问题的系统性研究,形成了从数据构造到算法评估的完整创新链条。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作