nemotron-gym-agent-calendar
收藏数据集概览
数据集名称: laion/nemotron-gym-agent-calendar
许可协议: CC-BY-4.0
任务类别: 强化学习(reinforcement-learning)
语言: 英语
数据规模: 1,000 < 样本数 < 10,000
数据集来源与转换
- 该数据集是对 NVIDIA 的 nvidia/Nemotron-RL-agent-calendar_scheduling 数据集的 Harbor 格式转换版本。
- 转换由 OpenThoughts-Agent 项目中的
data/nemotron_gym适配器生成。 - 该数据集是 NVIDIA NeMo-Gym 集合 的衍生数据集。
数据格式与结构
每一行数据包含两个字段:
| 字段 | 类型 | 说明 |
|---|---|---|
path |
字符串 | 确定性短ID(格式:<家族名>-<sha256[:12]>.tar.gz) |
task_binary |
二进制 | 包含完整 Harbor 任务的 Gzip 压缩 tar 包 |
任务包内容
解压后的 tarball 遵循 Harbor 的任务布局,包含以下文件:
| 文件 | 说明 |
|---|---|
instruction.md |
展示给智能体的提示 |
environment/Dockerfile |
基于 python:3.11-slim-bookworm 基础镜像,包含任务特定的 pip 依赖 |
tests/test.sh |
验证器入口(写入 /logs/verifier/reward.txt) |
tests/verifier.py |
验证器实现(内嵌、确定性) |
tests/verifier_data.json |
每个任务的验证器输入(JSON格式,无代码插值) |
metadata.json |
来源信息:原始数据集、行索引、任务家族等 |
task.toml |
标准 Harbor 任务配置(默认CPU、内存、超时设置) |
安全性保障
转换过程采用“安全构造”原则:
- 数据集内容不会被插值到 shell、Python 或 Dockerfile 源码中,所有值均通过
tests/verifier_data.json(运行时解析的JSON)传递。 - 基础镜像名称固定为
python:3.11-slim-bookworm,pip 依赖需通过严格的允许列表正则表达式验证。 - 文本字段已清除 C0/C1 控制字符,长度受限,tarball 路径已验证防止遍历攻击/NUL字符/绝对路径攻击。
- tarball 是确定性的(条目排序、
mtime=0、uid/gid=0),确保字节可重现。
验证器家族
验证器家族为 calendar_constraints(与 instruction-following-calendar 相同),详情请参考源转换器。
使用方式
加载数据集(Harbor):
python from datasets import load_dataset
ds = load_dataset("laion/nemotron-gym-agent-calendar", split="train") print(ds[0]["path"], len(ds[0]["task_binary"]))
运行单个任务:
bash
将任务解压到目录并指向 Harbor
python - <<PY import gzip, io, tarfile from datasets import load_dataset ds = load_dataset("laion/nemotron-gym-agent-calendar", split="train") row = ds[0] with tarfile.open(fileobj=io.BytesIO(row["task_binary"]), mode="r:gz") as tar: tar.extractall("/tmp/agent-calendar-task") PY harbor run -t /tmp/agent-calendar-task -e daytona # 或 -e docker




