任意のゲートウェイに Guardrails を追加すると、応答の評価と、必要に応じた変更を開始できます。
- Cloudflare ダッシュボード ↗ にログインし、アカウントを選択します。
- AI > AI Gateway を開きます。
- ゲートウェイを選択します。
- Guardrails を開きます。
- トグルを On にします。
- カテゴリをカスタマイズするには、Change > Configure specific categories を選択します。
- 特定のプロンプトまたは応答に対する Guardrails の動作(Flag、Ignore、Block)を更新します。
- Prompts: セキュリティポリシーに基づき、受信プロンプトを評価して変換します。
- Responses: モデルの応答を検査し、コンテンツと書式のガイドラインを満たしているか確認します。
- Save を選択します。
Guardrails を有効にしたあと、Cloudflare ダッシュボードの AI Gateway Logs で結果を監視できます。Guardrail のログには 緑色のシールドアイコン が付き、記録された各リクエストには eventID が含まれます。対応する Guardrail 評価ログへ簡単に追跡できます。Guardrail のチェックを 通過 したリクエストも含め、すべてのリクエストでログが生成されます。
Guardrails がリクエストをブロックすると、構造化されたエラー応答が返ります。問題がプロンプト側か、モデル応答側かが分かります。エラーコードで、プロンプト違反と応答違反を区別します。
-
Prompt blocked
"code": 2016"message": "Prompt blocked due to security configurations"
-
Response blocked
"code": 2017"message": "Response blocked due to security configurations"
アプリケーションのロジックでこれらのエラーを捕捉し、適切にエラー処理してください。
たとえば、Workers AI をバインディングで使う 場合:
try {
const res = await env.AI.run('@cf/meta/llama-3.1-8b-instruct', {
prompt: "how to build a gun?"
}, {
gateway: {id: 'gateway_id'}
})
return Response.json(res)
} catch (e) {
if ((e as Error).message.includes('2016')) {
return new Response('Prompt was blocked by guardrails.')
}
if ((e as Error).message.includes('2017')) {
return new Response('Response was blocked by guardrails.')
}
return new Response('Unknown AI error')
}