メインコンテンツまでスキップ

Unity AI Gatewayエンドポイントのガードレールを設定する

備考

ベータ版

この機能はベータ版です。アカウント管理者は、アカウント コンソールの [プレビュー] ページからこの機能へのアクセスを制御できます。 Databricksのプレビューを管理するを参照してください。

このページでは、Unity AI Gatewayエンドポイント向けにLLMベースのガードレールを設定する方法について説明します。ガードレールは、リクエストとレスポンスをリアルタイムで検査し、セキュリティ、プライバシー、またはコンプライアンスに関するポリシーに違反するコンテンツをブロックまたは無効化します。

注記

このページでは、LLMベースのガードレールについて説明します。Databricksは、カスタムコードやサードパーティとの連携など、他のガードレール方式についても検討を進めている。

LLMベースのガードレールは、ポリシー評価器として言語モデルを使用する。このアプローチには以下の利点があります。

  • カスタマイズ :組み込みのテンプレートは一般的なポリシーを網羅しており、独自のガードレール用のプロンプトを指定することもできます。
  • 文脈的推論 :評価者は文脈を考慮し、実際の 違反行為と、ニュース報道、フィクション、教育的な議論などの無害な言及を区別します。

要件

ガードレールを使用および設定するには、以下の要件を満たす必要があります。

クエリ実行時、エンドユーザーは対象のUnity AI Gatewayエンドポイントに対してCAN QUERY権限のみを必要とします。Unity AI Gateway は、エンドユーザーの権限を評価エンドポイントまたはその基盤となるモデルに対してチェックしません。

ユーザーが作成した評価エンドポイントの場合、評価エンドポイントはその所有者のID(定義者の権限)で実行されます。ガードレールを設定した後、評価者の所有者が基となるモデルへのアクセス権を失った場合、ガードレール呼び出しは失敗します。

エンドポイントにガードレールを設定する

Unity AI Gatewayエンドポイントページの 「ガードレール」 タブからガードレールを設定します。

AI Gatewayエンドポイントのガードレールタブ。ガードレールの追加ボタンとテンプレートタイルが表示されている空の状態。

ガードレールを追加するには:

  1. AI Gatewayページからエンドポイントをクリックし、次に Guardrails タブをクリックします。

  2. クリックプラスアイコン。 ガードレールを追加する

  3. ガードレール作成 モーダルで、 ガードレールタイプ を選択します。

    • PIIの削除 :モデル呼び出しの前にPIIを検出し、プレースホルダーに置き換えます。
    • PIIブロック :PIIを含むリクエストまたはレスポンスをブロックします。
    • 安全でないコンテンツ :ヘイトスピーチ、暴力、自傷行為、その他安全でない内容を含むコンテンツをブロックします。
    • ジェイルブレイク :モデルの安全制約を回避しようとするリクエストをブロックします。
    • 幻覚 :捏造された、または検証不可能な主張が含まれていると思われる応答をブロックします。
    • カスタム :ご自身でプロンプトをご入力ください。特注ガードレールをご覧ください。
  4. 「フェーズ」 では、実行フェーズを 「入力」 または 「出力」 に設定します。

  5. カスタムガードレールの場合、 [アクション][ブロック] または [サニタイズ] を選択します。「ブロックおよびサニタイズ操作」を参照してください。

  6. 評価エンドポイントを選択してください。フォームのデフォルト値はdatabricks-gpt-5-nanoです。

  7. (オプション) [詳細オプション] で、[ドライ実行モードでガードレールを実行するために ログ を記録] を選択します。 ドライランモードでは、ガードレールは要求または応答を評価し、結果を記録しますが、アクションは実行しません。

  8. 「ガードレールを作成」を クリックします。

組み込みテンプレートを選択した状態でガードレールモーダルを作成し、ガードレールタイプのピル、フェーズのチェックボックス、評価エンドポイントのコンボボックス、および「適用」と「ログ」のラジオボタンを含む詳細オプションを表示します。

「ガードレールの作成」を クリックすると、エンドポイントページの 「ガードレール」 テーブルに新しいガードレールが表示されます。

「ガードレール」タブには、1つ以上のガードレールが表示されます。これには、アクション タグの横にシールド オフ アイコンが表示されているログ専用ガードレールも含まれます。

ガードレールの仕組み

