You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure APIM的azure-openai-emit-token-metric策略为何无法捕获GPT-4o流式响应令牌用量?

让Azure APIM的azure-openai-emit-token-metric策略支持GPT-4o流式响应令牌监控

结论

可以让该策略对GPT-4o的流式响应生效,但需要调整策略配置并满足几个关键前提条件。

具体调整步骤

1. 移动策略到出站阶段

当前你将azure-openai-emit-token-metric配置在入站策略中,但流式响应的令牌用量信息是在响应阶段的最后一个chunk中返回的,因此需要将该策略移至出站策略区域:

<outbound>
    <when condition="@(context.Request.Headers.GetValueOrDefault("Ocp-Apim-Subscription-Key") == "SERVICE_A_KEY")">
        <azure-openai-emit-token-metric namespace="AzureOpenAI">
            <dimension name="service" value="SERVICE_A" />
        </azure-openai-emit-token-metric>
    </when>
</outbound>

2. 确保流式请求的参数配置

必须在API请求中同时启用两个参数,APIM策略才能捕获到令牌用量:

  • 设置stream=true开启流式响应
  • 添加stream_options={"include_usage": true},让OpenAI在最后一个流式chunk中返回usage字段

3. 验证依赖环境

  • 确认Azure OpenAI资源部署的是GPT-4o的最新模型版本,旧版本可能不支持流式返回usage数据
  • 确保APIM实例使用的是高级层(Premium)或开发者层(Developer),基础层不支持该令牌监控策略

验证方法

配置完成后发起流式调用,通过Azure Monitor查看AzureOpenAI命名空间下的令牌指标,确认流式调用的消耗数据是否被记录。如果指标仍未生成,可以启用APIM的请求/响应日志,检查最后一个流式chunk是否包含usage字段,以及APIM是否正确解析该字段。

内容的提问来源于stack exchange,提问作者silenthunter25

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 23:52:43