v2

latestOpenAPI 3.1.02026-07-2675166192.8 KB
training

Create Dedicated Run

Dispatch a dedicated full-FT prime-rl run on a registered PrimeCluster.

Access is gated by ClusterAllocation - the picker in training_service.create_dedicated_run rejects callers whose team/user has no matching allocation on a live PrimeCluster. When team_id is set the caller must additionally be a member of that team (mirrors the LoRA/shared dispatch path).

Config validation (validator schema, hub env ids, HF repo names, per-run GPU cap) runs sync so bad configs return 400 immediately. Cluster-side probes (GPU capacity, model cache) and the helm install run async in a Cloud Task; callers poll GET /api/v1/rft/runs/{run_id} for status transitions PENDING -> CREATING -> RUNNING (or FAILED with errorMessage on a cluster-side rejection).

post/api/v1/training/runs

Request body

configobject required

Full prime-rl-style TOML, parsed to a dict. Same shape as prime-rl/examples/*/rl.toml; the platform splits it into trainer / orchestrator / inference subconfigs and bakes each into the corresponding pod's startup command.

imageTagstring

prime-rl container image tag

namestring nullable

Optional human-readable run name

teamIdstring nullable

Owning team (defaults to caller's user)

wandbApiKeystring nullable

W&B key. On the PENDING fast-path it's materialised straight into the run's k8s Secret. On the QUEUED path it's stashed AES-encrypted on the RFTRun row so the drainer can rebuild the same Secret at promotion time without re-prompting.

hfTokenstring nullable

HF token for gated/private model downloads. Same storage rules as wandbApiKey above.

gpuTypestring nullable

Optional GPU type constraint (e.g. 'H200_141GB', 'B200_180GB'). When set, dispatch is restricted to PrimeClusters whose gpuType matches. When omitted, the picker chooses the oldest eligible cluster with no type preference.

Response

Successful Response

runIdstring required
jobIdstring required
tokenValuestring required

PRIME_API_KEY for this run. Returned once — the platform stores only the token id.