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:
-
Na página do perfil de MT do Phrase Language AI, clique em Conectar motores de MT.
A página é exibida.
-
Selecione Bring Your Own (BYO) Engine.
A página de configuração do BYO Engine é aberta.
-
Insira a .
-
Forneça as credenciais dependendo do (cabeçalho HTTP ou credenciais de cliente (OAuth 2.0)).
-
Selecione se deseja . 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.
-
Se necessário, forneça informações adicionais sobre o motor em
-
Clique em Validar conexão para verificar se a integração do motor funciona.
-
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:
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 |
|
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: |
|
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 /statusdeve retornar um campostatuscom um valor de enumeração estritamente em minúsculas, sendookounot_ok. Exemplo:{ "status": "ok" } -
POST /languagesdeve retornar um arraylanguagePairs(camelCase), em que cada entrada contém um camposourceLanguagee um campotargetLanguage. Exemplo:{ "languagePairs": [ { "sourceLanguage": "en", "targetLanguage": "es" } ] } -
POST /translateeGET /translateAsyncResult/{id}devem retornar os campos de nível superiorsourceLanguageetargetLanguage, além de um arraysegmentsem que cada segmento inclui um campotext(o texto de origem reproduzido) e um campotranslatedText. Retornar apenastranslatedTextou usar um nome de chave diferente causa uma falha de desserialização. -
POST /translateAsyncrequer apenas um campoidem sua resposta. Um campostatusnão faz parte deste esquema de resposta e é ignorado se estiver presente. -
GET /translateAsyncStatus/{id}deve retornar um campostatususando um dos três valores de enumeração:runningpara um trabalho ainda em processamento,donepara um trabalho concluído com sucesso oufailedpara um trabalho com falha. Para um trabalho com falha, um campodetailopcional pode descrever a falha. Valores de exemplo:{ "status": "running" },{ "status": "done" },{ "status": "failed", "detail": "Description of translation failure" }