機械翻訳

Bring Your Own Engine(BYOエンジン)

本コンテンツはPhrase Language AIの機械翻訳により、英語から翻訳されています。

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プロファイルに接続するには:

  1. Phrase Language AI MTプロファイルページから、MTエンジンを接続をクリックします。

    MTエンジンを接続ページが表示されます。

  2. Bring Your Own (BYO) エンジンを選択します。

    BYOエンジン設定ページが開きます。

  3. ベースエンジンURLを入力します。

  4. 認証方法(HTTPヘッダーまたはクライアント認証情報(OAuth 2.0))に応じて、認証情報を入力します。

  5. 翻訳キャッシュを使用するかどうかを選択します。デフォルトで有効になっています。

    過去30日以内に翻訳されたセグメントを再利用することで、トラフィックを削減し、翻訳レスポンスを高速化します。これは呼び出しパフォーマンスの最適化のみであり、翻訳コストを削減するものではありません。デフォルトで有効のままにし、基盤となるエンジンアダプターがアクティブな開発中である場合にのみ無効にしてください。

  6. 必要に応じて、カスタムラベルの下にエンジンの追加情報を提供します。

  7. 接続を確認をクリックして、エンジン統合機能が機能するかどうかを確認します。

  8. 追加をクリックします。

    これで、プロファイルでエンジンを有効にできるようになります。

ヒント

BYOエンジンを使用する場合、MTプロファイルで他のエンジンを有効にしないでください。これにより、事前翻訳でBYOエンジンが確実に選択されるようになります。

BYOエンジンの編集

BYOエンジンを編集するには、エンジンのタイルにある編集アイコンをクリックします。

BYOエンジンの削除

BYOエンジンを削除するには:

  1. エンジンのタイルにある編集アイコンをクリックします。

  2. BYOエンジンを削除をクリックします。

FAQ

Q:

なぜステータスリクエストが必要なのですか?それはPhraseからエンジンに送信されるものですか、それともお客様が処理するものですか?

A:

Phraseは、エンジンが動作しているかどうかを確認するためのリクエストを送信します。

Q:

1つのリクエストには、セグメント内に最大500個のmaxItemsが含まれる場合があります。これは、500個の原文の文をリアルタイムで翻訳しなければならないことを意味しますか?

A:

同期呼び出しには最大5セグメントまでしか含まれませんが、非同期呼び出しには最大500まで含めることができます。また、非同期のタイムアウトは約30分です。

Q:

用語集のすべての用語がリクエストで送信されますか、それとも一部のみですか?

A:

用語集のすべての用語が送信されます。

Q:

LLMをプラグインすることは可能ですか?

A:

ラッパーを使用すれば可能であるはずです。エンジンがスキーマで定義されたセグメントを返す限り、Phraseは特定のエンジンやLLMを必要としません。

Q:

カスタム品質評価(QE)は可能ですか?

A:

サードパーティのQEはサポートされていません。

Q:

タグはどのように処理されますか?

A:

Phraseが受け取るコンテンツは事前処理されます。HTMLタグはマークに変換され、それらのマークはそのまま渡されます。

Q:

非同期アプローチのみを実装できますか?すべてのPhrase領域(事前翻訳、エディタなど)で正しく動作しますか?

A:

いいえ、両方のアプローチ(理想的にはすべてのエンドポイント)を実装する必要があります。同期エンドポイントは例えばエディタで使用され、非同期エンドポイントは事前翻訳などの領域で使用されます。

Q:

エンジンが同時に複数のリクエストを受け取った場合、どうなりますか?

A:

エンジンはこれに対応できる必要があります。すべてのエンドポイント、特に非同期エンドポイントにおいて、同時実行性とスレッドセーフティが適切に処理されるようにしてください。

Q:

Request Metadataはどのように動作しますか?

A:

エンジンセットアップ時に定義された通り、静的である必要があります。

Q:

Segment Metadataはどのように機能しますか?

A:

現在は、スキーマの一部である必要があります。

Q:

MT処理中、BYOEはRAGを使用してコンテキストを取得しますか?

A:

いいえ、BYOEはRAGを使用しません。ユーザーはTMを使用してどのセグメントが翻訳されるかを決定できますが、それらはMTプロセス自体の中では使用されません。これは、MTエンジンがRAGを介してTMデータを取り込むように特別に設計されている必要があり、BYOEのシナリオではエンジンの構築方法や構成を制御できないためです。

アダプター・スキーマ参考資料

アダプターは、以下のフィールド名および列挙値と完全に一致するレスポンスを返す必要があります。アダプター自体が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\" }

この記事は役に立ちましたか?

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.