跳到主要内容

运行数据集 Job

Job 按平台解析后的固定 Dataset revision 执行成员 Task,可设置每个成员的 attempts。聚合结果归 Job;不要把 Job ID 传给 task 命令。

CLI workflow​

el job submit --dataset envloop/terminal-bench-2-1-lite --attempts 1
el job list --limit 25
el job status JOB_ID
el job result JOB_ID
el job stop JOB_ID

支持 catalog 的 APIServer 可显式指定 runner 和排队参数:

el job submit --runner envhub/harbor@0.23.0 --dataset envloop/terminal-bench-2-1-lite \
--queue-id default --priority 5 --tag nightly

runner 可带 @version;可选 --profile-id 引用平台 Profile,--job-id 指定本次 Job 标识。priority 越大先派发等待中的任务,不抢占已运行的任务;默认队列 default、priority 0。裸 JobMaster / LocalServer 不提供 catalog 时会拒绝命名 runner 请求。

将 JOB_ID 替换为响应值。该数据集需要已部署在目标平台;也可换成自己的可用数据集。返回的 cursor 可用于 el job list --cursor CURSOR 读取下一页。

Dataset selection​

选项行为
name@version精确选择作者声明版本
--namespace为短名称补全 namespace
--config选择数据集 subset;省略用声明默认
--split选择一个完整分组;省略用该 config 全部分组
--revision来源 Git branch / tag / commit;必须匹配平台已绑定快照
--attempts每个成员尝试次数,默认 1

多配置没有默认或版本匹配歧义时明确报错,不猜 latest。不支持 split 切片表达式。远程用户通常不需要 repository-root / repository-commit,来源管理属于平台。

Python workflow​

from envloop import Client

with Client.remote() as client:
job = client.jobs.submit(
"envloop/terminal-bench-2-1-lite",
attempts=1,
request_id="lite-evaluation-001",
)
job_id = job["job_id"]
final = client.jobs.wait(job_id, timeout=600)
print(final["status"]) # Job 终态为 completed / failed / cancelled
print(client.jobs.result(job_id))

jobs.wait() 返回状态详情,不是聚合评分结果。读取评分需另外调用 jobs.result()。Job completed 时也需查看成员失败与缺失评分。

SDK 也可接受平台提供的固定 dataset_ref 映射;固定引用不能与 namespace / config / split / revision 选择项混用。request_id 的重试保留首次冻结选择,修改数据集或参数后运行应使用新 ID。

本地 Dataset Job 需要已初始化、绑定并包含 Dataset 定义的仓库;空的 Client.local() 并不自动提供数据集。完整参数见 CLI reference 与 SDK reference。