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

如何在流式模式下获取OpenAI ChatCompletion API调用的Token使用量?

流式调用OpenAI API时获取Token使用量的方法

当开启stream=True时,OpenAI的API分块响应里确实不会包含usage字段——因为token统计需要在整个对话生成完成后才能计算。你可以通过以下两种方式获取:

  • 本地估算(实时、近似值)
    使用OpenAI官方提供的tiktoken库手动计算token数:

    1. 安装库:pip install tiktoken
    2. 参考代码示例:
      import tiktoken
      import openai
      
      # 匹配目标模型的编码规则
      encoding = tiktoken.encoding_for_model("gpt-3.5-turbo")
      # 计算prompt的token数量
      prompt_content = "你的提问内容"
      prompt_tokens = len(encoding.encode(prompt_content))
      # 流式响应时累加返回内容的token数
      completion_tokens = 0
      for chunk in openai.ChatCompletion.create(
          model="gpt-3.5-turbo",
          messages=[{"role": "user", "content": prompt_content}],
          stream=True
      ):
          if 'content' in chunk['choices'][0]['delta']:
              content = chunk['choices'][0]['delta']['content']
              completion_tokens += len(encoding.encode(content))
      # 计算总token消耗
      total_tokens = prompt_tokens + completion_tokens
      

    注意:这种方式是近似值,和官方API统计的token数可能存在微小差异。

  • 官方平台用量面板(精准、批量统计)
    登录OpenAI平台后,在用量面板中按时间范围、模型类型筛选,查看对应时段的token消耗数据。这种方式能得到精准的官方统计值,但无法实时关联单条流式调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 11:02:06