Bring Your Own Engine (BYOエンジン)機能を使用すると、外部の機械翻訳(MT)エンジンをPhraseに統合し、他のMTプロバイダと同様に翻訳ワークフローで使用できます。
BYOエンジンは以下に適しています。
-
ドメイン固有のMTモデルを持つ企業。
-
カスタムクライアントエンジンや推奨のAIスタックを持つLSP。
-
特定のエンジン(Gemini、社内LLMなど)の使用を義務付ける社内ポリシーを持つ組織。
カスタムトレーニングされたエンジンを使用したり、翻訳を社内LLMやMTプロバイダにルーティングしたりすることで、品質、プライバシー、コストを完全に管理しながら、PhraseのTM、用語集、QPS(品質評価スコア)、およびCAT Editorのメリットを継続して享受できます。
BYOエンジンを使用できる場所
統合が完了すると、BYOエンジンを事前翻訳に使用できるようになります。Phrase Language AIプロファイルで設定し、そのプロファイルを使用して、Phrase TMSプロジェクト、Phrase Portal、Phrase Stringsプロジェクト、Phrase Studio、およびAPI経由のPhrase Language AIから事前翻訳を行います。
Bring Your Own Engineの設定
アダプターの構築
-
組織は、軽量なAPIアダプターを構築およびテストする必要があります。このアダプターにより、Phraseとエンジン間の通信が可能になります。
アダプターは以下をサポートする必要があります。
-
翻訳リクエスト
-
言語ペアのサポート
-
エンジンステータスチェック(Phraseがステータスリクエストを送信)
-
-
基盤となるインフラストラクチャ(MTエンジンまたはLLM)は、組織によってホストおよび保守される必要があります。
-
Phraseがそのインフラストラクチャに接続するには権限が必要です。
-
アダプターは、同じセグメント数および順序で翻訳を返す必要があります。
MTプロファイルへのエンジンの統合
APIアダプターが実装およびデプロイされると、BYOエンジンがPhrase Language AIで利用可能になり、MTプロファイルで選択してプロジェクトに割り当てることができるようになります。
BYOエンジンをMTプロファイルに接続するには:
-
Phrase Language AI MTプロファイルページから、MTエンジンを接続をクリックします。
ページが表示されます。
-
Bring Your Own (BYO) エンジンを選択します。
BYOエンジン設定ページが開きます。
-
を入力します。
-
(HTTPヘッダーまたはクライアント認証情報(OAuth 2.0))に応じて、認証情報を入力します。
-
するかどうかを選択します。デフォルトで有効になっています。
過去30日以内に翻訳されたセグメントを再利用することで、トラフィックを削減し、翻訳レスポンスを高速化します。これは呼び出しパフォーマンスの最適化のみであり、翻訳コストを削減するものではありません。デフォルトで有効のままにし、基盤となるエンジンアダプターがアクティブな開発中である場合にのみ無効にしてください。
-
必要に応じて、の下にエンジンの追加情報を提供します。
-
接続を確認をクリックして、エンジン統合機能が機能するかどうかを確認します。
-
追加をクリックします。
これで、プロファイルでエンジンを有効にできるようになります。
ヒント
BYOエンジンを使用する場合、MTプロファイルで他のエンジンを有効にしないでください。これにより、事前翻訳でBYOエンジンが確実に選択されるようになります。
BYOエンジンの編集
BYOエンジンを編集するには、エンジンのタイルにある編集アイコンをクリックします。
BYOエンジンの削除
BYOエンジンを削除するには:
FAQ
アダプター・スキーマ参考資料
アダプターは、以下のフィールド名および列挙値と完全に一致するレスポンスを返す必要があります。アダプター自体が200 OKレスポンスを返した場合でも、不一致があるとPhraseから汎用的なINTERNAL_ERRORが返されます。
-
POST /statusは、okまたはnot_okのいずれかの厳密な小文字の列挙値を持つステータスフィールドを返す必要があります。例:{ \"status\": \"ok\" } -
POST /languagesは、各エントリーにsourceLanguageフィールドとtargetLanguageフィールドが含まれるlanguagePairs配列(camelCase)を返す必要があります。例:{ "languagePairs": [ { "sourceLanguage": "en", "targetLanguage": "es" } ] } -
POST /translateおよびGET /translateAsyncResult/{id}は、トップレベルのsourceLanguageフィールドとtargetLanguageフィールドに加え、各セグメントにtextフィールド(エコーバックされた原文)とtranslatedTextフィールドの両方が含まれるsegments配列を返す必要があります。translatedTextのみを返す、または異なるキー名を使用すると、デシリアライズエラーが発生します。 -
POST /translateAsyncは、レスポンスにidフィールドのみを必要とします。statusフィールドはこのレスポンススキーマの一部ではなく、存在しても無視されます。 -
GET /translateAsyncStatus/{id}は、running(ジョブが処理中の場合)、done(ジョブが正常に完了した場合)、またはfailed(ジョブが失敗した場合)の3つの列挙値のいずれかを使用したstatusフィールドを返す必要があります。ジョブが失敗した場合、オプションのdetailフィールドで失敗の内容を記述できます。値の例:{ \"status\": \"running\" }、{ \"status\": \"done\" }、{ \"status\": \"failed\", \"detail\": \"Description of translation failure\" }