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から一括翻訳を行います。
BYOエンジンの設定
アダプタの構築
-
組織は、軽量な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エンジンを削除するには:
FAQ
アダプター・スキーマ参考資料
アダプターは、以下のフィールド名および列挙値と完全に一致するレスポンスを返す必要があります。不一致が発生すると、アダプター自体が 200 OK レスポンスを返した場合でも、Phrase から汎用的な INTERNAL_ERROR が返されます。
-
POST /statusは、okまたはnot_okのいずれかの厳密な小文字の列挙値を持つステータスフィールドを返す必要があります。例:{ \"status\": \"ok\" } -
POST /languagesは、sourceLanguageフィールドとtargetLanguageフィールドを含む各エントリーを持つlanguagePairs配列(camelCase)を返す必要があります。Example:{ "languagePairs": [ { "sourceLanguage": "en", "targetLanguage": "es" } ] } -
POST /translateおよびGET /translateAsyncResult/{id}は、トップレベルのsourceLanguageフィールドとtargetLanguageフィールドに加え、各セグメントにtextフィールド(エコーバックされた原文)とtranslatedTextフィールドの両方を含むセグメント配列を返す必要があります。translatedTextのみを返すか、異なるキー名を使用すると、デシリアライズの失敗を引き起こします。 -
POST /translateAsyncは、レスポンスにIDフィールドのみを必要とします。ステータスフィールドはこのレスポンススキーマの一部ではなく、存在しても無視されます。 -
GET /translateAsyncStatus/{id}は、3つの列挙値のいずれかを使用してステータスフィールドを返す必要があります。処理中のジョブにはrunning、正常に完了したジョブにはdone、失敗したジョブにはfailedを使用します。失敗したジョブの場合、オプションのdetailフィールドで失敗の内容を記述できます。値の例:{ \"status\": \"running\" }、{ \"status\": \"done\" }、{ \"status\": \"failed\", \"detail\": \"Description of translation failure\" }