Tradução automática

Bring Your Own Engine

O conteúdo de toda a Central de Ajuda é traduzido automaticamente de inglês pelo Phrase Language AI.

O recurso Bring Your Own Engine (BYO Engine) permite integrar motores externos de tradução automática (MT) ao Phrase para uso em fluxos de trabalho de tradução como qualquer outro provedor de MT.

O BYO Engine é adequado para:

  • Empresas com modelos de MT específicos de domínio.

  • LSPs com motores personalizados para clientes ou pilhas de IA preferidas.

  • Organizações com políticas internas que exigem o uso de motores específicos (por exemplo, o Gemini, LLMs internos etc.).

Motores treinados de forma personalizada podem ser usados ou as traduções podem ser encaminhadas para LLMs internos ou provedores de MT para manter controle total sobre qualidade, privacidade e custo, sem deixar de aproveitar as memórias de tradução (TM), glossários, o QPS e o editor CAT do Phrase.

Onde usar o BYO Engine

Uma vez integrado, um BYO Engine fica disponível para pré-tradução. Configure-o em um perfil do Phrase Language AI e use esse perfil para realizar a pré-tradução a partir de projetos do Phrase TMS, do Phrase Portal, de projetos do Phrase Strings, do Phrase Studio e do Phrase Language AI via API.

Configurar um Bring Your Own Engine

Como criar o adaptador

  • A organização deve construir e testar um adaptador de API leve. Este adaptador permite a comunicação entre o Phrase e o motor.

    O adaptador deve oferecer suporte a:

    • Solicitações de tradução

    • Suporte a pares de idiomas

    • Verificação de status do motor (o Phrase envia uma solicitação de status)

  • A infraestrutura de suporte (motor de MT ou LLM) deve ser hospedada e mantida pela organização.

  • O Phrase requer permissões para se conectar a essa infraestrutura.

  • O adaptador deve retornar traduções com a mesma contagem e ordem de segmentos.

Integrar o motor a um perfil de MT

Assim que o adaptador de API for implementado e implantado, o BYO Engine ficará disponível no Phrase Language AI para seleção em perfis de MT e poderá ser atribuído a projetos.

Para conectar um BYO Engine a um perfil de MT:

  1. Na página do perfil de MT do Phrase Language AI, clique em Conectar motores de MT.

    A página Conectar motor de MT é exibida.

  2. Selecione Bring Your Own (BYO) Engine.

    A página de configuração do BYO Engine é aberta.

  3. Insira a URL base do motor.

  4. Forneça as credenciais dependendo do Método de autenticação (cabeçalho HTTP ou credenciais de cliente (OAuth 2.0)).

  5. Selecione se deseja Usar cache de tradução. Habilitado por padrão.

    Reduz o tráfego e acelera a resposta da tradução reutilizando segmentos traduzidos nos últimos 30 dias. Esta é apenas uma otimização de desempenho de chamada; não reduz o custo da tradução. Mantenha habilitado por padrão; desabilite apenas enquanto o adaptador do motor subjacente estiver em desenvolvimento ativo.

  6. Se necessário, forneça informações adicionais sobre o motor em Rótulos personalizados.

  7. Clique em Validar conexão para verificar se a integração do motor funciona.

  8. Clique em Adicionar.

    O motor agora está disponível para ser habilitado no perfil.

Dica

Ao usar um BYO Engine, não habilite nenhum outro motor no perfil de MT. Isso garante que o BYO Engine seja selecionado para a pré-tradução.

Editar um Bring Your Own Engine

Para editar um BYO Engine, clique no ícone de edição no bloco do motor.

Excluir um Bring Your Own Engine

Para excluir um BYO Engine:

  1. Clique no ícone de edição no bloco do motor.

  2. Clique em Remover Bring Your Own Engine.

Perguntas frequentes

P:

Por que a solicitação de status é necessária? Ela é enviada pelo Phrase ao motor ou deve ser tratada pelo cliente?

R:

O Phrase envia a solicitação para verificar se o motor funciona ou não.

P:

Uma solicitação pode conter 500 maxItems em segments. Isso implica que 500 frases de origem devem ser traduzidas em tempo real?

R:

