任务生命周期
创建配置训练任务
调用 POST /v1/training/jobs,基于基础模型和数据集启动异步托管训练(config 任务)。
POST
POST /v1/training/jobs
启动异步托管训练(config 任务)并返回其任务记录。您提供数据集和配置,由 Fastino 运行训练循环。如需进行交互式训练(interactive 任务),由您的应用控制每个训练步骤,请按照解码器快速入门操作:该指南通过 POST /v1/training/jobs/create-model 或受支持的 Tinker SDK 创建 interactive 任务。此端点不会创建交互式任务。创建完成后,两种任务类型都使用各自的规范 ID 调用文档中所述的 /v1/training/jobs/{job_id} 生命周期操作。
config 任务可训练由 GET /v1/base-models?supports_training=true 返回、且具有兼容 config 任务调度路由的编码器模型。解码器基础模型会返回 400;请改用 interactive 任务训练解码器。
此端点限制为每个用户每分钟 20 次请求。
请求
string
必填
您的 Fastino API 密钥。
string
客户端生成的重试键,长度为 1–255 个字符,建议使用 UUID。使用相同键和请求体重试会返回原任务;同一键配合不同请求体会返回
422。string
必填
训练模型的显示名称。长度:1–100 个字符。
string
必填
GET /v1/base-models?supports_training=true 返回的可训练编码器 ID。所选 training_type 必须具有兼容的调度路由。检查点 UUID 和解码器基础模型会返回 400。string
默认值:"lora"
lora 或 full。所选基础模型必须支持所请求的训练类型。number
默认值:"0.2"
用于验证的留出比例,取值范围从
0 到 0.9,步长为 0.01。integer
默认值:"100"
最大 epoch 数,范围为
1 到 10000;早停可能会更早结束。number
峰值学习率,范围为
1e-8 到 1。省略时使用所选模型的训练配方。integer
单设备批大小,范围为
1 到 256。省略此项时,使用 GET /v1/base-models?supports_training=true 返回的该模型 default_training_batch_size。如果目录公布了该模型的 max_training_batch_size,超过它的值会返回 422。如果 GLiNER 批次无法放入训练 GPU,会缩小到可容纳的最大值;任务的 batch_size 显示实际运行的批大小。integer
可选的可复现性种子,取值从
0 到 2147483647。使用时请将 provider_name 设为 modal。种子可以减少一种变化源,但并不保证 GPU 运行结果按位一致。string
项目 UUID。省略时,Fastino 会将任务关联到调用者的默认项目。
响应
返回200 及完整的训练任务记录,其中包含 UUID id 和初始状态。以下示例经过缩略;实际响应包含 TrainingJobResponse 定义的所有字段。
id。您将用它来轮询状态、获取指标和工件,以及对训练后的模型运行推理。
请求体格式错误会返回 422。有效但不可用的模型、数据集、训练类型或提供方组合会返回请求相关的 4xx 错误。
创建操作可能返回以下带错误码的冲突:
相同
Idempotency-Key 和完全相同的请求体会重放原任务,而不是创建新任务。同一键配合不同请求体会返回 422。
60 秒相同提交检查与幂等键重放是相互独立的。超过该时间窗口后,如果发送相同请求体但不复用原键,则会创建另一个任务并产生费用。如果请求的模型名称已被占用,下一个任务会获得 <name>_2 之类的后缀。
解码器基础模型会返回 400:
POST /v1/training/jobs/create-model
创建 interactive 任务,并按照解码器快速入门操作。
授权
需要团队的 Owner、Admin 或 Editor 角色。其他角色会收到403 Forbidden。
