一个 AI 服务准备推出付费套餐:每月收取 20 美元平台费,包含十万 Token,超出部分每 Token 收取 0.00001 美元。客户可以升级套餐,运营可以额外赠送额度,企业客户还可以预付一笔余额。产品页面上,这些规则只占几行字。到了实现中,却会出现一连串需要分别回答的问题:赠送的额度月底是否清零;额度耗尽后是否继续放行;套餐升级从今天还是下个月生效;已经出账的费用能否跟着新价格重算。
OpenMeter 用客户、计量器、产品目录、订阅、权益、费用、账单和账务记录来承载这些规则。本文沿着这个 AI 服务展开,重点介绍各个概念为什么存在、源码怎样表达它们,以及相邻模型如何协作。