告别 Token 计量的混乱:AI 网关如何通过 Credits 统一度量实现跨模型配额管理?

作者:张文浩(魰浩)

大模型调用的度量为什么难

如果说传统 API 网关管的是"流量红绿灯",那 AI 网关多了一层职责------给每一次调用打上可度量的刻度

大模型和普通 API 最大的不同,是每一次调用消耗的资源都不一样:一次问答动辄几千上万 Token,输入、输出、缓存三档消耗差异很大,不同模型之间也缺乏统一的可比口径。业务方跑一段时间下来,最常问的三个问题是:

  1. 这段时间一共消耗了多少?

  2. 这些消耗是哪个业务/哪个消费者产生的?

  3. 能不能给某个消费者定个"周期用量上限",超了就直接拦下来?

Token 是可度量的最小单位,但直接暴露给业务方并不友好------不同模型、不同档位的 Token 权重完全不同,光看 Token 数看不出资源占用的差异。AI 网关 Credits 计量能力要解决的,就是引入一个跨模型、跨供应商可横向对比的统一度量刻度------Credits,并围绕它把"归属"和"约束"两件事补齐。

本次上线的三部分能力

能力 解决什么问题
模型元信息管理 维护实例内模型清单及其 Credits 单价、能力、Token 上限等规格信息,便于在 Model API 和路由中快速选择模型名称,并按模型统计 Credits 消耗。
供应商管理 让每个服务与模型都能明确挂到一个供应商名下,按供应商维度管理和查看资源。
Credits 维度配额 让配额规则从"Token"维度进化到"Credits"维度

下面一块块拆开讲。

模型元信息:给每个模型建一张"规格档案"

3.1 它是什么

在此之前,一个模型对 AI 网关来说只是一个字符串(比如 qwen-max、gpt-4o)。要做 Credits 计量的时候,网关根本不知道这个字符串对应的输入、输出、缓存单价分别是多少。

AI 网关新增了一类资源------模型元信息(Model Metadata),简单说就是给每个模型建了一张"规格档案"。

一张档案上有:

  • 基础信息: 模型名称、绑定的供应商;
  • Credits 信息(重点): 输入 / 输出 / 缓存三档 Credits / 1M tokens 单价;
  • 能力与性能: 最大输入 Token、总 Token 上限、支持哪些模态(文本/图片/音频/视频)、是否支持函数调用、流式输出、推理模式......等能力开关;
  • 可用路径: 这个模型走 /v1/chat/completions 还是别的路径,OpenAI 兼容还是 Anthropic 兼容。

3.2 举个具体的例子

假设你在网关里维护了一条模型元信息:

arduino 复制代码
名称:qwen-max
供应商:阿里云百炼
输入 Token 消耗:8   Credits / 1M tokens
输出 Token 消耗:24  Credits / 1M tokens
缓存 Token 消耗:2   Credits / 1M tokens

现在有一次调用,用掉了 100 万输入 Token、20 万输出 Token、5 万缓存 Token,网关会在请求发生的那一刻这样算:

ini 复制代码
输入 Credits = 100 万 / 100 万 × 8  = 8    credits
输出 Credits = 20  万 / 100 万 × 24 = 4.8  credits
缓存 Credits = 5   万 / 100 万 × 2  = 0.1  credits
────────────────────────────────
本次总消耗                 ≈ 12.9 credits

供应商资源:从"标签"进化成"归属维度"

4.1 之前为什么不够用

在之前版本的 AI 网关里,服务的高级设置里有一个"大模型供应商"字段,本质是一个协议模版(openai 兼容 / anthropic 兼容)------ 它只告诉网关"用什么协议对接",并不代表"这次调用的用量归口到哪个供应商"。

举个反例:你可以有两个"OpenAI 兼容"的服务,一个真是走 OpenAI,一个走 DeepSeek。它们的协议一样,但属于两家不同的供应商。老字段区分不出来。

4.2 新能力:独立供应商资源

现在 AI 网关把"供应商"独立成了实例内的资源对象,同时给原有字段改了名,避免混淆:

概念 新名字 用途
原"大模型供应商"字段 改名为供应商配置模版 只描述对接协议
新增的资源 供应商(Provider) 承载用量归属维度

