Maschinelle Übersetzung

Bring Your Own Engine

Inhalte werden von Phrase Language AI maschinell aus dem Englischen übersetzt.

Die Funktion „Bring Your Own Engine“ (BYO Engine) ermöglicht die Integration externer maschineller Übersetzungssysteme (MT) in Phrase, um diese in Übersetzungsworkflows wie jeden anderen MT-Anbieter zu nutzen.

BYO Engine eignet sich für:

  • Unternehmen mit domänenspezifischen MT-Modellen.

  • Sprachdienstleister (LSPs) mit kundenspezifischen Engines oder bevorzugten KI-Stacks.

  • Organisationen mit internen Richtlinien, die die Verwendung spezifischer Engines erfordern (z. B. Gemini, interne LLMs usw.).

Kundenspezifisch trainierte Engines können verwendet oder Übersetzungen an interne LLMs oder MT-Anbieter weitergeleitet werden, um die volle Kontrolle über Qualität, Datenschutz und Kosten zu behalten und gleichzeitig weiterhin von Phrases Translation Memories (TM), Glossaren, QPS und dem CAT-Editor zu profitieren.

Wo eine BYO Engine verwendet werden kann

Nach der Integration steht eine BYO Engine für die Vorübersetzung zur Verfügung. Die BYO Engine in einem Phrase Language AI-Profil konfigurieren und dieses Profil für die Vorübersetzung von Phrase TMS-Projekten, Phrase Portal, Phrase Strings-Projekten, Phrase Studio und Phrase Language AI über die API verwenden.

Konfiguration einer Bring Your Own Engine

Erstellung des Adapters

  • Die Organisation muss einen leichtgewichtigen API-Adapter erstellen und testen. Dieser Adapter ermöglicht die Kommunikation zwischen Phrase und der Engine.

    Der Adapter muss Folgendes unterstützen:

    • Übersetzungsanfragen

    • Unterstützung von Sprachpaaren

    • Statusprüfung der Engine (Phrase sendet eine Statusanfrage)

  • Die zugrunde liegende Infrastruktur (MT-Engine oder LLM) muss von der Organisation gehostet und gewartet werden.

  • Phrase benötigt Berechtigungen, um eine Verbindung zu dieser Infrastruktur herzustellen.

  • Der Adapter muss Übersetzungen mit der gleichen Segmentanzahl und Reihenfolge zurückgeben.

Integration der Engine in ein MT-Profil

Sobald der API-Adapter implementiert und bereitgestellt wurde, steht die BYO Engine in Phrase Language AI zur Auswahl in MT-Profilen zur Verfügung und kann Projekten zugewiesen werden.

So lässt sich eine BYO Engine mit einem MT-Profil verbinden:

  1. Auf der Seite des Phrase Language AI MT-Profils auf MT-Engines verbinden klicken.

    Die Seite MT-Engine verbinden wird angezeigt.

  2. Bring Your Own (BYO) Engine auswählen.

    Die Konfigurationsseite für die BYO Engine öffnet sich.

  3. Die Basis-Engine-URL eingeben.

  4. Je nach Authentifizierungsmethode die Anmeldedaten angeben (HTTP-Header oder Client-Anmeldedaten (OAuth 2.0)).

  5. Auswählen, ob der Übersetzungscache verwendet werden soll. Standardmäßig aktiviert.

    Reduziert den Datenverkehr und beschleunigt die Übersetzungsantwort durch die Wiederverwendung von Segmenten, die innerhalb der letzten 30 Tage übersetzt wurden. Dies ist lediglich eine Optimierung der Aufrufleistung und reduziert nicht die Übersetzungskosten. Die Option aktiviert lassen und nur deaktivieren, während der zugrunde liegende Engine-Adapter aktiv entwickelt wird.

  6. Bei Bedarf unter Benutzerdefinierte Labels zusätzliche Informationen für die Engine angeben.

  7. Auf Verbindung validieren klicken, um zu überprüfen, ob die Engine-Integration funktioniert.

  8. Auf Hinzufügen klicken.

    Die Engine ist nun verfügbar und kann im Profil aktiviert werden.

Tipp

Bei Verwendung einer BYO Engine keine andere Engine im MT-Profil aktivieren. Dies stellt sicher, dass die BYO Engine für die Vorübersetzung ausgewählt wird.

Bring Your Own Engine bearbeiten

Zum Bearbeiten einer BYO Engine auf das Bearbeiten-Symbol auf der Engine-Kachel klicken.

Bring Your Own Engine löschen

So lässt sich eine BYO Engine löschen:

  1. Auf das Bearbeiten-Symbol auf der Engine-Kachel klicken.

  2. Auf Bring Your Own Engine entfernen klicken.

FAQ

F:

Warum ist die Statusanfrage erforderlich? Wird sie von Phrase an die Engine gesendet oder wird erwartet, dass sie vom Kunden verarbeitet wird?

A:

Phrase sendet die Anfrage, um zu prüfen, ob die Engine funktioniert oder nicht.

F:

Eine Anfrage kann 500 maxItems im Feld segments enthalten. Bedeutet dies, dass 500 Quellsätze in Echtzeit übersetzt werden müssen?

A:

Sowohl synchrone als auch asynchrone Aufrufe akzeptieren 1–500 Segmente. In der Praxis enthalten synchrone Aufrufe aus dem Editor ein einzelnes Segment, während API- und Batch-Workflows (Vorübersetzung, Analyse) viele Segmente senden können – bis zu 500. Der asynchrone Ablauf verwendet dasselbe Limit und trennt lediglich das Übermitteln des Auftrags vom Abrufen des Ergebnisses. Das asynchrone Timeout beträgt etwa 30 Minuten. Wenn der Adapter eine Anfrage ablehnt, erfolgt kein automatischer Wechsel von synchroner zu asynchroner Verarbeitung. Weitere Informationen zum Verhalten von Phrase (Segmentanzahl, Engine-Validierungstest, Wiederholungsversuche und Zeitlimits) enthält der Leitfaden zur BYO Engine.

