La fonctionnalité Bring Your Own Engine (BYO Engine) permet l'intégration de moteurs de traduction automatique (MT) externes dans Phrase afin de les utiliser dans les flux de travail de traduction comme n'importe quel autre fournisseur de MT.
BYO Engine est adapté pour :
-
Les entreprises disposant de modèles de MT spécifiques à leur domaine.
-
Les prestataires de services linguistiques (LSP) disposant de moteurs personnalisés pour leurs clients ou d'environnements d'IA privilégiés.
-
Les organisations ayant des politiques internes qui exigent l'utilisation de moteurs spécifiques (par exemple, Gemini, LLM internes, etc.).
Des moteurs entraînés sur mesure peuvent être utilisés ou les traductions peuvent être acheminées vers des LLM ou des fournisseurs de MT internes afin de conserver un contrôle total sur la qualité, la confidentialité et les coûts, tout en continuant à bénéficier des mémoires de traduction (TM), des glossaires, de la QPS et de l'éditeur CAT de Phrase.
Où utiliser un BYO Engine
Une fois intégré, un BYO Engine est disponible pour la pré-traduction. Configurez-le dans un profil Phrase Language AI, puis utilisez ce profil pour effectuer des pré-traductions dans les projets Phrase TMS et Phrase Strings, ainsi que dans Phrase Portal, Phrase Studio et Phrase Language AI via l'API.
Configurer Bring Your Own Engine
Création de l'adaptateur
-
L'organisation doit créer et tester un adaptateur d'API léger. Cet adaptateur permet la communication entre Phrase et le moteur.
L'adaptateur doit prendre en charge :
-
Les demandes de traduction
-
La prise en charge des paires de langues
-
La vérification de l'état du moteur (Phrase envoie une demande d'état)
-
-
L'infrastructure sous-jacente (moteur de MT ou LLM) doit être hébergée et maintenue par l'organisation.
-
Phrase nécessite des autorisations pour se connecter à cette infrastructure.
-
L'adaptateur doit renvoyer des traductions avec le même nombre de segments et le même ordre.
Intégration du moteur dans un profil MT
Une fois l'adaptateur d'API implémenté et déployé, BYO Engine devient disponible dans Phrase Language AI pour être sélectionné dans les profils MT et peut être affecté à des projets.
Pour connecter un BYO Engine à un profil MT :
-
Depuis la page du profil MT de Phrase Language AI, cliquez sur Connecter des moteurs MT.
La page s'affiche.
-
Sélectionnez Bring Your Own (BYO) Engine.
La page de configuration de BYO Engine s'ouvre.
-
Saisissez l'.
-
Fournissez les identifiants en fonction de la (en-tête HTTP ou identifiants client (OAuth 2.0)).
-
Sélectionnez si vous souhaitez . Activé par défaut.
Réduit le trafic et accélère la réponse de traduction en réutilisant les segments traduits au cours des 30 derniers jours. Il s'agit uniquement d'une optimisation des performances des appels ; cela ne réduit pas le coût de la traduction. Laissez cette option activée par défaut ; ne la désactivez que pendant la phase de développement actif de l'adaptateur du moteur sous-jacent.
-
Si nécessaire, fournissez toute information supplémentaire pour le moteur sous
-
Cliquez sur Valider la connexion pour vérifier si l'intégration du moteur fonctionne.
-
Cliquez sur Ajouter.
Le moteur est désormais disponible pour être activé dans le profil.
Astuce
Lors de l'utilisation d'un BYO Engine, n'activez aucun autre moteur dans le profil MT. Cela garantit que le BYO Engine est sélectionné pour la pré-traduction.
Modifier un moteur « Bring Your Own Engine »
Pour modifier un BYO Engine, cliquez sur l'icône de modification de la vignette du moteur.
Supprimer un moteur « Bring Your Own Engine »
Pour supprimer un BYO Engine :
-
Cliquez sur l'icône de modification de la vignette du moteur.
-
Cliquez sur Supprimer le moteur « Bring Your Own Engine ».
FAQ
|
Q : |
Pourquoi la requête de statut est-elle requise ? Est-elle envoyée par Phrase au moteur, ou est-ce au client de la gérer ? |
|
R : |
Phrase envoie la requête pour vérifier si le moteur fonctionne ou non. |
|
Q : |
Une requête peut contenir 500 |
|
R : |
Les appels synchrones et asynchrones acceptent tous deux de 1 à 500 segments. En pratique, les appels synchrones depuis l'éditeur contiennent un seul segment, tandis que les flux de travail API et par lots (pré-traduction, analyse) peuvent en envoyer beaucoup, jusqu'à 500. Le flux asynchrone utilise la même limite et sépare uniquement la soumission du travail de la récupération du résultat. Le délai d'expiration asynchrone est d'environ 30 minutes. Nous ne basculons pas automatiquement du mode synchrone au mode asynchrone si votre adaptateur rejette une requête. Pour plus de détails sur ce qu'il faut attendre de Phrase (nombre de segments, test de validation du moteur, nouvelles tentatives et délais), consultez le guide de BYO Engine. |
|
Q : |
Tous les termes d'un glossaire sont-ils envoyés dans une requête, ou seulement un sous-ensemble ? |
|
R : |
Tous les termes du glossaire sont envoyés. |
|
Q : |
Est-il possible de connecter un LLM ? |
|
R : |
Cela devrait être possible à l'aide d'un module d'encapsulation. Tant que le moteur renvoie des segments tels que définis dans le schéma, Phrase ne nécessite pas de moteur ou de LLM spécifique. |
|
Q : |
Une évaluation de la qualité (QE) personnalisée est-elle possible ? |
|
R : |
La QE tierce n'est pas prise en charge. |
|
Q : |
Comment les balises sont-elles gérées ? |
|
R : |
Le contenu que Phrase reçoit est pré-traité. Les balises HTML sont converties en marqueurs, et ces marqueurs sont transmis tels quels. |
|
Q : |
Pouvons-nous implémenter uniquement l'approche asynchrone ? Cela fonctionnera-t-il correctement dans toutes les zones de Phrase (pré-traduction, Éditeur, etc.) ? |
|
R : |
Non, les deux approches (idéalement tous les points de terminaison) doivent être implémentées. Le point de terminaison synchrone est utilisé, par exemple, par l'Éditeur, tandis que le point de terminaison asynchrone est utilisé dans des zones telles que la pré-traduction. |
|
Q : |
Que se passe-t-il lorsque le moteur reçoit plusieurs requêtes en même temps ? |
|
R : |
Le moteur doit être capable de gérer cela. Veillez à gérer correctement les accès concurrents et à garantir la sûreté des threads sur tous les points de terminaison, en particulier les points de terminaison asynchrones. |
|
Q : |
Comment fonctionnent les métadonnées de requête ? |
|
R : |
Les métadonnées de requête, configurées en tant qu'étiquettes personnalisées dans la configuration de BYO Engine, prennent en charge des espaces réservés dynamiques qui sont résolus avant que la requête n'atteigne l'adaptateur : |
|
Q : |
Comment fonctionnent les métadonnées de segment ? |
|
R : |
Actuellement, elles doivent faire partie du schéma. |
|
Q : |
Pendant le traitement de traduction automatique, BYOE utilise-t-il le RAG pour récupérer le contexte ? |
|
R : |
Non, BYOE n’utilise pas le RAG. Les utilisateurs peuvent s’appuyer sur les mémoires de traduction pour déterminer quels segments sont traduits, mais celles-ci ne sont pas utilisées dans le processus de traduction automatique lui-même. En effet, les moteurs de traduction automatique doivent être spécialement conçus pour intégrer les données des mémoires de traduction au moyen du RAG. Or, dans les scénarios BYOE, il n’est pas possible de contrôler la façon dont ces moteurs sont conçus ou configurés. |
Référence du schéma de l'adaptateur
L'adaptateur doit renvoyer des réponses qui correspondent exactement aux noms de champs et aux valeurs d'énumération suivants. Toute divergence entraîne une erreur générique INTERNAL_ERROR renvoyée par Phrase, même si l’adaptateur renvoie lui-même une réponse 200 OK.
-
POST /statusdoit renvoyer un champstatusavec une valeur d'énumération strictement en minuscules, soitok, soitnot_ok. Exemple :{ "status": "ok" } -
POST /languagesdoit renvoyer un tableaulanguagePairs(camelCase), chaque entrée contenant un champsourceLanguageet un champtargetLanguage. Exemple :{ "languagePairs": [ { "sourceLanguage": "en", "targetLanguage": "es" } ] } -
POST /translateetGET /translateAsyncResult/{id}doivent renvoyer des champs de premier niveausourceLanguageettargetLanguage, ainsi qu’un tableausegmentsdont chaque segment comporte à la fois un champtext(qui reprend le texte source) et un champtranslatedText. Le renvoi du seul champtranslatedText, ou l'utilisation d'un nom de clé différent, provoque un échec de désérialisation. -
POST /translateAsyncne nécessite qu'un champiddans sa réponse. Un champstatusne fait pas partie de ce schéma de réponse et est ignoré s'il est présent. -
GET /translateAsyncStatus/{id}doit renvoyer un champstatusutilisant l'une des trois valeurs d'énumération :runningpour une tâche toujours en cours de traitement,donepour une tâche terminée avec succès oufailedpour une tâche ayant échoué. Pour une tâche ayant échoué, un champ optionneldetailpeut décrire l'échec. Exemples de valeurs :{ "status": "running" },{ "status": "done" },{ "status": "failed", "detail": « Description de l'échec de la traduction » }