两个概念完全解耦,互不筛选、互不继承。这样一来:

  • 一个供应商可以关联多个服务(1 : N);
  • 一个服务在同一时刻只能归属一个供应商(避免统计口径打架);
  • 服务与供应商之间形成了明确的绑定关系,方便管理员按供应商维度管理和查看资源。

配额单位扩展:从"卡 Token"到"卡 Credits"

这是最核心的能力升级。

5.1 一句话理解它的价值

老规则:给消费者 A 定"每天 1000 万 Token"------但 A 用的是轻量模型还是大模型?消耗强度差异说不清。

新规则 :给消费者 A 定"每天 500 credits"------直接约束的是统一度量刻度,轻量模型能多跑几次,大模型自然次数就少。

5.2 创建配额规则的 UI 变化

在原有创建流程的基础上,新增「限额单位」选择,支持配置 Credits 维度的配额:

字段 类型 说明
规则名称 文本 沿用
限额单位 单选token/credits,默认token 新增
限额值 数值,后缀随单位联动展示Tokens/credits 沿用
周期类型 单选 + 参数(自然日/周/月 或 自定义 1~60 天) 沿用
时区 下拉,默认 UTC+8 沿用

把三块能力串起来看:一次真实的调用会发生什么

以一个具体场景走一遍闭环:

背景:消费者内部推理平台每月配额 = 10000 credits(自然月 + credits)。

网关内已配置好:

  • 供应商阿里云百炼;
  • 模型元信息 qwen-max(绑定阿里云百炼,输入 8 / 输出 24 / 缓存 2 credits per 1M tokens);
  • 服务 qwen-service(关联到阿里云百炼这个供应商)。

第 1 步 · 请求到达。 消费者带着 API Key 打过来,网关识别出他是"内部推理平台",本月已消耗 9987 credits。

第 2 步 · 前置校验。 本次请求还没执行,配额剩余 13 credits,够不够?先放行。

第 3 步 · 上游返回。 调用 qwen-max 消耗了 5 万输入、10 万输出、2 万缓存 Token。

第 4 步 · 请求时刻折算

ini 复制代码
input  =  5 万 / 100 万 × 8  = 0.4  credits
output = 10 万 / 100 万 × 24 = 2.4  credits
cache  =  2 万 / 100 万 × 2  = 0.04 credits
────────────────────────
共计约 2.84 credits

第 5 步 · 配额扣减。 消费者内部推理平台本月累计消耗更新为 9989.84 credits,剩余 10.16 credits。

第 6 步 · 下一次请求。 再来一次预估 20 credits 的调用------剩余 10.16 不够扣,网关直接返回 429,一次超额都不允许。

能力速览

关注点 AI 网关给出的答案
一次调用消耗多少 Credits? 请求时刻按模型元信息里的 Credits 单价实时折算
服务归属哪家供应商? 服务与供应商之间建立明确绑定关系,一个供应商可关联多个服务
消费者用量如何约束? 配额规则支持 Token / Credits 双单位,管理员可灵活选择

Credits 计量与配额能力已上线,欢迎体验并在评论区留下你的用量治理需求与反馈。

相关推荐
laoli_coding1 小时前
系统部署之框架选型方案
微服务·云原生·架构
蜀道山老天师4 小时前
一文吃透 K8s:Deployment 滚动更新与版本回滚
云原生·容器·kubernetes
hhb_6185 小时前
云原生AI工作流分布式调度实战
人工智能·云原生
阿里云云原生5 小时前
明文不扩散,日志仍可用:阿里云可观测敏感数据保护方案
云原生
J_yyy5 小时前
【关于微服务的深入理解】
微服务·云原生·架构
梦想的颜色5 小时前
【Docker 原理】Docker 数据持久化完全指南:三种挂载原理、数据卷实操、数据库落地实战
docker·云原生·数据持久化·volume·数据卷·容器挂载
@insist1238 小时前
系统规划与管理师-云原生系统建设规划与实践案例
云原生·软考·系统规划与管理师·软件水平考试·系统规划与管理工程师
腾讯数据架构师8 小时前
CubeStudio 平台简介:国产化云原生一站式开源人工智能平台(MLOps / 大模型全链路)
人工智能·云原生·开源·mlops·国产·maas·机器学习平台
Aipollo9 小时前
云原生项目从0到1:实践指南与核心步骤
云原生
@insist12310 小时前
系统规划与管理师-云原生系统规划核心考点解析
云原生·系统规划与管理师·软件水平考试·系统规划与管理工程师