Chamadas síncronas e assíncronas aceitam de 1 a 500 segmentos. Na prática, chamadas síncronas do editor contêm um único segmento, enquanto fluxos de trabalho de API e em lote (pré-tradução, análise) podem enviar muitos, até 500. O fluxo assíncrono usa o mesmo limite e apenas separa o envio do trabalho da obtenção do resultado. O tempo limite assíncrono é de cerca de 30 minutos. Não fazemos fallback automático de síncrono para assíncrono se o seu adaptador rejeitar uma solicitação. Para mais detalhes sobre o que esperar do Phrase (contagens de segmentos, teste de validação do motor, novas tentativas e limites de tempo), consulte o guia do BYO Engine.

P:

Todos os termos de um glossário são enviados em uma solicitação ou apenas um subconjunto?

R:

Todos os termos do glossário são enviados.

P:

É possível conectar um LLM?

R:

Deve ser possível com um wrapper. Desde que o motor retorne segmentos conforme definido no esquema, o Phrase não exige um motor ou LLM específico.

P:

É possível realizar uma avaliação de qualidade (QE) personalizada?

R:

A QE de terceiros não é suportada.

P:

Como as tags são tratadas?

R:

O conteúdo que o Phrase recebe é pré-processado. As tags HTML são convertidas em marcas, e essas marcas são transmitidas como estão.

P:

Podemos implementar apenas a abordagem assíncrona? Funcionará corretamente em todas as áreas do Phrase (pré-tradução, Editor etc.)?

R:

Não, ambas as abordagens (idealmente todos os endpoints) devem ser implementadas. O endpoint síncrono é usado, por exemplo, pelo Editor, enquanto o assíncrono é usado em áreas como a pré-tradução.

P:

O que acontece quando o motor recebe várias solicitações ao mesmo tempo?

R:

O motor deve ser capaz de lidar com isso. Garanta o tratamento adequado da concorrência e a segurança das threads em todos os endpoints, particularmente nos assíncronos.

P:

Como funcionam os Metadados da solicitação?

R:

Os metadados da solicitação, configurados como Rótulos personalizados na configuração do BYO Engine, suportam espaços reservados dinâmicos que são resolvidos antes que a solicitação chegue ao adaptador: {project_uid}, {job_uid} e {idm_organization_uid}. Por exemplo, um Rótulo personalizado com a chave project_uid e o valor {project_uid} envia o UID real do projeto do Phrase TMS para o adaptador. A resolução de placeholders só se aplica dentro de valores de texto. Um placeholder desconhecido é enviado ao adaptador exatamente como foi escrito, sem resolução.

P:

Como funcionam os metadados do segmento?

R:

Atualmente, esses metadados precisam fazer parte do esquema.

P:

Durante o processamento de MT, o BYOE usa RAG para recuperar contexto?

R:

Não, o BYOE não usa RAG. Os usuários podem usar as TMs para determinar quais segmentos são traduzidos, mas elas não são usadas no processo de MT em si. Isso ocorre porque os motores de MT devem ser projetados especificamente para incorporar dados de TM via RAG e, em cenários de BYOE, não há controle sobre como os motores são construídos ou configurados.

Referência do esquema do adaptador

O adaptador deve retornar respostas que correspondam exatamente aos seguintes nomes de campo e valores de enumeração. Uma incompatibilidade resulta em um INTERNAL_ERROR genérico do Phrase, mesmo quando o próprio adaptador retorna uma resposta 200 OK.

  • POST /status deve retornar um campo status com um valor de enumeração estritamente em minúsculas, sendo ok ou not_ok. Exemplo: { "status": "ok" }

  • POST /languages deve retornar um array languagePairs (camelCase), em que cada entrada contém um campo sourceLanguage e um campo targetLanguage. Exemplo: { "languagePairs": [ { "sourceLanguage": "en", "targetLanguage": "es" } ] }

  • POST /translate e GET /translateAsyncResult/{id} devem retornar os campos de nível superior sourceLanguage e targetLanguage, além de um array segments em que cada segmento inclui um campo text (o texto de origem reproduzido) e um campo translatedText. Retornar apenas translatedText ou usar um nome de chave diferente causa uma falha de desserialização.

  • POST /translateAsync requer apenas um campo id em sua resposta. Um campo status não faz parte deste esquema de resposta e é ignorado se estiver presente.

  • GET /translateAsyncStatus/{id} deve retornar um campo status usando um dos três valores de enumeração: running para um trabalho ainda em processamento, done para um trabalho concluído com sucesso ou failed para um trabalho com falha. Para um trabalho com falha, um campo detail opcional pode descrever a falha. Valores de exemplo: { "status": "running" }, { "status": "done" }, { "status": "failed", "detail": "Description of translation failure" }

 

Esse artigo foi útil?
★ ★ ★ ★ ★

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.