ガードレールで保護されたすべてのリクエストには、2つのUnity AI Gatewayエンドポイントが関与しています。

  • 推論エンドポイント とは、クライアントが呼び出すエンドポイントのことです。
  • 評価エンドポイント とは、各ガードレールがプロンプトを実行するために使用するエンドポイントのことです。サポートされているAPIを提供するUnity AI Gatewayエンドポイントであればどれでも構いません。

このプロンプトは、組み込みのテンプレート、またはユーザーが作成したカスタムガードレールから生成されます。

Unity AI Gatewayエンドポイントにリクエストが到着すると、入力ガードレールがリクエストボディを評価してから、宛先モデルに転送します。すべての入力ガードレールが通過した場合、宛先モデルが応答し、その後、出力ガードレールが応答本文を評価してからクライアントに返します。

リクエストは、入力ガードレール、宛先モデル、および出力ガードレールを通過して流れます。パスとサニタイズの結果は引き続き処理され、ブロックされたリクエストはHTTP 400レスポンスにリダイレクトされます。使用状況追跡ではすべてのリクエストが記録され、推論テーブルでは宛先モデルに到達したリクエストが記録されます。

フェーズ内では、すべてのブロッキングガードレールが並行して実行されます。 全て合格したら、次は消毒ガードレールを実行します。 ブロッキングガードレールがトリガーされた場合、サニタイズガードレールは実行されず、最初のトリガーガードレールが戻り値を返した時点でリクエストはブロックされます。

フェーズ内では、ブロッキングガードレールが並行して実行されます。 すべての遮断ガードレールを通過したら、次に消毒ガードレールを実行します。 ブロッキングガードレールが作動した場合、リクエストはHTTP 400でブロックされ、サニタイズガードレールはスキップされます。

各ガードレールには以下の特性があります。

属性

説明

名前

ガードレールに付ける名前。同一エンドポイント上の実行フェーズ内では、名前は一意でなければなりません。

実行フェーズ

ガードレールが要求(入力)を評価するのか、応答(出力)を評価するのか。

操作

ガードレールがトリガーされた際に、リクエストをブロックするか、コンテンツをサニタイズするか。ブロックおよびサニタイズ操作を参照してください。

評価者

コンテンツを評価するために使用される評価エンドポイントとプロンプト。組み込みテンプレートまたはカスタムガードレールを使用します。

モード

強制 (デフォルト)は、ガードレールがトリガーされたときにアクションを適用します。 ログは リクエストまたはレスポンスを評価し、コンテンツをブロックまたは変更することなく結果を記録します。本番運用トラフィックに適用する前に、 ログ を使用してガードレールをテストします。

サポートされているAPIタイプ

ガードレールは、チャットAPIを提供するUnity AI Gatewayエンドポイント上で動作します。Unity AI Gatewayは、最新のメッセージのテキストを抽出し、ガードレールプロンプトと照合して評価します。推論エンドポイントと評価エンドポイントは、いずれも以下のいずれかのAPIsを提供する必要があります。

  • OpenAI Chat CompilationsとMLflow Chat
  • Anthropicメッセージ
  • OpenAIの回答
  • Gemini generateContent

埋め込みエンドポイントは、LLMベースの評価器が検査できるメッセージを生成しないため、サポートされていません。Unity AI Gateway が各 API シェイプから読み取るフィールドについては、評価者が何を受け取るかを確認してください。リクエストの制約 (ストリーミング、複数選択の応答) については、 「制限事項」を参照してください。

ガードレール テンプレートを組み込む

Unity AI Gatewayは、一般的なセキュリティおよびプライバシーポリシーのための組み込みテンプレートを提供します。各テンプレートには、Databricksが管理する厳選されたプロンプトが含まれています。テンプレートを、評価者として任意のUnity AI Gatewayエンドポイントと組み合わせます。評価エンドポイントの選択を参照してください。

テンプレート

操作

実行フェーズ

説明

個人情報削除

サニタイズ

入力または出力

氏名、メールアドレス、電話番号、社会保障番号、クレジットカード番号、住所を検出します。 各出現箇所を[NAME][EMAIL]のようなプレースホルダートークンに置き換えることで、生のPIIが宛先モデルやクライアントに到達することはありません。

PIIブロック

ブロック

入力または出力

氏名、メールアドレス、電話番号、社会保障番号、クレジットカード番号、住所を含むリクエストまたはレスポンスをブロックします。

安全でないコンテンツ

ブロック

入力または出力

ヘイトスピーチ、嫌がらせ、暴力、自傷行為、性的内容、過激派の資料、武器やその他の危険物質の製造方法に関する指示を含むコンテンツをブロックします。

脱獄

ブロック

入力

