Configurer le pipeline
Définissez quelles étapes du pipeline s’exécutent sur deux couches : une configuration par défaut sur le moteur, et un remplacement facultatif sur une requête donnée.
Vous avez déjà décidé quelles étapes vous voulez autour de l’étape centrale de traduction. Il reste alors deux questions : où cette décision doit-elle vivre, et que faire lorsqu’une tâche a besoin d’un pipeline différent des autres ? La réponse tient en deux couches. Le moteur porte la configuration par défaut dont héritent toutes les tâches asynchrones. Un objet pipelineConfig sur une soumission donnée remplace cette valeur par défaut pour cette seule soumission. Les étapes que vous laissez hors du remplacement héritent du moteur, si bien qu’une requête n’indique que ce qui change.
Vous découvrez le pipeline ? Commencez par la Vue d'ensemble du pipeline pour comprendre le rôle de chaque étape. Cette page explique comment les activer et les remplacer, pas ce qu’elles font une fois activées.
Tâches asynchrones uniquement
La configuration du pipeline s’applique aux tâches créées via l’API de localisation asynchrone. Le point de terminaison synchrone /localize n’exécute que l’étape centrale de traduction et ignore entièrement les paramètres du pipeline, quelle que soit la couche.
Valeurs par défaut au niveau du moteur#
Ouvrez l’onglet Pipeline du moteur dans le tableau de bord et activez ou désactivez chaque étape indépendamment. Cette configuration devient la valeur par défaut du moteur : chaque tâche asynchrone qui y est routée s’exécute avec ces étapes, sauf si une requête les remplace. Définissez-la une fois, et vous n’avez pas à redéclarer le pipeline à chaque appel.
Chaque étape, à l’exception de Localization, a son propre interrupteur, et l’enregistrement se fait dès que vous le basculez. Vous pouvez activer la combinaison de votre choix : aucune, toutes ou n’importe quelle configuration intermédiaire. Un job exécute les étapes dans cet ordre :
- Pré-édition – nettoie le texte source avant la traduction.
- Localization – l’étape centrale de traduction. Elle est marquée Toujours activée et n’a pas d’interrupteur.
- Reformulation – réécrit le texte pour qu’il sonne naturellement. Indépendante des autres étapes.
- Relecture humaine – dirige vers une relecture interne ou externe. Le bouton des paramètres de l’étape ouvre Fournisseur, Délai d’attente et Seuil de qualité.
- Post-édition – harmonise les modifications humaines avec les règles de votre moteur. Elle ne peut pas être activée tant que Relecture humaine n’est pas activée, et si vous désactivez Relecture humaine, elle se désactive aussi.
- Longueur du contenu – maintient la traduction dans une contrainte de largeur, mesurée en colonnes d’affichage plutôt qu’en caractères. Le bouton des paramètres de l’étape ouvre Budget : Rester sous une limite fixe (avec une Longueur maximale), Pas plus long que l’original ou Correspondre à la longueur de l’original (avec une Différence autorisée, en pourcentage).
- Rétrotraduction – vérifie que le sens a bien résisté à l’aller-retour. Indépendante des autres étapes.
Une étape non incluse dans votre forfait affiche le libellé Enterprise et ne peut pas être activée.
C’est cette valeur par défaut dont hérite chaque tâche ; la configuration du moteur est donc la structure dans laquelle vient se fusionner un remplacement pipelineConfig. Chaque étape correspond à une clé :
{
"preEdit": { "enabled": true },
"humanEdit": {
"enabled": true,
"provider": "internal",
"tier": "standard",
"timeoutHours": 48,
"qualityThreshold": 85
},
"postEdit": { "enabled": false },
"rephrase": { "enabled": false },
"contentLength": {
"enabled": true,
"mode": { "_tag": "fixedCap", "maxColumns": 40 }
},
"backTranslation": { "enabled": true }
}| Clé | Champs | Défini sur la page de l’étape |
|---|---|---|
preEdit | enabled | Retouche IA pré-localisation |
rephrase | enabled | Reformulation pour un rendu naturel |
humanEdit | enabled, provider (internal | external), tier (facultatif ; les écritures n’acceptent que standard, les anciens moteurs peuvent encore relire pro), timeoutHours, qualityThreshold (facultatif, nombre entier de 1 à 100) | Relecture humaine |
postEdit | enabled | évaluation IA |
contentLength | enabled, mode : { "_tag": "fixedCap", "maxColumns": n }, { "_tag": "noLongerThanSource" } ou { "_tag": "matchSource", "tolerancePct": n } | Cette page — il n’existe pas de page d’étape distincte |
backTranslation | enabled | Vérification par rétrotraduction |
Le rôle de chaque champ — quel fournisseur de relecture, quelles traductions contournent la relecture, quel délai d’attente — est documenté sur la page propre à l’étape. Cette page explique où se trouve la configuration et comment les deux couches se combinent.
Remplacement par requête#
La plupart des tâches devraient s’exécuter avec la configuration par défaut du moteur. L’exception, c’est une soumission donnée qui a besoin d’un pipeline différent : un lot ponctuel de contenus marketing qui veut l’étape de reformulation que votre moteur laisse habituellement désactivée, ou une charge utile juridique qui devrait au contraire l’ignorer. Modifier le moteur pour traiter un seul lot changerait aussi toutes les autres tâches.
Vous transmettez donc uniquement la différence dans la requête. Ajoutez un objet pipelineConfig au corps de POST /jobs/localization, et il remplace la valeur par défaut du moteur pour cette seule soumission. Rien ne change sur le moteur ; la tâche suivante sans remplacement revient à la configuration par défaut.
{
"sourceLocale": "en",
"targetLocales": ["de", "fr"],
"data": { "headline": "Ship in every language." },
"pipelineConfig": {
"rephrase": { "enabled": true },
"backTranslation": { "enabled": false }
}
}Voici la règle d’héritage, et c’est elle qui permet de limiter la surcharge au strict minimum : toute étape que vous indiquez est remplacée ; toute étape que vous omettez hérite de la valeur par défaut du moteur. La requête ci-dessus active rephrase et désactive backTranslation pour ce seul job. preEdit, humanEdit, postEdit et contentLength ne sont pas indiquées ; elles s’exécutent donc exactement selon la configuration du moteur. Vous ne précisez que ce qui change.
Inclure une étape, c’est la spécifier en entier
La surcharge s’applique par étape, pas par champ. Chaque étape que vous incluez doit être l’objet complet correspondant : vous ne pouvez pas envoyer humanEdit: { "timeoutHours": 24 } pour modifier uniquement le délai d’attente tout en héritant du reste. Incluez l’étape complète pour la remplacer, ou omettez-la pour hériter de la valeur par défaut du moteur. Il n’existe pas de fusion partielle au sein d’un même objet d’étape.
Deux autres points importants sur ce que le remplacement ne fait pas, car c’est précisément là que l’on pourrait croire qu’il peut tout faire :
- Il modifie cette soumission uniquement. Il n’écrit rien en retour sur le moteur ; ce n’est donc pas la bonne manière d’apporter une modification de configuration durable — pour cela, utilisez l’onglet Pipeline. Utilisez le remplacement pour un besoin ponctuel ; utilisez l’onglet pour définir la nouvelle norme.
- Elle n’assouplit pas non plus les règles d’exécution propres à une étape. Post-édition ne s’exécute que lorsqu’une relecture humaine a produit un résultat ; activer
postEditne change donc rien pour un job qui n’a pas d’étape humaine à harmoniser, quelle que soit la couche où vous l’avez activée.
Confirmer ce qui s’est exécuté#
La configuration détermine quelles étapes doivent s’exécuter ; l’enregistrement de la tâche, lui, vous indique lesquelles l’ont réellement été. La tâche contient un tableau steps[], et c’est ce tableau qui vous permet de confirmer qu’un remplacement par requête a bien été pris en compte — pas seulement qu’il a été envoyé.
L’interprétation de ces enregistrements — le stepId de chaque étape, ce que signifie une étape skipped, où apparaissent les échecs non critiques — est expliquée sur une page dédiée.
Étapes suivantes#
Vous pouvez définir la configuration par défaut sur le moteur et la remplacer dans une requête. À partir d’ici, soumettez une tâche avec un remplacement, ou consultez les étapes pour confirmer lesquelles se sont exécutées.