ai-gateway について
ai-gateway は、ML 運用における AI サービスのトラフィックをルーティング、保護、監視するスキルです。ルールによるルーティング、エンドポイント制御、メトリクス確認に対応し、CLI、API、YAML で設定できます。
主な機能
- 01パスまたはヘッダールールによるリクエスト振り分け
- 02認証とレート制限の適用
- 03レイテンシとエラー指標の追跡
- 04YAML によるルート設定
- 05バックエンド間の負荷分散と自動フェイルオーバー
活用シーン
- 01予測リクエストを ML サービスに振り分け
- 02AI エンドポイントを保護してリクエスト頻度を制限
- 03AI トラフィックのレイテンシとエラーを監視
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill ai-gatewayインストール後、Claude Code で/ai-gatewayを入力して読み込まれたか確認します。
詳細
ai-gateway
目的
このスキルは、ML 運用における AI サービスリクエストのルーティング、セキュリティ保護、監視を行う AI ゲートウェイを管理し、aimlops クラスター内で効率的なトラフィック処理、API セキュリティ、パフォーマンス追跡を実現します。
使用するタイミング
本番環境で複数の AI モデルを使用する場合など、AI リクエストを一元的にルーティングする必要がある ML パイプラインを構築するときに、このスキルを使用します。セキュリティポリシーの適用、トラフィックの監視、API エンドポイントのスケーリングにも利用できます。AI 推論用のマイクロサービスを扱うシナリオや、aimlops ワークフローで Kubernetes などのツールと連携する場合にも適用します。
主な機能
- ルーティング:パスベースまたはヘッダーベースのマッチングを使用し、ルールに基づいて AI サービスへリクエストを動的にルーティングします。
- セキュリティ:JWT または API キーを使用して、認証、レート制限、暗号化を適用します。
- 監視:統合ログ機能と Prometheus エクスポーターを通じて、リクエストのレイテンシやエラー率などのメトリクスを追跡します。
- 構成:ルートの定義に YAML ベースの設定をサポートします。たとえば、送信元と送信先のエンドポイントを指定できます。
- スケーラビリティ:自動フェイルオーバーにより、複数の AI バックエンド間の負荷分散を処理します。
使用パターン
このスキルを使用するには、まず CLI または API を通じて AI ゲートウェイを設定し、ルートとセキュリティルールを定義します。$AI_GATEWAY_API_KEY 環境変数を使用して、必ずリクエストを認証してください。CLI を使用する場合は、ai-gateway-cli init --config path/to/config.yaml で初期化し、ai-gateway-cli apply で変更を適用します。コードでは SDK をインポートし、プログラムから設定するために createRoute() などのメソッドを呼び出します。定期的にメトリクスエンドポイントにクエリを送信して、使用状況を監視します。
一般的なコマンド/API
-
CLI コマンド:
- ゲートウェイを初期化:
ai-gateway-cli init --cluster aimlops --key $AI_GATEWAY_API_KEY - ルートを追加:
ai-gateway-cli add-route --path /predict --target http://ai-service:8080 --method POST - エンドポイントを保護:
ai-gateway-cli secure --endpoint /predict --auth jwt --rate-limit 100/min - メトリクスを表示:
ai-gateway-cli metrics --format json
- ゲートウェイを初期化:
-
API エンドポイント:
- ルートを作成:POST /api/v1/routes、ボディは
{ "path": "/predict", "target": "http://ai-service:8080", "method": "POST" } - セキュリティを更新:PUT /api/v1/security/{endpoint}、ボディは
{ "authType": "jwt", "rateLimit": 100 } - メトリクスを取得:GET /api/v1/metrics?type=latency
- ルートを作成:POST /api/v1/routes、ボディは
-
コードスニペット:
import requests headers = {'Authorization': f'Bearer {os.environ.get("AI_GATEWAY_API_KEY")}'} response = requests.post('http://gateway:8080/api/v1/routes', json={"path": "/predict", "target": "http://ai-service:8080"}, headers=headers)export AI_GATEWAY_API_KEY=your_api_key_here ai-gateway-cli add-route --path /chat --target http://llm-service:5000 -
設定形式: 設定には YAML を使用します。例:
routes: - path: /predict target: http://ai-service:8080 methods: [POST] security: - endpoint: /predict auth: jwt rateLimit: 100
統合に関する注意事項
クラスター内にゲートウェイをサイドカーまたはスタンドアロンサービスとしてデプロイし、aimlops と統合します。Kubernetes の場合は、たとえば kubectl annotate pod ai-pod aimlops/gateway=true のように、Pod にアノテーションを追加します。SDK を使用してほかの AI ツールと連携します。AI_Gateway(api_key=os.environ['AI_GATEWAY_API_KEY']).connect(cluster='aimlops') をインポートして初期化します。「ai」や「mlops」などのタグを一致させ、互換性を確保します。外部サービスの場合は、設定でゲートウェイのコールバック URL を指定して Webhook を設定します。たとえば、YAML に callback: http://external-service/webhook を追加します。
エラー処理
API レスポンスの HTTP ステータスコードを確認してエラーを処理します。たとえば、401 は認証エラーを示すため、headers['Authorization'] = f'Bearer {new_key}' を指定して再試行します。CLI の場合は、「Error: Invalid route path」のような出力エラーを解析し、入力を修正します。よくある問題には API キーの不足があります。if not os.environ.get('AI_GATEWAY_API_KEY'): raise ValueError('API key required') を使って、必ず確認してください。ゲートウェイ内蔵のロガーを使用してエラーを記録します。ai-gateway-cli config --log-level debug で有効にし、レート制限超過などのパターンを監視して、コードに指数バックオフによる再試行を実装します。
具体的な使用例
-
AI リクエストをルーティングする:予測リクエストを ML モデルにルーティングするには、まず API キーをエクスポートし、次に CLI を使用します:
export AI_GATEWAY_API_KEY=abc123; ai-gateway-cli add-route --path /ml-predict --target http://model-service:8000。curl リクエストで確認します:curl -H "Authorization: Bearer abc123" http://gateway:8080/ml-predict -d '{"input": "data"}'。 -
API を保護して監視する:次のコマンドを実行してエンドポイントを保護し、トラフィックを監視します:
ai-gateway-cli secure --endpoint /chat --auth api-key --rate-limit 50/min。次に、メトリクスを照会します:ai-gateway-cli metrics --endpoint /chat。コードでは、次のように処理します: ```python import requests; headers = {'Authorization': f'Bearer {os.environ["AI_GATEWAY_API_KEY"]}'}; requests.get('http://gateway:8080/api/v1/metrics', headers=headers)
Graph Relationships
- Related to: aimlops (cluster), ai (tag), mlops (tag)
- Depends on: authentication services for security
- Used by: AI services for routing and monitoring
- Integrates with: Kubernetes for deployment, Prometheus for metrics collection