你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

发出用于使用大型语言模型令牌的指标

适用于:所有 API 管理层级

llm-emit-token-metric 策略会通过 LLM API 向 Application Insights 发送有关使用大型语言模型 (LLM) 令牌的自定义指标。

令牌计数指标依赖于模型和提供者,可以包括总令牌、提示令牌和完成令牌。 预览中,代币计数指标包括缓存、推理、思维及其他代币类别。

Note

按照策略声明中提供的顺序设置策略的元素和子元素。 详细了解如何设置或编辑 API 管理策略。

支持的模型 API

此策略适用于添加到符合以下 API 架构之一的 API 管理的 LLM API:

  • OpenAI 聊天完成或响应 API
  • Anthropic消息 API (目前在 API 管理 v2 层中受支持)
  • 谷歌顶点 AI API

自定义指标的限制

Azure Monitor 对可能影响从 API 管理发出指标能力的自定义指标实施使用限制。 例如,Azure Monitor 当前为每个指标设置 10 个维度键的限制,并为订阅中每个区域设置 50,000 个总活动时序数的限制(期限为 12 小时)。 在 API 管理中,其中 5 个用于默认维度,包括:

  • Region
  • 服务编号
  • 服务名称
  • 服务类型

这些限制对在 API 管理策略(例如 emit-metric 或 azure-openai-emit-token-metric)中配置自定义指标具有以下影响:

  • 每个策略最多可以配置 5 个自定义维度。

  • 策略生成的活跃时间序列数是每个命名空间中每个配置维度唯一值数的乘积。 例如,如果在策略中配置了三个自定义维度,并且每个维度在该期限内有 10 个可能的值,则 策略将生成 1,000 (10 x 10 x 10) 个活动时序。

  • API 管理限制每个维度为100个独立值,每个指标命名空间为1000个活跃时间序列。 当达到任一极限时,任何新的维度值或时间序列都不会被追踪,相应的度量数据也会被无声地丢弃。

  • 如果在订阅的同一区域中的多个 API 管理实例中配置 策略,则所有实例都可能导致区域活动时序限制。

详细了解 Azure Monitor 中自定义指标的设计限制和注意事项。

Prerequisites

政策声明

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

Attributes

Attribute Description Required 默认值
命名空间 字符串。 指标的命名空间。 不允许使用策略表达式。 No API Management

Elements

Element Description Required
dimension 为指标中包含的每个维度添加一个或多个此类元素。 Yes

维度属性

Attribute Description Required 默认值
name 字符串或策略表达式。 维度的名称。 Yes N/A
value 字符串或策略表达式。 维度的值。 如果 name 与一个默认维度匹配,则只能省略。 如果是这样,则按维度名称提供值。 No N/A

无需值即可使用的默认维度名称

  • API标识符
  • 操作 ID
  • 产品 ID
  • 用户 ID
  • 订阅 ID
  • Location
  • 网关 ID
  • 后端 ID

Usage

使用注意事项

  • 每个策略定义可以多次使用此策略。
  • 为该策略配置最多五个自定义维度。
  • 如果有,利用LLM API响应中使用部分的值来确定令牌指标。
  • 某些 LLM 终结点支持流式传输响应。 如果流意外中断或终止,捕获的令牌计数不准确。
  • 某些OpenAI模型,尤其是在流媒体时,默认不会在回复中包含令牌数量。 要接收令牌计数,在 API 请求中设置 include_usage 参数为 true 。

Example

以下示例将 LLM 令牌计数指标以及 API ID 作为默认维度发送到 Application Insights。

<policies>
  <inbound>
      <llm-emit-token-metric
            namespace="MyLLM">   
            <dimension name="API ID" />
        </llm-emit-token-metric> 
  </inbound>
  <outbound>
  </outbound>
</policies>

有关使用策略的详细信息,请参阅: