LLM 用量成本分析器

把服务商允许导出的用量文件拖进来——控制台导出的 CSV,或用量 API 返回的 JSON——就能得到原始导出埋藏的答案:每个模型花了多少钱、哪几天出现尖峰、输入中有多少被缓存、哪些模型根本无法定价。一切都在你的浏览器本地解析,文件never uploaded(绝不上传),因为一份用量文件就是一张地图,画着你运行了什么、运行得多频繁、花了多少钱。

最后更新:

文件在本页本地解析,不会上传、传输或存储任何内容。

这个分析器读取什么

服务商以两种形式提供用量数据,本页两种都读。第一种是服务商控制台的 CSV 导出——每行代表一天、一个模型或一个 API 密钥,列包括输入 token、输出 token、缓存 token、请求数,有时还有成本。第二种是 OpenAI 用量 API 的 JSON:一个带 data 数组的对象,数组中是时间桶,每个桶含按模型汇总的结果,使用该 API 返回的 n_ 前缀 token 计数字段。不同服务商的列名不同,控制台版本之间也会变,因此解析器不要求固定布局:它会规范化每个表头,与 OpenAI、Anthropic 和通用导出实际使用的名称匹配,并在计算之前把映射结果展示给你。

映射这一步是刻意设计的。自动检测能正确处理常见导出,但改过名的列或服务商特有的额外字段,可能悄悄把输出 token 放到输入 token 的位置——基于交换列构建的成本报告看起来合理,却是错的。结果上方的选择器准确显示每一列喂给哪个字段,已预设为检测到的映射,你可以纠正任何一个并重新运行。日期无法读取、或输入/输出值不是数字的行会被跳过并在结果中计数,而不是猜测:一个较小但诚实的总数,胜过一个较大但编造的总数,跳过计数会告诉你文件有多少没能通过。

成本如何计算——以及该看什么

当文件自带成本列时,直接使用这些数字:那是服务商实际收取的费用,任何重算都不会比账单更准。当没有成本列时,每行都用本站自己的 LLM pricing(LLM 价格)表定价——与 cost calculator(成本计算器)背后相同的已核对费率——使用服务商的公式:未缓存输入按输入费率,缓存输入按缓存费率(模型提供时),输出按输出费率。模型按精确 API id 或显示名称匹配,允许带服务商前缀和末尾日期或 “latest” 后缀——除此之外不做更宽松的匹配。结果横幅会说明钱来自哪里:文件、计算、混合或无,让你始终知道自己读的是账单还是估算。

在价格表中匹配不到任何条目的模型会被列为未定价,绝不猜测。这比听起来更重要:用量文件里经常有微调模型、预览 id、已弃用的快照和第三方部署,它们的真实价格取决于合同,为它们编造费率会污染每个被诚实定价模型的总数。未定价模型仍将其 token 和请求计数贡献给总数,并以自己的流量出现在单独列表中,让你准确看到估算未覆盖的范围有多大——如果那部分很大,你可以自行定价。

任何用量文件里都有三个值得找的模式,本页的按模型和按日表格正是为暴露它们而设计。一个在重复提示词工作负载上接近零的缓存 token 比例,意味着提示缓存未开启、配置错误,或被不断变化的前缀破坏——这往往是最便宜的修复。在请求数持平而模型组合漂向昂贵层级——旗舰模型在回答小模型同样能处理的问题——会表现为一个模型的成本份额上升。而失控的密钥或循环会出现在按日表格中,成为一个尖峰,常在周末或夜间,请求数远高于周围日期。配套指南 how to analyze your LLM usage file(如何分析你的 LLM 用量文件)逐一讲解每种模式及应对方法。

本页展示的五个事实

按模型计的成本每个模型的请求数、输入、输出和缓存 token,以及成本和占总数的份额——按文件中出现的原始模型名称分组。
按日计的成本按日历日汇总的相同总数,按日期排序,使尖峰、周末循环和平静期一目了然。
缓存占比缓存输入 token 占总输入的比例——这个比率告诉你提示缓存在你的流量上是否真的起作用。
成本来源金额数字来自文件本身、由价格表计算、两者混合,还是根本无法产生。
未定价模型在价格表中无匹配的模型,列出其流量而不是编造价格,使估算缺口明确可见。

常见问题

从哪里获取可分析的用量文件?

从服务商的控制台或 API。OpenAI 在控制台用量页和用量 API 中提供用量数据,本页可直接读取其 JSON;Anthropic 在控制台和 API 报告中提供用量与成本,可导出为 CSV。任何带日期列、模型列和输入/输出 token 列的 CSV 都可在这里使用,不限服务商,因为列映射由表头检测,并可手动纠正。

我的用量文件会被上传到哪里吗?

不会。文件在本页、你的浏览器中读取和解析;不会上传、传输或存储,关闭标签页即将其移除。这是有意为之:用量导出列出你调用的每个模型、按日的流量和支出——这类运维数据没有理由放在陌生人的服务器或聊天记录里。估算所用的价格表是嵌入页面本身的公开数据。

为什么我的总数与服务商账单不同?

有几个诚实的原因。如果文件没有成本列,总数是按标价估算的:它看不到协商折扣、额度、批处理或非高峰费率、免费层配额或分层长上下文定价,被跳过的行也不在其中。如果文件自带成本,先检查跳过行数和日期范围——导出被截断是总数偏低的最常见原因。把计算出的总数当作钱花在哪里的大致指南,而不是账单对账。

模型的 “未定价” 是什么意思?

意味着文件中的模型名称在本站价格表中匹配不到任何条目——不是精确 id,不是去掉服务商前缀后,也不是剥离日期或 “latest” 后缀后。微调、预览和已弃用快照,以及价格表未覆盖服务商的模型,都会落在这里。它们的 token 和请求仍计入总数;只有成本留空而非编造,并单独列出让你看到缺口大小。

文件没有成本列时,成本如何计算?

逐行计算:(输入 − 缓存)× 模型输入费率,加上缓存 × 其缓存输入费率(模型无缓存折扣时用输入费率),再加上输出 × 输出费率,全部除以一百万,使用 LLM 价格页上的费率。那些费率是已对照官方服务商页面核对的标准标价;定时或分层变体在价格页上有注记,但这里不建模,这也是计算总数只是估算的原因之一。