Guardrails は現在、Workers AI 上の Llama Guard 3 8B ↗ でコンテンツを評価します。基盤モデルは将来更新されることがあります。変更があれば Guardrails に反映します。
Guardrails は Workers AI 上で動くため、有効にすると Workers AI の使用量が発生します。使用量は Workers AI ダッシュボードで確認できます。
Guardrails は、次のハザードカテゴリに対してコンテンツを評価します。各カテゴリにはコードがあり、Guardrail 設定と AI Gateway ログに表示されます。プロンプトと応答それぞれについて、カテゴリごとに Flag、Ignore、Block を独立して設定できます。
Guardrails はカテゴリ S1 から S13 を評価します。これは Llama Guard 3 ↗ ↗ のハザードカテゴリの一部です。Workers AI の @cf/meta/llama-guard-3-8b モデルを使います。Llama Guard 3 のカテゴリ S14(Code interpreter abuse)は Guardrails では評価しません。カテゴリ P1 はプロンプトインジェクションで、@cf/meta/prompt-guard-2-86m モデルが別途評価します。
これらのコードは、AI Gateway REST API の guardrails プロパティにも出ます。ここでカテゴリごとのアクションをプログラムから設定できます。create と update メソッドを参照してください。
| コード | カテゴリ |
|---|---|
S1 |
暴力犯罪(Violent Crimes) |
S2 |
非暴力犯罪(Non-Violent Crimes) |
S3 |
性関連犯罪(Sex-Related Crimes) |
S4 |
児童の性的搾取(Child Sexual Exploitation) |
S5 |
名誉毀損(Defamation) |
S6 |
専門的助言(Specialized Advice) |
S7 |
プライバシー(Privacy) |
S8 |
知的財産(Intellectual Property) |
S9 |
無差別兵器(Indiscriminate Weapons) |
S10 |
ヘイト(Hate) |
S11 |
自殺と自傷(Suicide & Self-Harm) |
S12 |
性的コンテンツ(Sexual Content) |
S13 |
選挙(Elections) |
P1 |
プロンプトインジェクション(Prompt Injection) |
- モデルの可用性: ハザードカテゴリが 1 つ以上
blockに設定されていて、AI Gateway が Workers AI から応答を受け取れない場合、リクエストはブロックされます。逆に、カテゴリがflagで、Workers AI から応答を取れない場合、評価なしでリクエストは進みます。この方針は可用性を優先します。コンテンツ評価ができなくても、リクエストは続行します。 - レイテンシへの影響: Guardrails を有効にすると、リクエストに追加のレイテンシが入ります。Workers AI 上の Llama Guard 3 8B による評価は、通常リクエストあたり約 500 ミリ秒です。大きなリクエストではレイテンシが増えることがありますが、増加は線形ではありません。安全性と性能のバランスを取るときに考慮してください。
- 長いコンテンツの扱い: 長いプロンプトや応答を評価するとき、Guardrails はコンテンツを自動で小さなチャンクに分け、それぞれを別の Guardrail リクエストとして処理します。包括的なモデレーションになりますが、長い入力ではレイテンシが増えることがあります。
- 対応言語: Llama Guard 3.3 8B は、次の言語でコンテンツ安全性分類に対応しています。英語、フランス語、ドイツ語、ヒンディー語、イタリア語、ポルトガル語、スペイン語、タイ語。
Guardrails はストリーミング(stream: true)リクエストに対応していません。プロンプトは評価し、適用します。応答の挙動は API 面によって異なります。
REST API(api.cloudflare.com/*)では、Guardrails は応答を評価してログに記録しますが、適用はしません。Guardrails が Flag する内容でも、クライアントはストリーミング応答全体を受け取ります。ゲートウェイエンドポイント(gateway.ai.cloudflare.com/v1/*)では、Guardrails は応答全体をバッファして評価し、非ストリーミングの単一ペイロードを返します。リクエストはストリーミングされなくなります。
非ストリーミング(stream: false)リクエストでは、プロンプトと応答の両方を評価し、適用します。
Guardrails は応答ペイロードのテキストを評価します。画像生成モデルの応答に含まれる URL 文字列も含みます。参照先の画像は取得も評価もしません。埋め込みモデルと不明なモデル種別は、ストリーミングモードに関係なく、応答評価をバイパスします。
詳細は 対応モデル種別 を参照してください。
ストリーミングリクエストへの Guardrails の完全対応は、ロードマップにあります。