次の方法で共有


Azure OpenAI トークンの使用に関するメトリックを出力する

適用対象: すべての API Management レベル

azure-openai-emit-token-metric ポリシーは、Azure OpenAI Service API を介した大規模言語モデル トークンの使用に関するカスタム メトリックを Application Insights に送信します。 トークン数のメトリックには、合計トークン、プロンプト トークン、完了トークンが含まれます。

Note

ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 API Management ポリシーを設定または編集する方法について説明します。

サポートされている Azure OpenAI Service モデル

このポリシーは、次の種類の Azure OpenAI Service から API Management に追加された API で使用されます。

[API の種類] サポートされているモデル
チャット入力候補 gpt-3.5

gpt-4
完了 gpt-3.5-turbo-instruct
埋め込み text-embedding-3-large

text-embedding-3-small

text-embedding-ada-002

詳細については、「Azure OpenAI Service モデル」を参照してください。

カスタム メトリックの制限

Azure Monitor では、API Management からメトリックを出力する機能に影響を与える可能性があるカスタム メトリックに対して使用制限が課されます。 たとえば、現在 Azure Monitor では、メトリックあたりで 10 ディメンション キーの制限と、サブスクリプション内のリージョンあたりでアクティブな時系列に合計 50,000 の制限 (12 時間以内) が設定されています。

これらの制限により、API Management ポリシーでカスタム メトリック (emit-metricazure-openai-emit-token-metric など) を構成する場合に次のような影響があります。

  • ポリシーごとに最大 10 のカスタム ディメンションを構成できます。

  • 12 時間以内に ポリシーで生成されるアクティブな時系列の数は、期間中に構成された各ディメンションで一意な値の数の積です。 たとえば、ポリシーで 3 つのカスタム ディメンションが構成され、各ディメンションが期間内に 10 の使用可能な値を持つ場合、 ポリシーは 1,000 (10 x 10 x 10) のアクティブな時系列を提供します。

  • サブスクリプション内の同じリージョンにある複数の API Management インスタンスで ポリシーを構成した場合、すべてのインスタンスがリージョンのアクティブな時系列の制限に影響します。

Azure Monitor のカスタム メトリックに関する設計上の制限事項と考慮事項の詳細については、こちらを参照してください。

前提条件

ポリシー ステートメント

<azure-openai-emit-token-metric
        namespace="metric namespace" >      
        <dimension name="dimension name" value="dimension value" />
        ...additional dimensions...
</azure-openai-emit-token-metric>

属性

属性 説明 必須 規定値
namespace 文字列。 メトリックの名前空間。 ポリシー式は使用できません。 いいえ API Management

要素

要素 説明 必須
dimension メトリックに含まれるディメンションごとに、これらの要素を 1 つ以上追加します。 はい

dimension の属性

属性 説明 必須 既定値
name 文字列またはポリシー式。 ディメンションの名前。 はい 該当なし
value 文字列またはポリシー式。 ディメンションの値。 省略できるのは、name が既定のディメンションのいずれかと一致する場合のみです。 その場合、ディメンション名に従って値が指定されます。 いいえ 該当なし

値なしで使用できる既定のディメンション名

  • API ID
  • 操作 ID
  • Product ID
  • User ID
  • サブスクリプション ID
  • 場所
  • ゲートウェイ ID

使用方法

使用上の注意

  • このポリシーは、ポリシー定義ごとに複数回使用できます。
  • このポリシーには、最大 10 個のカスタム ディメンションを構成できます。
  • このポリシーは、ポータルを使用して Azure OpenAI Service から API を追加するときに、必要に応じて構成できます。
  • 使用可能な場合は、Azure OpenAI Service API からの応答の使用状況セクションの値を使用してトークン メトリックを判別します。
  • 特定の Azure OpenAI エンドポイントでは、応答のストリーミングがサポートされています。 ストリーミングを有効にするために API 要求で streamtrue に設定されている場合、トークン メトリックが推定されます。

次の例では、Azure OpenAI トークン数メトリックを API ID と共にカスタム ディメンションとして Application Insights に送信します。

<policies>
  <inbound>
      <azure-openai-emit-token-metric
            namespace="AzureOpenAI">   
            <dimension name="API ID" />
        </azure-openai-emit-token-metric> 
  </inbound>
  <outbound>
  </outbound>
</policies>

ポリシーに対する処理の詳細については、次のトピックを参照してください。