Joblebenszyklus
Config-Trainingsjob erstellen
Rufen Sie POST /v1/training/jobs auf, um asynchrones verwaltetes Training (Config-Job) aus einem Basismodell und Datensätzen zu starten.
POST
POST /v1/training/jobs
Startet asynchrones verwaltetes Training (config-Job) und gibt dessen
Job-Datensatz zurück. Sie stellen einen Datensatz und eine Konfiguration bereit,
und Fastino führt den Trainingsloop aus. Für interaktives Training
(interactive-Job), bei dem Ihre Anwendung jeden Trainingsschritt steuert,
folgen Sie dem Decoder-Schnellstart,
der einen interactive-Job über
POST /v1/training/jobs/create-model
oder das unterstützte Tinker SDK erstellt. Dieser Endpunkt erstellt keine
interaktiven Jobs. Nach der Erstellung verwenden beide Jobtypen ihre kanonischen
IDs mit den dokumentierten Lebenszyklusoperationen unter
/v1/training/jobs/{job_id}.
config-Jobs trainieren Encoder-Modelle, die von
GET /v1/base-models?supports_training=true zurückgegeben werden und eine
kompatible Dispatch-Route für config-Jobs haben. Decoder-Basismodelle geben
400 zurück; trainieren Sie Decoder stattdessen mit einem
interactive-Job.
Dieser Endpunkt ist auf 20 Anfragen pro Minute pro Benutzer begrenzt.
Request
string
erforderlich
Ihr Fastino-API-Schlüssel.
string
Vom Client erzeugter Retry-Schlüssel mit 1–255 Zeichen; eine UUID wird empfohlen. Derselbe Schlüssel mit demselben Body gibt den ursprünglichen Job zurück. Derselbe Schlüssel mit einem anderen Body gibt
422 zurück.string
erforderlich
Anzeigename für das trainierte Modell. Länge: 1–100 Zeichen.
string
erforderlich
Eine trainierbare Encoder-ID aus
GET /v1/base-models?supports_training=true. Der ausgewählte training_type muss eine kompatible Dispatch-Route haben. Checkpoint-UUIDs und Decoder-Basismodelle geben 400 zurück.object[]
erforderlich
Eine oder mehrere Referenzen auf hochgeladene Datensätze. Jeder Eintrag benötigt
name und kann version enthalten; ausgelassene Versionen werden auf die neueste Version aufgelöst.string
Standard:"lora"
lora oder full. Das ausgewählte Basismodell muss den angeforderten Typ unterstützen.number
Standard:"0.2"
Für die Validierung zurückgehaltener Anteil, von
0 bis 0.9 in Schritten von 0.01.integer
Standard:"100"
Maximale Anzahl an Epochen, von
1 bis 10000; Early Stopping kann früher beenden.number
Maximale Lernrate von
1e-8 bis 1. Lassen Sie das Feld weg, um das Trainingsrezept des ausgewählten Modells zu verwenden.integer
Batch-Größe pro Gerät von
1 bis 256. Lassen Sie sie weg, um die default_training_batch_size des Modells aus GET /v1/base-models?supports_training=true zu verwenden. Ein Wert über der max_training_batch_size des Modells gibt 422 zurück, sofern der Katalog eine veröffentlicht. Passt ein GLiNER-Batch nicht auf die Trainings-GPU, wird er auf die größte passende Größe verkleinert; batch_size im Job zeigt die tatsächlich verwendete Größe.integer
Optionaler Reproduzierbarkeits-Seed von
0 bis 2147483647. Setzen Sie provider_name auf modal, wenn Sie ihn verwenden. Ein Seed reduziert eine Quelle von Variation, garantiert jedoch keine bit-identischen GPU-Läufe.string
UUID des Projekts. Wird das Feld weggelassen, ordnet Fastino den Job dem Standardprojekt des Aufrufers zu.
Response
Gibt200 mit dem vollständigen Trainings-Job-Datensatz zurück, einschließlich einer UUID id und dem Anfangsstatus. Das folgende Beispiel ist gekürzt; die tatsächliche Antwort enthält alle durch TrainingJobResponse definierten Felder.
id aus dieser Antwort. Sie verwenden sie, um den Status abzufragen, Metriken und Artefakte abzurufen und Inferenz gegen das trainierte Modell auszuführen.
Ein fehlerhaft aufgebauter Body gibt 422 zurück. Eine gültige, aber nicht verfügbare Kombination aus Modell, Datensatz, Trainingstyp oder Anbieter gibt einen anfragespezifischen 4xx-Fehler zurück.
Die Erstellung kann folgende codierte Konflikte zurückgeben:
Derselbe
Idempotency-Key und ein identischer Body geben den ursprünglichen Job erneut zurück, statt einen weiteren zu erstellen. Ein geänderter Body mit demselben Schlüssel gibt 422 zurück.
Die 60-Sekunden-Prüfung auf identische Einreichungen ist von der Wiederholung per Idempotenzschlüssel unabhängig. Nach diesem Zeitfenster erstellt und berechnet derselbe Body einen weiteren Job, wenn der ursprüngliche Schlüssel nicht wiederverwendet wird. Ist der gewünschte Modellname bereits vergeben, erhält der nächste Job ein Suffix wie <name>_2.
Ein Decoder-Basismodell gibt 400 zurück:
interactive-Job mit
POST /v1/training/jobs/create-model
und folgen dem Decoder-Schnellstart.
Autorisierung
Erfordert die Teamrolle Owner, Admin oder Editor. Andere Rollen erhalten403 Forbidden.
