La función Bring Your Own Engine (BYO Engine) permite la integración de motores de traducción automática (MT) externos en Phrase para ser utilizados en flujos de trabajo de traducción como cualquier otro proveedor de MT.
BYO Engine es adecuado para:
-
Empresas con modelos de MT específicos de dominio.
-
LSPs con motores de cliente personalizados o stacks de IA preferidos.
-
Organizaciones con políticas internas que requieren el uso de motores específicos (p. ej., Gemini, LLM internos, etc.).
Se pueden usar motores personalizados o las traducciones se pueden enrutar a LLM internos o proveedores de MT para mantener un control total sobre la calidad, la privacidad y el costo, mientras se sigue beneficiando de las memorias de traducción (TM), glosarios, QPS y el CAT editor de Phrase.
Dónde se puede usar un BYO Engine
Una vez integrado, un BYO Engine está disponible para pretraducción. Configúrelo en un perfil de Language AI de Phrase y use ese perfil para pretraducir desde proyectos de Phrase TMS, Phrase Portal, proyectos de Phrase Strings, Phrase Studio y Language AI de Phrase a través de API.
Configurar un Bring Your Own Engine
Creación del adaptador
-
La organización debe crear y probar un adaptador de API ligero. Este adaptador permite la comunicación entre Phrase y el motor.
El adaptador debe admitir:
-
Solicitudes de traducción
-
Soporte de combinación de idiomas
-
Verificación del estado del motor (Phrase envía una solicitud de estado)
-
-
La infraestructura de respaldo (motor de MT o LLM) debe estar alojada y mantenida por la organización.
-
Phrase requiere permisos para conectarse a esa infraestructura.
-
El adaptador debe devolver traducciones con el mismo recuento de segmentos y orden.
Integración del motor en un perfil de MT
Una vez implementado y desplegado el adaptador de API, el BYO Engine estará disponible en Phrase Language AI para su selección en perfiles de MT y podrá asignarse a proyectos.
Para conectar un BYO Engine a un perfil de MT:
-
Desde la página del perfil de MT de Phrase Language AI, haz clic en Conectar motores de MT.
Se muestra la página .
-
Selecciona Bring Your Own Engine.
Se abre la página de configuración del BYO Engine.
-
Introduce la .
-
Proporciona las credenciales según el (cabecera HTTP o credenciales de cliente (OAuth 2.0)).
-
Selecciona si . Opción activada por defecto.
Reduce el tráfico y acelera la respuesta de traducción al reutilizar segmentos traducidos en los últimos 30 días. Esto es solo una optimización del rendimiento de llamadas, no reduce el coste de traducción. Mantén habilitado por defecto, deshabilita solo mientras el adaptador del motor subyacente esté en desarrollo activo.
-
Si es necesario, proporciona cualquier información adicional para el motor en
-
Haz clic en Validar conexión para comprobar si la integración del motor funciona.
-
Haz clic en Agregar.
El motor ya está disponible para habilitar en el perfil.
Consejo
Al usar un BYO Engine, no habilites ningún otro motor en el perfil de MT. Esto garantiza que el BYO Engine se seleccione para la pretraducción.
Editar un BYO Engine
Para editar un motor BYO, haz clic en el icono de editar en el mosaico del motor.
Eliminar un BYO Engine
Para eliminar un BYO Engine:
Preguntas frecuentes
Referencia del esquema del adaptador
El adaptador debe devolver respuestas que coincidan exactamente con los siguientes nombres de campo y valores de enumeración. Una falta de concordancia resulta en un INTERNAL_ERROR genérico de Phrase incluso cuando el adaptador mismo devuelve una respuesta 200 OK.
-
POST /statusdebe devolver un campoestadocon un valor de enumeración estricto en minúsculas deokonot_ok. Ejemplo:{ \"status\": \"ok\" } -
POST /languagesdebe devolver una matrizlanguagePairs(camelCase), con cada entrada conteniendo un camposourceLanguagey un campotargetLanguage. Ejemplo:{ \"languagePairs\": [ { \"sourceLanguage\": \"en\", \"targetLanguage\": \"es\" } ] } -
POST /translateyGET /translateAsyncResult/{id}deben devolver campossourceLanguageytargetLanguagede nivel superior, además de una matrizsegmentosdonde cada segmento incluye tanto un campotext(el texto fuente repetido) como un campotranslatedText. Devolver solotranslatedText, o usar un nombre de clave diferente, causa un error de deserialización. -
POST /translateAsyncrequiere solo un campoiden su respuesta. Un campoestadono forma parte de este esquema de respuesta y se ignora si está presente. -
GET /translateAsyncStatus/{id}debe devolver un campoestadousando uno de los tres valores de enumeración:runningpara un trabajo que aún se está procesando,donepara un trabajo completado con éxito, ofailedpara un trabajo fallido. Para un trabajo fallido, un campodetailopcional puede describir el fallo. Valores de ejemplo:{ \"status\": \"running\" },{ \"status\": \"done\" },{ \"status\": \"failed\", \"detail\": \"Description of translation failure\" }