[控场AI]
· 7 分钟阅读· 3,685 字

LLM API 调用成本指南:开发者如何控制 AI 账单

LLM API 调用成本指南:开发者如何控制 AI 账单

通过测算每次请求的输入输出 token,选对模型并用缓存、批量与级联把 LLM API 成本压到最低。

文章指出,训练前沿大模型对多数团队并不现实,真正该算的是 API 调用成本。主流厂商按每百万 token 计费,输出单价通常是输入的 3–5 倍,最贵与最便宜模型之间价差可达约 4000 倍,因此模型选型本身就是最大的成本杠杆。作者给出核心计费公式与一段可直接套用的 Python 脚本,并以每月 10 万次自然语言搜索为例,展示不同模型的月成本从不足 3 美元到 180 美元不等。文章还列举了五个可落地的降本手段:按任务匹配模型、精简提示词、缓存可复用上下文、批量化非实时任务以及模型级联。最后提醒,开源模型并非真正免费,在中等调用量下托管 API 往往更划算。

训练一个前沿大模型的成本动辄数千万甚至上亿美元,这对绝大多数团队来说根本不现实,也没必要。真正需要算清楚的账是:按自己的流量规模,通过 API 调用模型到底要花多少钱?

LLM API 定价开发者指南

本文给出一套可直接套用的估算方法、一份参考价格表,以及一段能跑在自己数据上的 Python 脚本。

LLM API 计费的基本逻辑

主流厂商几乎都按 token 计费,且以「每百万 token」为单位报价。理解以下几个维度,是控制成本的前提:

  • 输入 token:系统提示词、用户消息、检索到的上下文、对话历史。
  • 输出 token:模型生成的内容,单价通常是输入的 3–5 倍。
  • 上下文长度:部分模型对超长上下文请求按更高单价计费。
  • 提示缓存(Prompt Caching):被重复使用的前缀(系统提示、商品目录、风格指南)可享受大幅折扣。
  • 批量 API(Batch API):非紧急任务通常能拿到约五折的价格。

核心公式可以写成:

monthly_cost = requests_per_month × (
    avg_input_tokens  / 1_000_000 × input_price +
    avg_output_tokens / 1_000_000 × output_price
)

把这个公式落到具体数字上,就能快速判断某个功能是否在预算之内。

Token 是什么:Token 是模型处理文本的最小单位,并非严格等于「一个字」或「一个单词」。英文中约 1 token ≈ 4 个字符(约 0.75 个单词),中文因分词方式不同,通常 1 个汉字会占 1 个以上 token。这意味着同一段内容,中英文的计费口径并不一致,做预算时最好用厂商提供的 tokenizer 实测,而不是按字数粗估。

为什么按 token 而不是按调用次数计费:模型的算力开销与序列长度近似呈二次关系(注意力机制),输入越长、推理越贵。按 token 计费能让价格反映真实算力消耗,也解释了为什么长上下文、长输出会被收取更高费用。理解这一点,就能明白「精简提示词」和「限制输出长度」为什么是最直接的省钱手段。

参考价格:最贵与最便宜相差约 4000 倍

以下是撰写时的近似标价(每百万 token,美元)。实际预算前请务必核对厂商最新定价页。

模型输入输出
Amazon Nova Micro$0.035$0.14
GPT-4o Mini$0.15$0.60
DeepSeek广告-V3.2$0.28$0.42
Claude Haiku 4.5$1.00$5.00
Claude Sonnet 5.5$2.00$10.00
Claude Opus 5.5$4.00$20.00
o1 Pro$150$600

最便宜与最贵两档之间存在约 4000 倍的价差。这意味着,选型本身就是你手上最大的成本杠杆——一个错误的模型选择,可能让账单相差三个数量级,远超任何提示词优化带来的收益。

提示缓存(Prompt Caching)与批量 API 的定价机制:提示缓存允许厂商把多次请求中重复的前缀(如固定的系统提示、商品目录)预先计算并缓存,后续请求命中缓存的部分通常只需支付原价的 10% 左右,甚至更低。它之所以便宜,是因为这部分内容的注意力计算可以复用。批量 API 则把非紧急请求排队、在算力空闲时段集中处理,因此能拿到约五折价格——代价是延迟从秒级拉长到小时级。两者并不冲突,可叠加使用。

