Train with SFT or reinforcement learning
Run durable training through an exact provider, inspect content-addressed checkpoints, and create a candidate Model through a compatible Gateway.
Training is part of the same measured improvement loop as suites. A job pins the exact Training Provider revision, base model, Dataset and Scorer versions, recipe, and limits before work begins. The provider performs the model-specific lifecycle; Constal owns durable orchestration, policy, budgets, checkpoint identity, evaluation, and audit.
Finishing training does not silently change production. A successful job produces immutable checkpoint references. You explicitly import one through a compatible Gateway to create a normal Model, evaluate that Model, and separately choose whether to bind it to an Agent.
Before you begin
Install or select a Training Provider. Each provider advertises its supported methods, base models, prices, checkpoint formats, and resume behavior. The provider owns its Credentials and external training account; those secrets never enter the recipe.
Use SFT when Dataset cases contain high-quality expected completions. Use RL when a deterministic Scorer can reward generated behavior and the correct output is difficult to write directly. RL requires at least one Scorer. Both methods need a published Dataset, a stable output Model ID, and a hard USD budget.
To turn the result into an inference Model, you also need a Gateway whose installed revision accepts the provider's checkpoint format.
Steps
- Open Evals → Training and choose Start Training.
- Choose a Training Provider first. The base-model picker then shows only models advertised by that exact provider revision.
- Choose SFT or RL and an immutable training Dataset. For RL, select the reward Scorer. Optionally add a validation Dataset and Scorer.
- Set the output Model ID, epochs, token ceilings, and hard USD budget.
- Keep the default recipe initially. Advanced controls set LoRA rank, learning rate, batch or group size, checkpoint cadence, evaluation cadence, and seed.
- Start the job. Closing the browser does not stop it; the platform reconciles the provider operation until it succeeds, fails, or is cancelled.
The API request carries the exact provider pin. The Console fills this from your selection:
{
"jobId": "support-sft-v1",
"provider": {
"crn": "crn:constal:production:YOUR_TENANT:default:service/team-training",
"hash": "PROVIDER_RESOURCE_HASH"
},
"outputModelId": "support-model-v1",
"recipe": {
"method": "sft",
"baseModel": "acme/base-20b",
"dataset": { "crn": "DATASET_CRN", "version": "3", "hash": "DATASET_HASH" },
"validationDataset": null,
"scorers": [],
"loraRank": 32,
"learningRate": 0.0001,
"epochs": 1,
"batchSize": 4,
"groupSize": 1,
"temperature": 0,
"seed": 42,
"checkpointEvery": 25,
"evalEvery": 25,
"maxTrainTokens": 1000000,
"maxSampleTokens": 500000,
"budgetMicroUsd": 50000000
}
}constal evals training start --body @training.json
constal evals training get support-sft-v1When the job succeeds, choose Create Model. Select a checkpoint and a compatible Gateway, then name the candidate Model. Constal gives the Gateway the verified, content-addressed provider descriptor and reconciles its import operation. When import completes, the returned offer is registered through the ordinary Model Resource path.
Create a candidate Model
Choose Create Model from a successful job. The dialog starts with the latest durable checkpoint; confirm its step, format, and artifact hash, then select an exact compatible Gateway revision. Set the stable Model ID, display name, and default temperature. The import continues durably if you close the browser.
If no Gateway is listed, none of your installed Gateway revisions accepts that checkpoint's exact format. Install one or build checkpoint import into a custom Gateway; do not relabel or convert the checkpoint in the browser.
Verify
The job should advance through queued, running, evaluating, and succeeded. Inspect completed steps, token units, settled charge, retry state, and every checkpoint's step, format, creation time, and content hash. A transient provider failure remains visible as retry state; it is never replaced with a successful-looking empty result.
Open the created Model and inspect Training provenance. It should show the source job, exact Training Provider CRN and hash, base model, checkpoint step, checkpoint hash, and format. The Model detail should also show the exact Gateway revision, context window, output limit, and returned pricing snapshot.
Resume or fork only from a checkpoint produced by the same exact Training Provider revision and only when that provider advertises support for the checkpoint format and operation. The platform rejects mismatched provider pins and formats before external work begins.
Next steps
Run a fresh Suite against the candidate Model and compare it with the current baseline using the same Dataset and Scorer versions. Creating the Model does not promote it, mutate an Agent, or change any binding. Update the Agent binding and deploy only after reviewing quality, failures, latency, and cost.
Cancelling a job preserves settled usage and its latest durable checkpoint. To integrate another training system, build a Training Provider on the same Connection contract rather than introducing another orchestration path.