mcpField
A
ai-gateway

ai-gateway

github.com/alphaonedevクラウド・DevOps45 回インストール
リポジトリ

ai-gateway について

ai-gateway は、ML 運用における AI サービスのトラフィックをルーティング、保護、監視するスキルです。ルールによるルーティング、エンドポイント制御、メトリクス確認に対応し、CLI、API、YAML で設定できます。

主な機能

  1. 01パスまたはヘッダールールによるリクエスト振り分け
  2. 02認証とレート制限の適用
  3. 03レイテンシとエラー指標の追跡
  4. 04YAML によるルート設定
  5. 05バックエンド間の負荷分散と自動フェイルオーバー

活用シーン

  1. 01予測リクエストを ML サービスに振り分け
  2. 02AI エンドポイントを保護してリクエスト頻度を制限
  3. 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
  • コードスニペット:

    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 で有効にし、レート制限超過などのパターンを監視して、コードに指数バックオフによる再試行を実装します。

具体的な使用例

  1. 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"}'。

  2. 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

コメント