一段小脚本:把成本跑出来

与其凭感觉估算,不如直接用脚本对号入座:

PRICES = {  # 美元 / 每百万 token: (输入, 输出)
    "nova-micro": (0.035, 0.14),
    "gpt-4o-mini": (0.15, 0.60),
    "haiku-4.5": (1.00, 5.00),
    "sonnet-5.5": (2.00, 10.00),
}

def monthly_cost(model, requests, in_tokens, out_tokens):
    p_in, p_out = PRICES[model]
    return requests * (in_tokens * p_in + out_tokens * p_out) / 1_000_000

# 自然语言搜索:每月 10 万次查询,约 400 输入 / 100 输出
for m in PRICES:
    print(f"{m:12s} ${monthly_cost(m, 100_000, 400, 100):,.2f}/month")

以「每月 10 万次自然语言搜索、约 400 输入 token 与 100 输出 token」为例,脚本输出如下:

nova-micro   $2.80/month
gpt-4o-mini  $12.00/month
haiku-4.5    $90.00/month
sonnet-5.5   $180.00/month

同一份工作量,模型选择带来的是 60 倍以上的价差。这不是理论推演,而是可以直接替换到自己业务数字里的判断依据。

两个真实场景的账单

场景一:电商平台商品自动分类

每天新增 1 万条商品,每条约 200 输入 token(标题 + 描述 + 类目列表)和 30 输出 token。使用 Claude Haiku 4.5:

  • 输入:每天 200 万 token → $2.00
  • 输出:每天 30 万 token → $1.50
  • 合计约 $3.50/天,约 $105/月

如果把类目体系放进提示缓存的前缀里,输入侧的成本会显著下降。这类「有明确分类边界」的任务,其实往往用更便宜的模型就能达到质量要求。

场景二:自然语言搜索

每月 10 万次搜索、约 400 输入 / 100 输出:Haiku 约 $90/月,Sonnet 约 $180/月;如果质量可用,Nova Micro 能做到 每月不到 $3。

同一功能在不同模型上的成本差异,几乎决定了这个功能能否规模化上线。

五种切实可行的降本手段

  1. 按任务规模匹配模型。分类、抽取、路由这类任务,很少需要前沿模型。
  2. 精简提示词。冗长的系统提示会在每一次调用中被计费,长期看是一笔可观的开支。
  3. 缓存可复用上下文。商品目录、政策文件、风格指南都适合放进缓存前缀。
  4. 把非实时任务批量化。夜间富化、离线分析这类任务不需要低延迟,批量 API 能省约一半。
  5. 模型级联(Cascade)。让便宜模型处理简单的 80%,只把低置信度的个案升级给更强的模型。

这五条的共同点是:它们优化的是调用结构,而不是牺牲效果。真正的浪费往往来自「用最强模型做最简单的事」。

模型级联(Cascade)的工作方式:级联的核心是让不同价位的模型分工。先用便宜模型处理全部请求,并让它输出一个置信度或结构化标记;只有低于阈值的「疑难个案」才转发给更强的模型。这样,80% 的简单请求由廉价模型解决,仅少数请求承担高单价。级联的收益取决于阈值设置:阈值太松会漏掉质量问题,太紧则会把大量请求推给贵模型、失去意义。实践中常配合小样本评测来校准阈值,是性价比最高但也最需要调优的一种策略。

开源模型真的「免费」吗?

Llama、Mistral 这类开源模型没有按 token 计费的成本,但你要为此付出 GPU、托管、监控和工程时间。在达到相当高的调用量之前,托管 API 的全包成本通常更低。

换句话说,「免费」只是把账单从 API 账目转移到了基础设施和人力账目上。只有当调用量足够大、且团队具备相应的运维能力时,自托管才在总成本上占优。

写在最后

控制 LLM 成本的方法可以浓缩成一个动作:测算每次请求的平均输入/输出 token,乘以调用量,然后从最便宜且能满足质量要求的模型开始试。

如果你的 AI 账单增速已经超过用量增速,往往说明模型选型、缓存或路由策略存在优化空间,值得单独审视一遍。

#LLM API 定价#大模型调用成本#token 计费#AI 成本优化#模型选型#提示缓存#LLM 成本估算
分享:

相关推荐