モデルの安全性やポリシーの制約を回避しようとする入力をブロックします。これには、直接的な命令の上書き、難読化されたペイロード(Base64やリーツピークなど)、ロールプレイングの悪用、ペイロードの分割、システムプロンプトの抽出の試みなどが含まれます。

ハルシネーション

ブロック

出力

捏造された事実、でっち上げの統計、存在しない引用や参考文献、実在する団体や製品に関する虚偽の主張、または架空の名前や資格情報を含む回答をブロックします。

特注ガードレール

組み込みのテンプレートがポリシーに合わない場合は、独自のプロンプトを使用してカスタムガードレールを定義できます。カスタムガードレールは、組み込みテンプレートと同じプロンプト出力契約に従います。つまり、評価器は、ガードレールがトリガーされたかどうかを示す構造化された結果を返さなければなりません。プロンプトを調整する際は、評価エンドポイントの推論テーブルを使用してリクエストとレスポンスを検査してください。

特注ガードレールには以下の制約があります。

  • 名前 :最大255文字。正規表現^[a-zA-Z0-9_ -]+$ (文字、数字、スペース、ハイフン、アンダースコア) に一致する必要があります。
  • プロンプト :最大5000文字。

カスタムガードレールプロンプトを作成するためのヒント

  • トリガーを厳密に定義する。 フラグを立てるべき具体的なコンテンツカテゴリを明記し、通過させるべきコンテンツの反例も併せて示してください。曖昧な基準は、一貫性のない決定を生み出す。
  • 評価者は抽出されたメッセージテキストのみを見ることができると仮定します。 推論エンドポイントのシステムプロンプト、会話の以前のターン、ツール呼び出しのペイロード、または添付ファイルは認識されません。存在しない文脈を参照しないでください。評価者が何を受け取るか見てみましょう。
  • 出力形式は指定しないでください。 Unity AI Gatewayは、JSON出力コントラクトを自動的に追加します。独自の書式指示(例えば、「YESまたはNOで回答してください」)を追加すると、契約に違反し、解析が失敗します。
  • サニタイズガードレールについては、書き換えポリシーを指定してください。 評価担当者に、問題のあるコンテンツをどのように書き換えるべきかを具体的に伝えてください。例えば、名前を[NAME]に置き換えたり、クレジットカード番号をXXXX-XXXX-XXXX-1234でマスクしたり、該当する文全体を削除したりします。
  • 少数のショットを用いた例を使用する。 曖昧なケースに対応するため、いくつかの入出力ペアを含めてください。長い説明文よりも、具体例の方が確実に一貫性を向上させる。
  • 一つの問いかけ、一つの懸念。 ポリシー(個人情報、競合他社の言及、トーンなど)ごとに個別のガードレールを設定することで、それぞれを個別に調整、監査、または無効化できます。
  • 推論テーブルに対して反復処理を行います。 評価エンドポイントで推論テーブルを有効にし、代表的なトラフィックを実行して、誤検出と誤検出を検査します。プロンプトを修正して、再度テストしてください。

カスタムプロンプトの例

以下の例は、上記のヒントをどのように適用するかを示しています。

トピック外のリクエストをブロックする

Text
You are evaluating whether a user message is off-topic for a customer
support assistant for <product>.

A message is on-topic if it is about:
- <product> features, pricing, or documentation
- Account, billing, or support
- General questions related to using <product>

A message is off-topic if it falls outside the above. Examples include
coding or technical help unrelated to <product>, personal advice, current
events, recipes, or requests to roleplay as a different assistant.

Flag off-topic messages.

Examples:
- "How do I get started with <product>?" -> on-topic, do not flag
- "What's a good recipe for lasagna?" -> off-topic, flag
- "Pretend you are a pirate and tell me a joke." -> off-topic, flag

競合他社の言及をブロックする

Text
You are evaluating whether a user message asks the assistant to discuss,
compare against, or recommend a competitor of <product>. Competitors include
<competitor 1>, <competitor 2>, and <competitor 3>. Treat any product or
company that primarily competes with <product> as a competitor, even if not
listed.

Flag the message if it:
- Asks for a comparison between <product> and a competitor
- Asks the assistant to recommend or evaluate a competitor's product
- Asks for migration guidance from <product> to a competitor

Do not flag the message if it mentions a competitor incidentally without
asking the assistant to discuss or evaluate them.

