Configurar la canalización

Actualizado: la semana pasada · 6 min de lectura

Define qué etapas de la canalización se ejecutan en dos capas: un valor predeterminado en el motor y una sobrescritura opcional en una sola solicitud.

Ya has decidido qué etapas quieres alrededor del paso principal de traducción. Ahora hay dos preguntas: ¿dónde vive esa decisión y qué haces cuando un trabajo necesita algo distinto del resto? La respuesta está en esas dos capas. El motor lleva el valor predeterminado que hereda cada trabajo asíncrono. Un objeto pipelineConfig en un único envío sobrescribe ese valor predeterminado solo para ese envío. Las etapas que dejes fuera de la sobrescritura se heredan del motor, así que una solicitud solo indica lo que cambia.

¿Aún no conoces la canalización? Empieza por la Descripción general de la canalización para ver qué hace cada etapa. Esta página trata de cómo activarlas y sobrescribirlas, no de lo que hacen una vez habilitadas.

Solo trabajos asíncronos

La configuración de la canalización se aplica a los trabajos creados mediante la API de localización asíncrona. El endpoint síncrono /localize ejecuta solo el paso principal de traducción e ignora por completo la configuración de la canalización, en cualquiera de las dos capas.

Valores predeterminados a nivel de motor#

Abre la pestaña Pipeline del motor en el panel y activa o desactiva cada etapa de forma independiente. Esa configuración es el valor predeterminado del motor: todos los trabajos asíncronos dirigidos a él se ejecutan con estas etapas, salvo que una solicitud las sobrescriba. Lo configuras una vez y no tienes que volver a indicar la canalización en cada llamada.

Cada etapa, salvo Localization, tiene su propio interruptor y guarda los cambios en cuanto lo cambias. Puedes activar cualquier combinación: ninguna, todas o cualquier opción intermedia. Un trabajo ejecuta las etapas en este orden:

  • Preedición – limpia el texto fuente antes de traducir.
  • Localization – el paso principal de traducción. Está marcada como Siempre activada y no tiene interruptor.
  • Reformulación – reescribe el texto para que suene natural. Es independiente del resto de etapas.
  • Revisión humana – envía el contenido a revisión interna o externa. El botón de configuración de la etapa abre Proveedor, Tiempo de espera y Umbral de calidad.
  • Postedición – ajusta la edición humana a las reglas de tu motor. No se puede activar hasta que Revisión humana esté activada, y si desactivas Revisión humana, también se desactiva.
  • Longitud del contenido – mantiene la traducción dentro de un límite de ancho, medido en columnas de visualización en lugar de caracteres. El botón de configuración de la etapa abre Presupuesto: Mantenerse por debajo de un límite fijo (con una Longitud máxima), No más largo que el original o Igualar la longitud del original (con una Diferencia permitida, en porcentaje).
  • Retraducción – comprueba que el significado se conserva tras la ida y vuelta. Es independiente del resto de etapas.

Las etapas que no estén incluidas en tu plan muestran la etiqueta Enterprise y no se pueden activar.

El valor predeterminado es lo que hereda cada trabajo, así que la configuración del motor es la estructura sobre la que se fusiona una sobrescritura pipelineConfig. Cada etapa es una clave:

json
{
  "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 }
}
ClaveCamposSe configura en la página de la etapa
preEditenabledEdición de IA previa a la localización
rephraseenabledReformular para que el texto suene natural
humanEditenabled, provider (internal | external), tier (opcional; las escrituras solo aceptan standard; los motores antiguos pueden seguir leyendo pro), timeoutHours, qualityThreshold (opcional, número entero del 1 al 100)Revisión humana
postEditenabledevaluación de IA
contentLengthenabled, mode: { "_tag": "fixedCap", "maxColumns": n }, { "_tag": "noLongerThanSource" } o { "_tag": "matchSource", "tolerancePct": n }Esta página; no hay una página independiente para la etapa
backTranslationenabledComprobación de retrotraducción

Qué controla cada campo —qué proveedor de revisión se usa, qué traducciones omiten la revisión y cuánto dura la espera— está documentado en la página de cada etapa. Esta página explica dónde está la configuración y cómo se combinan ambas capas.

Sobrescritura por solicitud#

La mayoría de los trabajos deberían ejecutarse con el valor predeterminado del motor. La excepción es un envío concreto que necesita una canalización distinta: un lote puntual de textos de marketing que quiere la etapa de reformulación que tu motor normalmente deja desactivada, o una carga legal que debería omitirla. Editar el motor para gestionar un solo lote también cambiaría todos los demás trabajos.

Así que, en su lugar, indicas la diferencia en la solicitud. Añade un objeto pipelineConfig al cuerpo de POST /jobs/localization y sobrescribirá el valor predeterminado del motor solo para ese envío. Nada cambia en el motor; el siguiente trabajo sin sobrescritura volverá al valor predeterminado.

json
{
  "sourceLocale": "en",
  "targetLocales": ["de", "fr"],
  "data": { "headline": "Ship in every language." },
  "pipelineConfig": {
    "rephrase": { "enabled": true },
    "backTranslation": { "enabled": false }
  }
}

Esta es la regla de herencia, y es lo que mantiene la anulación en lo mínimo: La etapa que indicas se sobrescribe; la etapa que omites hereda la configuración predeterminada del motor. La solicitud anterior activa rephrase y desactiva backTranslation para este único trabajo. preEdit, humanEdit, postEdit y contentLength no se indican, así que se ejecutan exactamente como están configuradas en el motor. Solo indicas lo que cambia.

Si incluyes una etapa, debes especificarla completa

La anulación se aplica por etapa, no por campo. Cada etapa que incluyas debe enviarse como el objeto completo de esa etapa: no puedes enviar humanEdit: { "timeoutHours": 24 } para cambiar solo el tiempo de espera y heredar el resto. Incluye la etapa completa para sobrescribirla u omítela para heredar la configuración predeterminada del motor. No hay fusión parcial dentro de un mismo objeto de etapa.

Hay dos cosas más que la sobrescritura no hace, y conviene dejarlas claras porque esta es la parte que parece que puede hacerlo todo:

  • Cambia solo ese envío. No se escribe de vuelta en el motor, así que no es la forma de hacer un cambio de configuración duradero; para eso está la pestaña Pipeline. Usa la sobrescritura para algo puntual; usa la pestaña para el nuevo valor predeterminado.
  • No flexibiliza las reglas de ejecución de cada etapa. Postedición solo se ejecuta cuando la revisión humana ha generado un resultado, así que activar postEdit no hace nada en un trabajo que no tiene una etapa humana que ajustar, independientemente de la capa en la que lo hayas activado.

Confirmar lo que se ejecutó#

La configuración define qué etapas deberían ejecutarse; el propio registro del trabajo te dice cuáles se ejecutaron. El trabajo lleva una matriz steps[], y esa matriz es la forma de confirmar que una sobrescritura por solicitud realmente surtió efecto, no solo que la enviaste.

La lectura de esos registros —el stepId de cada etapa, lo que significa un paso skipped, dónde aparecen los fallos no críticos— tiene su propia página.

Siguientes pasos#

Puedes establecer el valor predeterminado en el motor y sobrescribirlo en una solicitud. A partir de aquí, envía un trabajo que incluya una sobrescritura o consulta los pasos para confirmar qué etapas se ejecutaron.