パイプラインを設定

更新日:先週 · 読了目安 1分

実行するパイプラインステージは、2つのレイヤーで決まります。エンジンのデフォルト設定と、単一リクエストでの任意の上書きです。

コア翻訳ステップの前後に、どのステージを入れるかはすでに決まっているはずです。次に考えるのは2つだけです。その判断をどこに持たせるか、そして1件のジョブだけ他と違う設定が必要なときにどうするか。答えは、2つのレイヤーです。エンジンには、すべての非同期ジョブが継承するデフォルトがあります。単一の送信に含めるpipelineConfigオブジェクトは、その送信に限ってそのデフォルトを上書きします。上書きで省略したステージはエンジン設定を継承するため、リクエストでは差分だけを指定すれば十分です。

パイプラインが初めてなら、まずはパイプライン概要をご覧ください。各ステージの役割を説明しています。このページで扱うのは、各ステージの動作そのものではなく、有効化の方法と上書きの仕組みです。

非同期ジョブのみ

パイプライン設定が適用されるのは、Async Localization API経由で作成されたジョブだけです。同期の/localizeエンドポイントはコア翻訳ステップのみを実行し、どちらのレイヤーのパイプライン設定も完全に無視します。

エンジンレベルのデフォルト#

ダッシュボードでエンジンのPipelineタブを開き、各ステージを個別に切り替えます。この設定が、そのエンジンのデフォルトになります。そこにルーティングされたすべての非同期ジョブは、リクエストで上書きしない限り、このステージ構成で実行されます。一度設定しておけば、呼び出しのたびにパイプラインを指定し直す必要はありません。

ローカライゼーションを除く各ステージには、それぞれ個別の切り替えがあります。切り替えると、その場で保存されます。どれも有効にしないことも、すべて有効にすることも、その間のどんな組み合わせにすることも可能です。ジョブでは、ステージは次の順序で実行されます。

  • 事前編集-翻訳前に原文を整えます。
  • ローカライゼーション-翻訳の中核となるステップです。常に有効と表示され、切り替えはありません。
  • リフレーズ-ネイティブらしい自然な表現に書き換えます。ほかのステージとは独立しています。
  • 人によるレビュー-内部レビューまたは外部レビューに回します。このステップの設定ボタンでは、プロバイダー、タイムアウト、品質しきい値を開けます。
  • 事後編集-人による編集結果を、エンジンルールに合わせて調整します。人によるレビューが有効になるまで有効にできず、人によるレビューを無効にすると、こちらも無効になります。
  • コンテンツの長さ-文字数ではなく表示列数で測る幅の予算内に、翻訳を収めます。このステップの設定ボタンを開くと、予算として、固定の上限内に収める(最大長あり)、原文より長くしない、原文の長さに合わせる(許容差をパーセントで指定)の各設定が表示されます。
  • 逆翻訳-往復しても意味が保たれているかを確認します。ほかのステージとは独立しています。

プランに含まれていないステージにはEnterpriseタグが付き、有効にできません。

デフォルトはすべてのジョブが継承するため、エンジン設定はpipelineConfigの上書き先となるベースになります。各ステージは1つのキーに対応します。

json
{
  "preEdit": { "enabled": true },
  "humanEdit": {
    "enabled": true,
    "provider": "internal",
    "tier": "standard",
    "timeoutHours": 48,
    "qualityThreshold": 85
  },
  "postEdit": { "enabled": false },
  "rephrase": { "enabled": false },
  "contentLength": {
    "enabled": true,
    "mode": { "_tag": "fixedCap", "maxColumns": 40 }
  },
  "backTranslation": { "enabled": true }
}
キーフィールドステージページで設定
preEditenabledPre-localization AI edit
rephraseenabledRephrase for natural copy
humanEditenabled、provider(internal | external)、tier(任意。書き込みで受け付けるのは standard のみで、古いエンジンでは pro を読み戻せる場合があります)、timeoutHours、qualityThreshold(任意、整数一~一〇〇)Human review
postEditenabledAI評価
contentLengthenabled、mode:{ "_tag": "fixedCap", "maxColumns": n }、{ "_tag": "noLongerThanSource" }、または { "_tag": "matchSource", "tolerancePct": n }このページ-個別のステージページはありません
backTranslationenabledBack-translation check

どのレビュー提供元を使うか、どの翻訳がレビューをスキップするか、どれくらい待機するかなど、各項目で制御できる内容は、そのステージ専用のページに記載されています。このページで扱うのは、設定の場所と、二つのレイヤーがどう組み合わさるかです。

リクエスト単位の上書き#

ほとんどのジョブは、エンジンのデフォルト設定のままで実行するのが基本です。例外は、別のパイプラインが必要な単発の送信です。たとえば、普段は無効にしているリフレーズステージを使いたいマーケティングコピーの一括処理や、逆にそれをスキップしたい法務向けペイロードなどです。1回限りのバッチのためにエンジン設定を変更すると、ほかのすべてのジョブにも影響してしまいます。

そこで、差分だけをリクエスト側で渡します。pipelineConfig``POST /jobs/localizationのボディにオブジェクトを追加すると、その送信に限ってエンジンのデフォルトを上書きできます。エンジン自体の設定は変わらないので、次のジョブで上書きがなければデフォルトに戻ります。

json
{
  "sourceLocale": "en",
  "targetLocales": ["de", "fr"],
  "data": { "headline": "Ship in every language." },
  "pipelineConfig": {
    "rephrase": { "enabled": true },
    "backTranslation": { "enabled": false }
  }
}

これが継承ルールであり、上書きを最小限に抑えられる理由でもあります。指定したステージは上書きされ、指定しないステージはエンジンの既定値を継承します。 上のリクエストでは、この一つのジョブに対して rephrase を有効にし、backTranslation を無効にしています。preEdit、humanEdit、postEdit、contentLength は指定されていないため、エンジンで設定されているとおりに実行されます。指定するのは、異なる部分だけです。

ステージを含めるなら、そのステージ全体を指定する

上書きは項目単位ではなく、ステージ単位で行います。含める各ステージは、そのステージの完全なオブジェクトである必要があります。残りを継承したままタイムアウトだけを変更するために humanEdit: { "timeoutHours": 24 } を送ることはできません。上書きするならステージ全体を含め、エンジンの既定値を継承するなら省略します。単一のステージオブジェクト内で部分的にマージされることはありません。

上書きでできないことが、もう2つあります。ここは何でもできそうに見える部分なので、はっきり書いておきます。

  • 変更されるのはその送信だけです。エンジンに書き戻されることはないため、永続的な設定変更の手段ではありません。それを行う場所はPipelineタブです。単発対応には上書きを使い、新しい標準にするならタブで変更してください。
  • これは、各ステージ固有の実行時ルールを緩めるものではありません。事後編集 は、人によるレビューで出力が生成された場合にのみ実行されるため、人によるステージがなく調整対象もないジョブでは、postEdit を有効にしても何も起こりません。どのレイヤーで有効にした場合でも同じです。

実行内容を確認する#

設定で決まるのは、どのステージを実行すべきかです。実際にどのステージが動いたかは、ジョブ自体の記録で確認します。ジョブにはsteps[]配列があり、リクエスト単位の上書きが本当に反映されたかを確認するのはこの配列です。送っただけでは確認になりません。

各ステージのstepIdの読み方、skippedステップの意味、重大ではない失敗がどこに現れるかについては、別ページで説明しています。

次のステップ#

デフォルトはエンジンで設定し、必要なときだけリクエストごとに上書きできます。次は、上書きを含むジョブを送信するか、ステップを確認してどのステージが実行されたかを見てみましょう。