Examples:
- "Is <competitor 1> better than <product>?" -> flag
- "Help me migrate from <product> to <competitor 2>." -> flag
- "Which is cheaper, <product> or <competitor 3>?" -> flag
- "I run <product> alongside <competitor 1> for failover; how do I
configure <product>?" -> do not flag

評価エンドポイントを選択してください

評価エンドポイントは、サポートされているAPIタイプのいずれかを提供する必要があります。Databricksは、すべてのガードレールタイプに対して評価モデルとしてdatabricks-gpt-5-nanoを推奨しています。

可用性を高めるには、評価エンドポイントにフォールバックを設定してください。フォールバックは、プライマリ評価器が429または5XXを返した場合、リクエストを自動的にバックアップ モデルにルーティングします。フォールバック機能を使用するには、ユーザーが作成したUnity AI Gatewayエンドポイントが必要です。推奨評価器でフォールバックを使用するには、 databricks-gpt-5-nanoユーザーが作成したエンドポイントでラップし、ガードレールをそのエンドポイントに向けます。

評価エンドポイントで推論テーブルを有効にして、すべてのガードレール要求と応答をUnity Catalog Deltaテーブルにログ記録します。 ログに記録されたペイロードを使用して、ガードレールの決定を監査し、精度を評価し、プロンプトを調整したり、評価エンドポイントを微調整したりできます。

最大限の効果を得るには、同じタイプのガードレールをすべて単一の評価エンドポイントに向けてください。例えば、推論エンドポイント全体にわたるすべての個人情報削除ガードレールを、推論テーブルが有効になっている同じ評価エンドポイントを使用するように構成します。統合された推論テーブルは、ガードレールの動作に関する真実の単一のソースとなり、評価エンドポイントを迅速に調整または微調整するためのクリーンなデータ セットになります。

各フェーズでは、評価者のレイテンシがリクエストに追加されます。ブロッキングガードレールはフェーズ内で並列に実行され(最も遅いブロッキング呼び出しが優先されます)、その後、サニタイズガードレールが順次実行されます。 Unity AI Gateway は、ガードレール呼び出しごとに最大 30 秒を割り当てます。1 回あたり 15 秒で、最大 2 回まで試行できます。低遅延の評価エンドポイントを選択し、フェーズごとのガードレールの数を制限することで、オーバーヘッドを削減します。

警告

入れ子式のガードレールはサポートされていません。選択した評価エンドポイントに独自のガードレールが設定されている場合、Unity AI Gateway は、設定したガードレールを実行する際にそれらのガードレールをスキップします(評価エンドポイント自体の設定は変更されません)。これにより再帰処理が防止されます。

ブロックおよびサニタイズアクション

各ガードレールは、作動時に以下の2つの動作のうちいずれかを実行します。

  • ブロック :リクエストを終了し、クライアントにHTTP 400レスポンスを返します。危険なコンテンツ、脱獄の試み、または幻覚の検出には、ブロック機能を使用してください。
  • サニタイズ :入力または出力テキストをその場で編集または書き換えます。個人情報(PII)にはサニタイズ処理を施し、宛先モデルとクライアントが機密性の高い生データを見ることがないようにしてください。

サニタイズはリクエスト・レスポンスサイクル中に動的に実行されます。

  • 入力サニタイズは、ユーザーが入力したプロンプトがモデルに到達する前に書き換えます。
  • 出力サニタイズは、モデルからの応答がクライアントに返される前に、その応答を書き換えます。

書き換えられる正確なフィールドはAPIの形状によって異なり、評価者が受け取るものの下にリストされています。

例:入力サニタイズ

PII(個人情報)の削除入力ガードレールが作動すると、元のリクエストは次のようになります。

JSON
{
"messages": [{ "role": "user", "content": "Email me at jane.doe@example.com." }]
}

宛先モデルに到達する前に書き換えられます。

JSON
{
"messages": [{ "role": "user", "content": "Email me at [EMAIL]." }]
}

ブロッキングガードレールがトリガーされると、クライアントはHTTP 400レスポンスとerror_code: "BAD_REQUEST"を受け取ります。エラーメッセージはRequest blocked by input guardrail '<name>'.または Response blocked by output guardrail '<name>'.

例:ブロックされたリクエスト

Unsafe contentという名前の入力ガードレールがリクエストをブロックすると、クライアントは以下を受け取ります。

JSON
{
"error_code": "BAD_REQUEST",
"message": "Request blocked by input guardrail 'Unsafe content'."
}

同じガードレールが応答をブロックする場合:

JSON
{
"error_code": "BAD_REQUEST",
"message": "Response blocked by output guardrail 'Unsafe content'."
}