F:

Werden alle Begriffe eines Glossars in einer Anfrage gesendet oder nur eine Teilmenge?

A:

Alle Begriffe des Glossars werden gesendet.

F:

Ist es möglich, ein LLM einzubinden?

A:

Dies sollte mit einem Wrapper möglich sein. Solange die Engine Segmente gemäß dem Schema zurückgibt, erfordert Phrase keine spezifische Engine oder ein spezifisches LLM.

F:

Ist eine benutzerdefinierte Qualitätsbewertung (QE) möglich?

A:

QE von Drittanbietern wird nicht unterstützt.

F:

Wie werden Tags behandelt?

A:

Der Inhalt, den Phrase empfängt, wird vorverarbeitet. HTML-Tags werden in Markierungen umgewandelt, und diese Markierungen werden unverändert weitergegeben.

F:

Können wir nur den asynchronen Ansatz implementieren? Wird dies in allen Phrase-Bereichen (Vorübersetzung, Editor usw.) korrekt funktionieren?

A:

Nein, beide Ansätze (idealerweise alle Endpunkte) müssen implementiert werden. Der synchrone Endpunkt wird zum Beispiel vom Editor verwendet, während der asynchrone in Bereichen wie der Vorübersetzung zum Einsatz kommt.

F:

Was passiert, wenn die Engine mehrere Anfragen gleichzeitig erhält?

A:

Die Engine muss in der Lage sein, dies zu verarbeiten. An allen Endpunkten für den ordnungsgemäßen Umgang mit Nebenläufigkeit und Threadsicherheit sorgen, insbesondere bei asynchronen Endpunkten.

F:

Wie funktioniert Request Metadata?

A:

Anfragemetadaten, die als benutzerdefinierte Labels in der Konfiguration der BYO Engine konfiguriert sind, unterstützen dynamische Platzhalter, die aufgelöst werden, bevor die Anfrage den Adapter erreicht: {project_uid}, {job_uid} und {idm_organization_uid}. Zum Beispiel sendet ein benutzerdefiniertes Label mit dem Schlüssel project_uid und dem Wert {project_uid} die tatsächliche Phrase TMS-Projekt-UID an den Adapter. Die Platzhalterauflösung gilt nur innerhalb von Textwerten. Ein unbekannter Platzhalter wird wie geschrieben an den Adapter gesendet, ohne aufgelöst zu werden.

F:

Wie funktionieren Segment-Metadaten?

A:

Derzeit muss es Teil des Schemas sein.

F:

Verwendet BYOE während der MT-Verarbeitung RAG, um Kontext abzurufen?

A:

Nein, BYOE verwendet kein RAG. Benutzer können TMs nutzen, um zu bestimmen, welche Segmente übersetzt werden, aber sie werden nicht innerhalb des MT-Prozesses selbst verwendet. Dies liegt daran, dass MT-Engines speziell dafür ausgelegt sein müssen, TM-Daten über RAG einzubinden, und es in BYOE-Szenarien keine Kontrolle darüber gibt, wie Engines erstellt oder konfiguriert werden.

Adapter-Schema-Referenz

Der Adapter muss Antworten zurückgeben, die exakt mit den folgenden Feldnamen und Enum-Werten übereinstimmen. Eine Abweichung führt zu einem generischen INTERNAL_ERROR von Phrase, selbst wenn der Adapter eine 200 OK-Antwort zurückgibt.

  • POST /status muss ein status-Feld zurückgeben, dessen Enum-Wert exakt ok oder not_ok lautet und ausschließlich Kleinbuchstaben enthält. Beispiel: { "status": "ok" }

  • POST /languages muss ein languagePairs-Array (camelCase) zurückgeben, wobei jeder Eintrag ein sourceLanguage-Feld und ein targetLanguage-Feld enthält. Beispiel: { "languagePairs": [ { "sourceLanguage": "en", "targetLanguage": "es" } ] }

  • POST /translate und GET /translateAsyncResult/{id} müssen sourceLanguage- und targetLanguage-Felder auf oberster Ebene sowie ein segments-Array zurückgeben, in dem jedes Segment sowohl ein text-Feld (mit dem unverändert zurückgegebenen Quelltext) als auch ein translatedText-Feld enthält. Wenn nur translatedText zurückgegeben oder ein anderer Schlüsselname verwendet wird, führt das zu einem Deserialisierungsfehler.

  • Die Antwort auf POST /translateAsync muss lediglich ein id-Feld enthalten. Ein status-Feld ist nicht Teil dieses Antwortschemas und wird ignoriert, falls es vorhanden ist.

  • GET /translateAsyncStatus/{id} muss ein status-Feld mit einem der drei Enum-Werte zurückgeben: running für einen Auftrag, der noch verarbeitet wird, done für einen erfolgreich abgeschlossenen Auftrag oder failed für einen fehlgeschlagenen Auftrag. Bei einem fehlgeschlagenen Auftrag kann ein optionales detail-Feld den Fehler beschreiben. Beispielwerte: { "status": "running" }, { "status": "done" }, { "status": "failed", "detail": "Beschreibung des Übersetzungsfehlers" }

 

War dieser Beitrag hilfreich?
★ ★ ★ ★ ★

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.