API Management ServiceでBackground modeで実行されたResponses APIの利用量を記録する方法

SS 5 評価のポイント
2025-12-09T08:57:54.39+00:00

Azure OpenAI Service (Microsoft Foundry)をAPI management serviceの後段に配置して利用しています。このとき、API management serviceに対してLog Analytics + Application insightsを設定して、LLM Gatewayの機能によってログを自動でLog Analytics Workspaceに記録されるようにしています。トークン数のカウントも出来ますし、ResponseMessagesを読むことでToolの実行回数のカウントも可能となるため、チャージバック等に活かすことができます。

以前までの同期的なLLMの利用ならこれで問題無かったのですが、最近は推論モデルが長考しますし、あるいはTool Callingが前提となるためにタイムアウトすることが増えてきました。そこでBackgroundジョブを実行する機会が増えてきました。

ところが、この場合にはトークン数がPOSTしたリクエストのResponseに記載されていないため、トークン数の記録が不可能になります。

Background modeで実行されたResponses APIについてのトークン数や、最近プレビューで登場したWeb Searchの回数を記録をするための何かいいアイディアは無いでしょうか?

Azure API Management
Azure API Management
API のハイブリッド マルチクラウド管理プラットフォームを提供する Azure サービス。
{count} 件の投票

1 件の回答

並べ替え方法: 最も役に立つ
  1. Rakesh Mishra 3,955 評価のポイント Microsoft 外部スタッフ モデレーター
    2025-12-09T10:10:19.9+00:00

    こんにちは @Anonymous

    マイクロソフトQ&Aプラットフォームへようこそ!ここで質問してくださりありがとうございます。

    ぜひ下の内容を試してみて、あなたの発見を共有してください。

    1. トークン発行メトリクスポリシー: Emit Token Metric Azure API Management内でこのポリシーを利用して、Azure OpenAIサービス専用のトークン消費を追跡できます。このポリシーにより、総トークン(プロンプトトークンや完了トークンを含む)に関連する指標をアプリケーションインサイトにカスタムメトリクスとして送信できます。これは監視やチャージバックの目的で有益です。
      • 実装方法: Emit Token Metric API管理サービスでポリシーを設定し、処理される各リクエストごとに自動的にトークンメトリックを記録できます。
              <policies>
                <inbound>
                  <azure-openai-emit-token-metric namespace="AzureOpenAI">
                    <dimension name="API ID" />
                  </azure-openai-emit-token-metric>
                </inbound>
              </policies>
        
    2. Event Hubsによるカスタムログ:より詳細なログ作成を求めるなら、API Managementを設定してAzure Event Hubsにログを送信できます。これにより、バックグラウンドモードが使用されている場合を含む、リクエストおよびレスポンスの詳細全体を記録できます。
      • 実装方法:ポリシーを使って log-to-eventhub イベントハブにリクエストやレスポンスの詳細を送信できます。そこから、トークン数やその他の指標を監視するための集約ソリューションを実装できます。
      • ドキュメント:イベントハブへのイベントログの方法の詳細については、log-to-eventhubポリシードキュメントを参照してください
    3. Application Insightsによるモニタリング:すでにApplication Insightsを使用しているため、記録されるテレメトリデータをカスタマイズできます。APIレスポンスにカスタムイベントや指標を埋め込むことで、追加データを追跡できます。
      • 実装方法:Application Insights SDKを使用して、API呼び出し時に記録された必要なトークンメトリクスと応答数を反映したカスタムイベントを送信します。
      • ドキュメント:API管理とApplication Insightsの統合方法は こちらをご覧ください。
    0 件のコメント コメントはありません

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。