評価者が受け取るもの

ガードレールが実行されると、Unity AI Gateway はチャット完了リクエストとともに評価エンドポイントを呼び出します。システムメッセージには、ガードレールプロンプトと出力契約が含まれています。ユーザーメッセージには、評価対象のテキストが含まれています。

ガードレール警告

ガードレール プロンプトは、評価者が強制するポリシーです。 組み込みテンプレートの場合、Databricksがプロンプトをキュレーションします。特注のガードレールの場合、プロンプトはお客様ご自身でご提供いただく必要があります。カスタムガードレールプロンプトを作成するためのヒントを参照してください。

出力契約

Unity AI Gateway は、すべてのガードレール呼び出しのプロンプトに JSON 出力コントラクトを自動的に追加します。契約内容は、ブロック機能とサニタイズ機能のガードレールで異なり、カスタムプロンプトはそれに準拠した出力を生成する必要がある。

ガードレールを塞ぐための出力契約

評価ツールは、以下のフィールドを含むJSONオブジェクトを返さなければなりません。

  • flagged (ブール値):コンテンツがガードレール基準に違反している場合はtrue
  • confidence (浮動小数点数、 0.01.0 ):評価者がその決定に抱く信頼度。1.0確実に違反していることを意味し、 0.0確実に違反していないことを意味し、中間値は部分的な確実性を表します。フィールドが省略された場合、Unity AI Gateway は1.0とみなします。

信頼度に関わらず、 flagged: true応答があるとブロックアクションがトリガーされます。

手すりの消毒に関する出力契約

評価ツールは、以下のフィールドを含むJSONオブジェクトを返さなければなりません。

  • flagged (ブール値):コンテンツがガードレール基準に一致する場合はtrue
  • sanitized_text (文字列):一致する内容のテキストが置換またはサニタイズされます。flaggedtrueの場合に必須です。flaggedfalseの場合、リクエストまたはレスポンスは変更されずにそのまま渡されます。

評価ツールのJSONレスポンスには、周囲の文章やMarkdownコードが含まれる場合があります。Unity AI Gatewayは、JSONオブジェクトを防御的に抽出します。応答を解析できない場合、ガードレールは失敗します( fail-closed評価を参照)。

ユーザーメッセージ

ユーザーメッセージには、元のリクエストまたはレスポンスからの単一のメッセージのテキストが含まれており、会話履歴全体は含まれていません。入力ガードレールとして、Unity AI Gatewayはリクエスト内の最後のユーザーメッセージのテキストを抽出します。出力ガードレールとして、アシスタントの応答を抽出します。推論エンドポイントのシステムプロンプト、会話の以前のターン、ツール呼び出しペイロード、画像および音声バイト、推論または思考ブロックは転送されません。

APIごとのフィールド抽出

Unity AI Gatewayが読み取るフィールドは、推論エンドポイントのネイティブAPIによって異なります。マルチモーダルコンテンツ配列の場合、テキストタイプのブロックのみが抽出されます。

API

Input (last user message)

Output (assistant response)

OpenAI Chat Completions, MLflow Chat

messages[].content (last role: "user")

choices[0].message.content

Anthropic Messages

messages[].content (last role: "user")

content[].text (text blocks only)

OpenAI Responses

input[].content[].text (last role: "user"; text and input_text blocks)

output[].content[].text (output_text blocks only)

Gemini generateContent

contents[].parts[].text (last role: "user", first part)

candidates[0].content.parts[].text

カスタムプロンプトを作成する際は、評価者は抽出されたテキストのみを参照し、周囲の会話、システムプロンプト、またはツールコンテキストは参照しないことを前提としてください。

すべてをまとめると

評価者へのチャット完了リクエストの全文は以下のとおりです。

JSON
{
"model": "<evaluator endpoint>",
"stream": false,
"messages": [
{ "role": "system", "content": "<guardrail prompt>\n\n<output contract>" },
{ "role": "user", "content": "<extracted message text>" }
]
}

ガードレールプロンプトと評価対象コンテンツは、連結されるのではなく、別々の役割として渡されます。これにより、評価者の指示と評価対象の内容が分離される。

各ガードレール呼び出しは、評価エンドポイントでトークンを消費します。リクエストペイロード(ガードレールプロンプト、JSON出力コントラクト、および抽出されたメッセージテキスト)と評価者の応答はどちらも、評価エンドポイントの使用量にカウントされ、同じモデルユニットに対して課金されます。

監査ガードレール活動

