O recurso BYO Engine (BYO Engine) permite a integração de motores de tradução automática (MT) externos ao Phrase para serem usados 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 de clientes ou pilhas de IA preferenciais.
-
Organizações com políticas internas que exigem o uso de motores específicos (por exemplo, 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, enquanto continua a se beneficiar das memórias de tradução (TM), glossários, QPS e do editor CAT do Phrase.
Onde BYO Engine Pode Ser Usado
Uma vez integrado, o BYO Engine fica disponível para pré-tradução. Configure-o em um Perfil de IA de Idioma do Phrase e use esse perfil para realizar a pré-tradução a partir de projetos do Phrase TMS, Phrase Portal, projetos do Phrase Strings, Phrase Studio e Phrase Language AI via API.
Configurar BYO Engine
Construindo 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 suportar:
-
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.
Integrando o mecanismo em um perfil de MT
Uma vez que o adaptador da API seja implementado e implantado, o BYO Engine torna-se disponível no Phrase Language AI para seleção em perfis de MT e pode 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 . Ativo como 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 ativado por padrão, desative apenas enquanto o adaptador do mecanismo subjacente estiver em desenvolvimento ativo.
-
Se necessário, forneça qualquer informação adicional para o mecanismo em
-
Clique em Validar conexão para verificar se a integração do mecanismo funciona.
-
Clique em Adicionar.
O mecanismo agora está disponível para ser ativado no perfil.
Dica
Ao usar um BYO Engine, não ative nenhum outro motor no Perfil de MT. Isso garante que o BYO Engine seja selecionado para a pré-tradução.
Editar BYO Engine
Para editar o BYO Engine, clique no ícone de edição no bloco do BYO Engine.
Excluir BYO Engine
Para excluir o BYO Engine:
PERGUNTAS FREQUENTES
|
]
P: |
Por que a solicitação de status é necessária? Ela é enviada pelo Phrase para o motor, ou espera-se que seja tratada pelo cliente? |
|
A |
O Phrase envia a solicitação para verificar se o motor funciona ou não. |
|
]
P: |
Uma solicitação pode conter 500 |
|
A |
Chamadas síncronas incluem apenas até 5 segmentos, enquanto chamadas assíncronas podem incluir mais, até 500. Além disso, o tempo limite assíncrono é de cerca de 30 minutos. |
|
]
P: |
Todos os termos de um glossário são enviados em uma solicitação, ou apenas um subconjunto? |
|
A |
Todos os termos do glossário são enviados. |
|
]
P: |
É possível conectar um LLM? |
|
A |
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? |
|
A |
QE de terceiros não é suportado. |
|
]
P: |
Como as tags são tratadas? |
|
A |
O conteúdo que o Phrase recebe é pré-processado. Tags HTML são convertidas em marcas, e essas marcas são passadas como estão. |
|
]
P: |
Podemos implementar apenas a abordagem assíncrona? Funcionará corretamente em todas as áreas do Phrase (pré-tradução, Editor, etc.)? |
|
A |
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 pré-tradução. |
|
]
P: |
O que acontece quando o motor recebe múltiplas solicitações ao mesmo tempo? |
|
A |
O motor deve ser capaz de lidar com isso. Garanta o tratamento adequado de concorrência e segurança de thread em todos os endpoints, especialmente nos assíncronos. |
|
]
P: |
Como funcionam os Metadados de Solicitação? |
|
A |
Ele deve permanecer estático, conforme definido durante a configuração do motor. |
|
]
P: |
Como funcionam os Metadados de Segmento? |
|
A |
Atualmente, ele precisa fazer parte do esquema. |
|
]
P: |
Durante o processamento de MT, o BYOE usa RAG para recuperar contexto? |
|
A |
Não, o BYOE não usa RAG. Os usuários podem aproveitar as TMs para determinar quais segmentos são traduzidos, mas elas não são usadas dentro do próprio processo de MT. 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 de 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 deokounot_ok. Exemplo:{ \"status\": \"ok\" } -
POST /languagesdeve retornar uma matrizlanguagePairs(camelCase), com cada entrada contendo um camposourceLanguagee um campotargetLanguage. Exemplo:{ \"languagePairs\": [ { \"sourceLanguage\": \"en\", \"targetLanguage\": \"es\" } ] } -
POST /translateeGET /translateAsyncResult/{id}devem retornar campossourceLanguageetargetLanguagede nível superior, além de uma matrizsegmentsonde cada segmento inclui um campotext(o texto de origem ecoado) e um campotranslatedText. Retornar apenastranslatedText, ou 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": "Descrição da falha de tradução" }