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:
-
Auf der Seite des Phrase Language AI MT-Profils auf MT-Engines verbinden klicken.
Die Seite wird angezeigt.
-
Bring Your Own (BYO) Engine auswählen.
Die Konfigurationsseite für die BYO Engine öffnet sich.
-
Die eingeben.
-
Je nach die Anmeldedaten angeben (HTTP-Header oder Client-Anmeldedaten (OAuth 2.0)).
-
Auswählen, ob der . 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.
-
Bei Bedarf unter zusätzliche Informationen für die Engine angeben.
-
Auf Verbindung validieren klicken, um zu überprüfen, ob die Engine-Integration funktioniert.
-
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:
-
Auf das Bearbeiten-Symbol auf der Engine-Kachel klicken.
-
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 |
|
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: |
|
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 /statusmuss einstatus-Feld zurückgeben, dessen Enum-Wert exaktokodernot_oklautet und ausschließlich Kleinbuchstaben enthält. Beispiel:{ "status": "ok" } -
POST /languagesmuss einlanguagePairs-Array (camelCase) zurückgeben, wobei jeder Eintrag einsourceLanguage-Feld und eintargetLanguage-Feld enthält. Beispiel:{ "languagePairs": [ { "sourceLanguage": "en", "targetLanguage": "es" } ] } -
POST /translateundGET /translateAsyncResult/{id}müssensourceLanguage- undtargetLanguage-Felder auf oberster Ebene sowie einsegments-Array zurückgeben, in dem jedes Segment sowohl eintext-Feld (mit dem unverändert zurückgegebenen Quelltext) als auch eintranslatedText-Feld enthält. Wenn nurtranslatedTextzurückgegeben oder ein anderer Schlüsselname verwendet wird, führt das zu einem Deserialisierungsfehler. -
Die Antwort auf
POST /translateAsyncmuss lediglich einid-Feld enthalten. Einstatus-Feld ist nicht Teil dieses Antwortschemas und wird ignoriert, falls es vorhanden ist. -
GET /translateAsyncStatus/{id}muss einstatus-Feld mit einem der drei Enum-Werte zurückgeben:runningfür einen Auftrag, der noch verarbeitet wird,donefür einen erfolgreich abgeschlossenen Auftrag oderfailedfür einen fehlgeschlagenen Auftrag. Bei einem fehlgeschlagenen Auftrag kann ein optionalesdetail-Feld den Fehler beschreiben. Beispielwerte:{ "status": "running" },{ "status": "done" },{ "status": "failed", "detail": "Beschreibung des Übersetzungsfehlers" }