監査データを取得するために、推論エンドポイントと評価エンドポイントの両方で使用状況追跡推論テーブルを有効にしてください。

推論エンドポイントでは、使用状況追跡記録は、ブロックされたリクエストも含め、リクエストごとに1行を記録します。合格およびサニタイズされたリクエストは、ステータス200で実際のトークン使用を記録します。入力ブロックされたリクエストは、ステータス4000入力トークンおよび出力トークンを記録します。出力ブロックされたリクエストは、宛先モデルの実際のトークン数とともにステータス400を記録します。

推論エンドポイントの推論テーブルには、宛先モデルに到達したリクエストごとに1行が記録されます。入力がブロックされたリクエストは推論テーブルには含まれません(使用状況追跡によって監査してください)。出力ブロックされたリクエストは、推論テーブルに生のアップストリーム応答ボディとステータスコードが400に上書きされた状態で表示されます。

評価エンドポイントでは、推論テーブルにガードレール呼び出しごとに1行が記録され、評価者が受け取るリクエスト本文、評価者の生のJSONレスポンス、レイテンシ、ステータスコード、およびタイムスタンプが含まれます。評価エンドポイントにおけるガードレール呼び出しについては、使用状況の追跡はログに記録されません。

推論エンドポイントの推論テーブルと評価エンドポイントの推論テーブルは同じrequest_idを共有します。このフィールドに参加して、ガードレールの決定を、発信元のクライアントからの通話まで遡って追跡します。

失敗閉評価

ガードレールはフェイルクローズ式です。ガードレール呼び出しが失敗した場合、タイムアウトした場合、またはUnity AI Gatewayが解析できない応答を返した場合、リクエストはブロックされます。これにより、一時的な評価システムの不具合によって、セキュリティおよびプライバシーに関するポリシーが回避されることがなくなります。

クライアントエラーは、障害発生モードを反映しています。タイムアウトはDEADLINE_EXCEEDEDを返します。評価器が HTTP エラーを返すと、Unity AI Gateway は対応するエラー コード (たとえば403の場合はPERMISSION_DENIEDを伝播します。その他の失敗はINTERNAL_ERRORを返します。いずれの場合も、エラーメッセージには故障したガードレールの名前が含まれています。

本番運用交通に影響を与えずに新しいガードレールをテストするには、 詳細オプション でガードレールのモードを 「ログイン」 に設定します。 ログ モードでは、ガードレールはリクエストまたはレスポンスを評価し、結果を記録しますが、コンテンツをブロックしたり変更したりすることはありません。 ログ モードのガードレールが失敗したりタイムアウトしたりした場合も、リクエストをブロックするのではなく、黙って通過させます。ガードレール表では、ログモードのガードレールには、アクションタグの横にシールドオフアイコンが表示されます。

制限事項

ガードレールには以下の制限があります。

  • フェーズごとの容量 :実行フェーズごとに、最大3つのブロッキングガードレールと1つのサニタイズガードレールを設定できます。
  • 出力ガードレールを使用したストリーミング : Unity AI Gateway は、出力ガードレールが構成されているエンドポイントでのストリーミング応答をサポートしません。 これらのエンドポイントでstream=true (または streamGenerateContent Gemini バリアント) を含むリクエストはINVALID_PARAMETER_VALUE: "Streaming responses with output guardrails are not supported. Disable streaming (stream=false) or remove the output guardrail."で拒否されます。入力専用のガードレールを使用したストリーミングがサポートされています。
  • 出力ガードレール付きの複数選択応答 : Unity AI Gateway は、出力ガードレールが設定されているエンドポイントでn > 1 (OpenAI Chat Completions、MLflow Chat) またはgenerationConfig.candidateCount > 1 (Gemini) を含むリクエストをサポートしていません。これらのリクエストはINVALID_PARAMETER_VALUE: "Multi-choice responses (n > 1 or candidateCount > 1) with output guardrails are not supported. Set n=1 (or candidateCount=1) or remove the output guardrail." Anthropic MessagesとOpenAI Responses APIには複数の選択肢がなく、影響を受けないため拒否されます。
  • 単一メッセージ評価 :各ガードレールは一度に1つのメッセージのみを評価します。評価器は複数ターンにわたるコンテキストを集約しないため、段階的なエスカレーションやコンテキスト操作攻撃など、複数のメッセージにまたがるパターンを検出することができません。この設計により、評価者の入力値が制限され、かつ効率的に機能することが保証されます。評価者が何を受け取るか見てみましょう。

次のステップ