1. AI 機密ワードフィルターのユースケース
keyword ルールはエンジン内で最もシンプルなルールです:用語のリストを与えると、
ゲートウェイはそのいずれかをあるステージのテキストに対してマッチします。マッチングは
大文字小文字を区別しない部分文字列です — BadWord、badword、BADWORD は
すべてマッチし、用語がより長い単語に埋め込まれていてもマッチします(そのため
class は classic にもマッチします)。各用語はパターンではなくリテラル文字列
として扱われます。正規表現メタ文字をエスケープする必要はありません。
ルールをコンソールで一度保存し、ガードレールを任意の API キーにアタッチ(または
ワークスペースデフォルトに)すれば、そのキーでのすべての呼び出しが SDK 変更なし、
再デプロイなしでスクリーニングされます。ポリシーはアプリケーションではなく
ゲートウェイに存在します — あなたのアプリは以前と全く同様に
/v1/chat/completions を呼び出し続けます。
2. コンソールでルールを作成する
ここでのすべてのステップは、あなた自身のセッション下のコンソールアクションです。 ガードレールの作成と編集にはワークスペースで Developer+ が必要です。最後の/v1/* 呼び出しのみが sk-orca-... リレーキーを使います。
キーワードルールを追加する
ルールを 1 つ追加します:
- Type: Keyword denylist(
keyword) - Stage: Both(リクエストとレスポンス)
- Action: Block
- Keywords: あなたの禁止用語、1 行に 1 つ
テストする
Test タブを開き、禁止用語を含むサンプルを貼り付け、ステージを選び、
ポリシーをローカルで実行します — アップストリーム呼び出しなし、クォータなし
(§5を参照)。
キーをアタッチする
API キーを編集し、Guardrail ドロップダウンから
banned-terms を選ぶ
(キー上に guardrail_id を設定)か、ガードレールをワークスペース
デフォルトとしてマークします。
キーにアタッチすると
アカウントデフォルトを参照。3. アクションを選ぶ
キーワードルールはルールごとにひとつのアクションを選びます:Block — 呼び出しを拒否
Block — 呼び出しを拒否
いずれかのマッチがリクエストを HTTP 400
guardrail_blocked で拒否します。
ブロックされたリクエストはクォータを消費せず(入力ステージのブロックは
メータリングの前に発火し、出力ステージのブロックは事前消費されたクォータを
返金)、skip-retry とマークされます。どちらの方向にも決して通過しては
ならない用語に使います。
guardrail_blocked エラーを参照。Mask — 用語をリダクト
Mask — 用語をリダクト
各マッチがその場でリダクションタグに置換され、リクエストはサニタイズされた
テキストで継続します — アップストリームモデルは元の用語を決して見ません。
アクションを参照。
Flag — 観察のみ
Flag — 観察のみ
マッチを記録し、トラフィックについて何も変えません。強制に切り替える前に、
用語がどれくらいの頻度で現れるかを測定するために使います。
Spotlight — 信頼されていないデータとして囲む(入力)
Spotlight — 信頼されていないデータとして囲む(入力)
マッチしたテキストをデリミタ(例:
⟦UNTRUSTED⟧…⟦/UNTRUSTED⟧)で囲み、
モデルがそれを指示ではなくデータとして扱うようにします — 入力ステージの
プロンプトインジェクション防御。テキストは依然としてモデルに到達しますが、
囲われています。アクションを参照。4. ストリーミングカバレッジ
選ぶアクションは、レスポンスがストリームするかどうかと相互作用します:| アクション | 非ストリーミング | ストリーミング |
|---|---|---|
block(出力) | 強制される | 強制される — スキャナがストリームを打ち切り |
mask(出力) | 強制される | まだ — block 判定は尊重されるが、マスク済みテキストは転送されない(ロードマップ) |
5. アタッチする前にテストする
いずれかのキーがそれを指す前に、ルールが期待どおりに動作することを証明します。 エディタ内の Test タブを開き、サンプルを貼り付け、ステージを選んで実行します:6. リクエストを送信する
banned-terms にバインドされたキーを使って、以前と全く同様に OrcaRouter を
呼び出します — 新しいヘッダーなし、SDK 変更なし:
guardrail_blocked で拒否されます。アクションを mask に切り替えると、用語は
代わりに転送前にその場でリダクトされます。
7. 何が発火したかを確認する
発火したすべてのルールはマッチを記録します — ルールの種類、アクション、 ステージ、detail 文字列(キーワードルールでは、いくつの用語がマッチしたか)— ワークスペースの Matches フィードに現れます。 良性の用語がマッチし続ける場合(一般的な単語の部分文字列である拒否リストエントリ)、 Matches フィードからそれを誤検知としてマークし、エントリを引き締めます。 誤検知のチューニングを参照。8. 次にどこへ
正規表現検出器
リテラルの拒否リストでは不十分なとき、構造化されたパターン — SKU、注文番号、
フォーマット — にマッチします。
ブランドセーフティ
キーワードルールの上に構築された、冒涜的表現、競合他社への言及、児童安全の
プリセット。
アクション
block、mask、flag がどう異なり、それぞれをいつ使うか。
ガードレールリファレンス
完全なエンジン — すべてのルールの種類、フィールド、ルート。
llm_judge ルールがワークスペースモデルに対して
セマンティックチェックを実行します。