Passer au contenu principal
POST
POST /v1/training/jobs Démarre un entraînement géré asynchrone (job config) et renvoie son enregistrement. Vous fournissez un dataset et une configuration, et Fastino exécute la boucle d’entraînement. Pour l’entraînement interactif (job interactive), où votre application contrôle chaque étape d’entraînement, suivez le Démarrage rapide du décodeur, qui crée un job interactive via POST /v1/training/jobs/create-model ou le SDK Tinker pris en charge. Cet endpoint ne crée pas de jobs interactifs. Après leur création, les deux types de jobs utilisent leurs ID canoniques avec les opérations de cycle de vie documentées sous /v1/training/jobs/{job_id}. Les jobs config entraînent les modèles encodeurs renvoyés par GET /v1/base-models?supports_training=true qui disposent d’une route de dispatch compatible pour les jobs config. Les modèles de base décodeurs renvoient 400 ; entraînez plutôt les décodeurs avec un job interactive. Cet endpoint est limité à 20 requêtes par minute et par utilisateur.

Requête

string
requis
Votre clé API Fastino.
string
Clé de nouvelle tentative générée par le client, de 1 à 255 caractères ; un UUID est recommandé. Répéter la même clé et le même corps renvoie le job d’origine. Réutiliser la clé avec un autre corps renvoie 422.
string
requis
Nom d’affichage du modèle entraîné. Longueur : 1 à 100 caractères.
string
requis
Un ID d’encodeur entraînable renvoyé par GET /v1/base-models?supports_training=true. Le training_type sélectionné doit disposer d’une route de dispatch compatible. Les UUID de checkpoint et les modèles de base décodeurs renvoient 400.
object[]
requis
Une ou plusieurs références de datasets importés. Chaque élément nécessite name et peut inclure version ; les versions omises sont résolues vers la dernière version.
string
défaut:"lora"
lora ou full. Le modèle de base sélectionné doit prendre en charge le type demandé.
number
défaut:"0.2"
Fraction réservée à la validation, de 0 à 0.9 par incréments de 0.01.
integer
défaut:"100"
Nombre maximal d’époques, de 1 à 10000 ; l’arrêt anticipé peut terminer plus tôt.
number
Taux d’apprentissage maximal de 1e-8 à 1. Omettez-le pour utiliser la recette d’entraînement du modèle sélectionné.
integer
Taille du batch par appareil de 1 à 256. Omettez-la pour utiliser le default_training_batch_size du modèle renvoyé par GET /v1/base-models?supports_training=true. Une valeur supérieure au max_training_batch_size du modèle, lorsque le catalogue en publie un, renvoie 422. Si un batch GLiNER ne tient pas sur le GPU d’entraînement, il est réduit à la plus grande taille qui tient ; le batch_size du job indique la taille utilisée.
integer
Seed de reproductibilité facultative de 0 à 2147483647. Définissez provider_name sur modal lors de son utilisation. Une seed réduit une source de variation, mais ne garantit pas des exécutions GPU identiques bit à bit.
string
UUID du projet. S’il est omis, Fastino associe le job au projet par défaut de l’appelant.

Réponse

Renvoie 200 avec l’enregistrement complet du job d’entraînement, y compris un id UUID et le statut initial. L’exemple ci-dessous est abrégé ; la réponse réelle contient tous les champs définis par TrainingJobResponse.
Conservez l’id renvoyé dans cette réponse. Vous l’utiliserez pour interroger le statut, récupérer les métriques et les artefacts, et exécuter des inférences sur le modèle entraîné. Un corps mal formé renvoie 422. Une combinaison valide mais indisponible de modèle, dataset, type d’entraînement ou fournisseur renvoie une erreur 4xx propre à la requête. La création peut renvoyer les conflits codés suivants : La même Idempotency-Key et un corps identique rejouent le job d’origine au lieu d’en créer un autre. Un corps différent avec la même clé renvoie 422. La vérification des soumissions identiques pendant 60 secondes est distincte du rejeu par clé d’idempotence. Passé ce délai, envoyer le même corps sans réutiliser la clé d’origine crée et facture un autre job. Si le nom de modèle demandé est déjà utilisé, le job suivant reçoit un suffixe tel que <name>_2. Un modèle de base décodeur renvoie 400 :
Pour entraîner un décodeur, créez un job interactive avec POST /v1/training/jobs/create-model et suivez le Démarrage rapide du décodeur.

Autorisation

Nécessite le rôle Owner, Admin ou Editor de l’équipe. Les autres rôles reçoivent 403 Forbidden.