Machine Translation

Bring Your Own Engine

Content is machine translated from English by Phrase Language AI.

The Bring Your Own Engine (BYO Engine) feature allows the integration of external machine translation (MT) engines into Phrase to be used in translation workflows like any other MT provider.

BYO Engine is suited for:

  • Enterprises with domain-specific MT models.

  • LSPs with custom client engines or preferred AI stacks.

  • Organizations with internal policies that require using specific engines (e.g. Gemini, internal LLMs, etc.).

Custom-trained engines can be used or translations can be routed to in-house LLMs or MT providers to maintain full control over quality, privacy, and cost while continuing to benefit from Phrase’s translation memories (TM), glossaries, QPS and the CAT editor.

Where a BYO Engine Can Be Used

Once integrated, a BYO Engine is available for pre-translation. Configure it in a Phrase Language AI Profile and use that profile to pre-translate from Phrase TMS projects, Phrase Portal, Phrase Strings projects, Phrase Studio, and Phrase Language AI via API.

Configure a Bring Your Own Engine

Building the Adaptor

  • The organization must build and test a lightweight API adapter. This adapter enables communication between Phrase and the engine.

    The adapter must support:

    • Translation requests

    • Language pair support

    • Engine status check (Phrase sends a status request)

  • The backing infrastructure (MT engine or LLM) must be hosted and maintained by the organization.

  • Phrase requires permissions to connect to that infrastructure.

  • The adapter must return translations with the same segment count and order.

Integrating the Engine in an MT Profile

Once the API adapter is implemented and deployed, the BYO Engine becomes available in Phrase Language AI for selection in MT profiles and can be assigned to projects.

To connect a BYO Engine to an MT profile:

  1. From the Phrase Language AI MT profile page, click Connect MT engines.

    The Connect MT engine page is displayed.

  2. Select Bring Your Own (BYO) Engine.

    The BYO engine configuration page opens.

  3. Enter the Base engine URL.

  4. Provide credentials depending on the Authentication method (HTTP header or Client credentials (OAuth 2.0)).

  5. If required, provide any additional information for the engine under Custom labels.

  6. Click Validate connection to check if the engine integration works.

  7. Click Add.

    The engine is now available to enable in the profile.

Tip

When using a BYO Engine, do not enable any other engine in the MT Profile. This ensures the BYO Engine is selected for pre-translation.

Edit a Bring Your Own Engine

To edit a BYO Engine, click the edit icon on the engine tile.

Delete a Bring Your Own Engine

To delete a BYO Engine:

  1. Click the edit icon on the engine tile.

  2. Click Remove Bring Your Own Engine.

FAQ

Q:

Why is the status request required? Is it sent by Phrase to the engine, or is it expected to be handled by the customer?

A:

Phrase sends the request to check whether the engine works or not.

Q:

One request may contain 500 maxItems in segments. Does this imply that 500 source sentences must be translated in real time?

A:

Synchronous calls include only up to 5 segments, while asynchronous calls can include more, up to 500. Also, the async timeout is about 30 minutes.

Q:

Are all terms of a glossary sent in a request, or a subset?

A:

All terms of the glossary are sent.

Q:

Is it possible to plug in an LLM?

A:

It should be possible with a wrapper. As long as the engine returns segments as defined in the schema, Phrase does not require a specific engine or LLM.

Q:

Is custom quality evaluation (QE) possible?

A:

Third-party QE is not supported.

Q:

How are tags handled?

A:

The content Phrase receives is pre-processed. HTML tags are converted into marks, and those marks are passed through as is.

Q:

Can we implement only the async approach? Will it work correctly in all Phrase areas (pre-translation, Editor, etc.)?

A:

No, both approaches (ideally all endpoints) must be implemented. The synchronous endpoint is used, for example, by the Editor, while the asynchronous one is used in areas such as pre-translation.

Q:

What happens when the engine gets multiple requests at the same time?

A:

The engine must be able to handle this. Ensure proper handling of concurrency and thread safety across all endpoints, particularly asynchronous ones.

Q:

How does Request Metadata work?

A:

It must remain static, as defined during engine setup.

Q:

How does Segment Metadata work?

A:

Currently, it needs to be part of the schema.

Q:

During MT processing, does BYOE use RAG to retrieve context?

A:

No, BYOE does not use RAG. Users can leverage TMs to determine which segments are translated, but they are not used within the MT process itself. This is because MT engines must be specifically designed to incorporate TM data via RAG, and in BYOE scenarios there is no control over how engines are built or configured.

Was this article helpful?

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.