Configure o pipeline

Max PrilutskiyCEO e cofundadorUpdated há 15 dias · 5 min read

Defina quais estágios do pipeline serão executados em duas camadas: um padrão na engine e uma sobrescrita opcional em uma única solicitação.

Você já decidiu quais estágios quer ao redor da etapa principal de tradução. Agora surgem duas perguntas: onde essa decisão fica e o que fazer quando um job precisa de algo diferente dos demais? A resposta está em duas camadas. A engine carrega o padrão que todo job assíncrono herda. Um objeto pipelineConfig em um envio específico sobrescreve esse padrão só para aquele envio. Os estágios que você deixar de fora da sobrescrita herdam da engine, então a solicitação informa apenas o que muda.

É novo no pipeline? Comece pela Visão geral do pipeline para entender o que cada estágio faz. Esta página é sobre como ativá-los e sobrescrevê-los — não sobre o que eles fazem depois de ativados.

Somente jobs assíncronos

A configuração do pipeline se aplica a jobs criados pela API de Localização Assíncrona. O endpoint síncrono /localize executa apenas a etapa principal de tradução e ignora totalmente as configurações do pipeline — em qualquer uma das camadas.

Padrões no nível da engine#

Abra a aba Pipeline da engine no dashboard e ative ou desative cada estágio de forma independente. Essa configuração é o padrão da engine: todo job assíncrono roteado para ela será executado com esses estágios, a menos que uma solicitação os sobrescreva. Configure uma vez e você não precisa repetir o pipeline em todas as chamadas.

Cada estágio tem seu próprio controle. Você pode ativar qualquer combinação — nenhum, todos ou qualquer coisa entre os dois:

Localização principal não é um controle — ela sempre é executada. Os estágios ficam ao redor dela.

Esse padrão é o que todo job herda, então a configuração da engine é a base sobre a qual uma sobrescrita pipelineConfig é mesclada. Cada estágio corresponde a uma chave:

json
{
  "preEdit": { "enabled": true },
  "humanEdit": {
    "enabled": true,
    "provider": "internal",
    "tier": "standard",
    "timeoutHours": 48
  },
  "postEdit": { "enabled": false },
  "rephrase": { "enabled": false },
  "backTranslation": { "enabled": true }
}
ChaveCamposDefinido na página do estágio
preEditenabledEdição por IA pré-localização
humanEditenabled, provider (internal | external), tier (standard | pro), timeoutHoursrevisão humana
postEditenabledavaliação por IA
rephraseenabledReformular para soar natural
backTranslationenabledVerificação de retradução

O que cada campo controla — qual provedor de revisão, qual nível, quanto tempo esperar — está documentado na página de cada estágio. Esta página é sobre onde a configuração fica e como as duas camadas se combinam.

Sobrescrita por solicitação#

A maioria dos jobs deve seguir o padrão da engine. A exceção é um envio específico que precisa de um pipeline diferente — um lote pontual de texto de marketing que quer a etapa de reformulação que sua engine normalmente deixa desativada, ou um conteúdo jurídico que deve ignorá-la. Editar a engine para atender um único lote também mudaria todos os outros jobs.

Por isso, você passa a diferença na própria solicitação. Adicione um objeto pipelineConfig ao corpo de POST /jobs/localization, e ele sobrescreve o padrão da engine apenas para aquele envio. Nada muda na engine; o próximo job sem sobrescrita volta ao padrão.

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

Esta é a regra de herança, e é ela que mantém a sobrescrita enxuta: um estágio que você nomeia é sobrescrito; um estágio que você omite herda o padrão da engine. A solicitação acima ativa rephrase e desativa backTranslation para este único job. preEdit, humanEdit e postEdit não são nomeados, então são executados exatamente como estão configurados na engine. Você informa apenas o que muda.

Se incluir um estágio, especifique-o por completo

A sobrescrita é por estágio, não por campo. Cada estágio que você incluir deve ser o objeto completo daquele estágio — você não pode enviar humanEdit: { "tier": "pro" } para alterar apenas o nível e herdar o restante. Inclua o estágio inteiro para sobrescrevê-lo ou omita-o para herdar o padrão da engine. Não há mesclagem parcial dentro de um único objeto de estágio.

Mais duas coisas que a sobrescrita não faz, ditas de forma direta porque esta é a parte que parece poder fazer qualquer coisa:

  • Ela altera apenas aquele envio. Não grava de volta na engine, então não é assim que você faz uma mudança de configuração duradoura — para isso existe a aba Pipeline. Use a sobrescrita para algo pontual; use a aba para o novo padrão.
  • Ela não flexibiliza as próprias regras de execução de um estágio. avaliação por IA pós-localização só é executada quando a revisão humana produz saída, então ativar postEdit não faz nada em um job que não tem estágio humano para reconciliar — independentemente da camada em que você a ativou.

Confirme o que foi executado#

A configuração define quais estágios devem ser executados; o próprio registro do job mostra quais de fato foram. O job traz um array steps[], e é por meio dele que você confirma que uma sobrescrita por solicitação realmente entrou em vigor — não apenas que foi enviada.

A leitura desses registros — o stepId de cada estágio, o que significa uma etapa skipped, onde falhas não críticas aparecem — fica em uma página própria.

Próximos passos#

Você pode definir o padrão na engine e sobrescrevê-lo em uma solicitação. A partir daqui, envie um job com sobrescrita ou consulte as etapas para confirmar quais estágios foram executados.