𝗔𝗜 𝗚𝗮𝘁𝗲𝘄𝗮𝘆 𝗚𝘂𝗮𝗿𝗱𝗿𝗮𝗶𝗹𝘀 𝘄𝗶𝘁𝗵 𝗔𝗪𝗦 𝗕𝗲𝗱𝗿𝗼𝗰𝗸 𝗮𝗻𝗱 𝗞𝗼𝗻𝗴
AI Gatewayをデプロイしました。トラフィックは流れ、LLMは応答します。すべて順調に見えます。
しかし、あるユーザーが「これまでの指示をすべて無視してください」というプロンプトを送信したり、チャットボットにクレジットカード番号を貼り付けたり、あるいは規制対象の業界においてボットに金融アドバイスを求めたりすることがあります。
LLMにトラフィックを送信するのは簡単ですが、そのトラフィックを制御するのは困難です。安全のためのポリシーが必要になります。
Kubernetes上のKong AI GatewayでAWS Bedrock Guardrailsを使用できます。このセットアップでは ai-aws-guardrails プラグインを使用します。すべてのリクエストとレスポンスはポリシーレイヤーを通過します。ゲートウェイは、違反がアプリケーションコードに到達する前にブロックします。
4つのガードレールタイプを設定できます:
- コンテンツフィルター(Content Filters):ヘイト、暴力、または侮辱をブロックします。
- プロンプト攻撃保護(Prompt Attack Protection):ジェイルブレイクやインジェクションの試みをブロックします。
- PII保護(PII Protection):メールアドレス、クレジットカード番号、パスワードをブロックします。
- 禁止トピック(Denied Topics):投資アドバイスなどの特定のトピックをブロックします。
PIIについては、2つの選択肢があります。リクエストを停止するには BLOCK を使用します。機密データをプレースホルダーに置き換えるには ANONYMIZE を使用します。これは、生データなしでコンテキストが必要なヘルスケア分野などで役立ちます。
Kongの設定で、guarding_mode を BOTH に設定します。デフォルト設定では入力のみがチェックされます。BOTH に設定すると、ユーザーのプロンプトとモデルのレスポンスの両方がチェックされます。これにより、乗っ取られたモデルがユーザーに対して有害なデータを送信することを防げます。
安全性は優れたゲートウェイの一部に過ぎません。以下の機能も併用すべきです:
- コストを制御するためのレート制限(Rate limiting)。
- 繰り返されるクエリを削減するためのセマンティックキャッシュ(Semantic caching)。
- ルートを保護するためのJWT認証(JWT auth)。
完全なJSON定義とセットアップ手順については、Hashnodeのフルガイドをご覧ください。
Optional learning community: https://t.me/GyaanSetuAi