小王是个创业者,用AI做了个客服机器人。
第一个月,用户反馈很好,他很高兴。第二个月,收到API账单——$3000。
他傻眼了:“怎么这么贵?我这1000个用户,每人就聊了几分钟啊?”
问题出在哪?他用的是GPT-4,每次对话塞进去整个知识库文档,输出也很长。同样功能,换成GPT-4o-mini+Prompt Caching,成本可能只要$50。
这篇文章教你算清大模型成本,以及如何把钱省下来。
本文要点
- Token计费的两个维度:输入与输出
- 实际成本计算公式和真实案例
- 开源vs闭源的真实成本对比
- 六个实用省钱技巧
- 什么时候该自部署
一、Token计费:输入和输出不一样贵
1.1 计费的两个维度
大模型按Token计费,但输入和输出价格不同。
输入Token(Input Tokens):- 你发给模型的内容- 包括:系统提示词、用户问题、上下文、示例等- 价格:较便宜
输出Token(Output Tokens):- 模型生成的回复- 价格:通常是输入的2-5倍为什么输出更贵?
输入只需要”编码”一次,输出需要逐个Token”生成”——每生成一个Token都要跑一遍模型的前向传播。所以输出成本更高。
1.2 各模型价格对比(2026年2月参考)
| 模型 | 输入价格 | 输出价格 | 输出/输入比 | 特点 |
|---|---|---|---|---|
| GPT-4o | $2.5 | $10 | 4倍 | 旗舰多模态 |
| GPT-4o-mini | $0.15 | $0.6 | 4倍 | 性价比之选 |
| Claude 3.5 Sonnet | $3 | $15 | 5倍 | 代码能力强 |
| Claude 3.5 Haiku | $0.8 | $4 | 5倍 | 快速轻量 |
| DeepSeek V3 | $0.14 | $0.28 | 2倍 | 国产性价比王 |
| DeepSeek R1 | $0.55 | $2.19 | 4倍 | 推理增强 |
| o3-mini | $1.1 | $4.4 | 4倍 | 推理性价比 |
注意:价格会变动,以上仅供参考。DeepSeek的输出/输入比更低,性价比突出。
1.3 Token数量估算
中文字估算:- 1个中文字 ≈ 1-2个Token- 1000字中文 ≈ 1500个Token
英文估算:- 1个英文单词 ≈ 1-1.3个Token- 1000英文单词 ≈ 1300个Token
代码更不规则:- 简洁代码:Token较少- 注释多:Token翻倍- 复杂表达式:Token爆炸快速估算工具:
二、成本计算实战
2.1 案例1:智能客服
场景:
- 日均对话:10,000次
- 平均输入:1000 Token(含上下文)
- 平均输出:500 Token
- 使用GPT-4o
计算:
每日输入Token:1000 × 10,000 = 1000万每日输出Token:500 × 10,000 = 500万
每日成本:- 输入:10 × $2.5 = $25- 输出:5 × $10 = $50- 合计:$75/天 = $2250/月优化方案对比:
| 方案 | 月成本 | 节省 |
|---|---|---|
| GPT-4o | $2250 | 基准 |
| GPT-4o-mini | $135 | 94% |
| DeepSeek V3 | $42 | 98% |
换GPT-4o-mini的计算:
输入:10 × $0.15 = $1.5输出:5 × $0.6 = $3合计:$4.5/天 = $135/月
节省:$2115/月(94%)2.2 案例2:RAG知识库问答
场景:
- 每次检索5000 Token文档 + 200 Token问题
- 输出500 Token
- 日均查询5000次
- 使用Claude 3.5 Sonnet
计算:
每日输入:5200 × 5000 = 2600万每日输出:500 × 5000 = 250万
每日成本:- 输入:26 × $3 = $78- 输出:2.5 × $15 = $37.5- 合计:$115.5/天 = $3465/月优化方案:
方案1:使用Prompt Caching
Claude支持缓存:- 文档部分可缓存(5分钟有效期)- 重复查询只计新增部分- 缓存命中后输入成本降低90%
假设60%命中:- 原输入成本:$78- 缓存后:$78 × 0.4 + $78 × 0.6 × 0.1 = $36.72- 节省:$41.28/天 = $1238/月方案2:换成DeepSeek V3
输入:26 × $0.14 = $3.64输出:2.5 × $0.28 = $0.7合计:$4.34/天 = $130/月
节省:$3335/月(96%)2.3 案例3:代码补全服务
场景:
- 日均代码补全请求:50,000次
- 平均输入:300 Token(代码上下文)
- 平均输出:100 Token(补全代码)
- 使用GPT-4o
计算:
每日输入:300 × 50,000 = 1500万每日输出:100 × 50,000 = 500万
每日成本:- 输入:15 × $2.5 = $37.5- 输出:5 × $10 = $50- 合计:$87.5/天 = $2625/月优化方案:
换成DeepSeek V3:
输入:15 × $0.14 = $2.1输出:5 × $0.28 = $1.4合计:$3.5/天 = $105/月
节省:$2520/月(96%)三、开源vs闭源:真实成本对比
3.1 别被”免费”骗了
开源模型”免费”,但部署要花钱。
闭源API成本 = API调用费
开源自部署成本 = GPU租赁费 + 运维人力 + 电费 + 带宽费3.2 盈亏平衡点分析
场景:月调用1亿Token
| 方案 | 月成本 | 说明 |
|---|---|---|
| DeepSeek V3 API | ~$20 | 纯API费用 |
| 自部署LLaMA 3.1 70B | ~$4000+ | GPU+运维 |
结论:调用量小时,闭源API更划算。
3.3 什么时候自部署划算?
3.4 自部署硬件成本参考
| 模型 | 显存需求 | 推荐配置 | 月成本估算 |
|---|---|---|---|
| 7B (INT4) | 4-6GB | RTX 4090 | $300-500 |
| 7B (FP16) | 14-16GB | A100-40G | $800-1200 |
| 14B (INT4) | 8-10GB | A100-40G | $800-1500 |
| 70B (INT4) | 35-40GB | 2×A100-80G | $3000-5000 |
| 70B (FP16) | 140GB+ | 4-8×A100 | $8000-15000 |
省钱技巧:用量化(INT4/INT8)可以降低50%显存需求,性能损失通常<3%。
四、六个省钱技巧
4.1 技巧1:选对模型
4.2 技巧2:精简输入
冗余输入(浪费Token):"请帮我分析一下这篇文章的主要内容,用简洁的语言总结,不要太长,大概100字左右,要抓住重点..."
精简输入(意思一样,Token少很多):"用100字总结这篇文章的主要内容"
对比:- 冗余版本:约80个Token- 精简版本:约15个Token- 节省:80%+4.3 技巧3:使用Prompt Caching
Claude和OpenAI都支持缓存:
原理:- 相同的系统提示词、文档等可以缓存- 后续请求只计算新增部分- 节省60-90%输入成本
Claude缓存规则:- 最小缓存:1024 Token- 缓存有效期:5分钟- 缓存写入费用:$3.75/百万Token- 缓存命中费用:$0.30/百万Token(节省90%)
适用场景:RAG(重复检索相同文档)固定系统提示词多轮对话中的上下文Few-shot示例
示例代码:import anthropic
client = anthropic.Anthropic()
# 使用Prompt Cachingmessage = client.messages.create( model="claude-3-5-sonnet-20241022", max_tokens=1024, messages=[ { "role": "user", "content": [ { "type": "document", "source": { "type": "text", "media_type": "text/plain", "data": large_document # 这个会被缓存 }, "caching": {"type": "ephemeral"} # 启用缓存 }, { "type": "text", "text": "请总结上面的文档" } ] } ])4.4 技巧4:控制输出长度
不需要长回复时,明确指定:
"用一句话回答""用3个要点回答""输出JSON格式,不要解释""答案不超过50字"
效果:- 减少输出Token- 输出更精准- 成本降低30-50%4.5 技巧5:批量处理
实时调用 vs 批处理:
实时调用:- 每次单独请求- 响应快- 成本高
批处理:- 一次处理多个- 响应慢(几小时内)- 成本低50%
OpenAI Batch API:- 价格:实时调用的50%- 适用场景: 批量翻译 批量分类 批量摘要 数据处理# OpenAI Batch API示例from openai import OpenAI
client = OpenAI()
# 创建批处理任务batch = client.batches.create( input_file_id="file-xxx", # 上传的JSONL文件 endpoint="/v1/chat/completions", completion_window="24h")
# 查询状态status = client.batches.retrieve(batch.id)print(status.status) # validating, in_progress, completed4.6 技巧6:缓存常见问题
五、部署模式选择
5.1 四种模式对比
| 模式 | 成本 | 隐私 | 复杂度 | 适用场景 |
|---|---|---|---|---|
| API调用 | 按量付费 | 数据外传 | 低 | 快速验证、中小规模 |
| 私有云部署 | 固定+运维 | 数据私有 | 高 | 金融、医疗、政务 |
| 混合部署 | 中等 | 部分私有 | 中 | 企业应用 |
| 边缘部署 | 硬件成本 | 完全私有 | 高 | 移动端、IoT |
5.2 私有化部署框架推荐
| 框架 | 特点 | 适合场景 |
|---|---|---|
| vLLM | 高吞吐、PagedAttention | 高并发API服务 |
| llama.cpp | CPU友好、轻量 | 边缘设备、低资源 |
| Ollama | 一键部署、简单 | 个人开发、快速体验 |
| TensorRT-LLM | NVIDIA优化、极致性能 | 追求性能的生产环境 |
| TGI (Text Generation Inference) | HuggingFace出品 | 生产级部署 |
可视化图解
5.1 成本计算公式
┌─────────────────────────────────────────────────────────────┐│ 成本计算公式 │├─────────────────────────────────────────────────────────────┤│ ││ 月成本 = (日均输入Token × 输入单价 ││ + 日均输出Token × 输出单价) × 30 ││ ││ 其中: ││ 日均输入Token = 日均调用量 × 平均输入长度 ││ 日均输出Token = 日均调用量 × 平均输出长度 ││ ││ 示例计算: ││ 日均10000次调用,输入1000,输出500,用GPT-4o-mini ││ = (10000×1000×$0.15/1M + 10000×500×$0.6/1M) × 30 ││ = ($1.5 + $3) × 30 ││ = $135/月 ││ │└─────────────────────────────────────────────────────────────┘5.2 API vs 自部署成本曲线
常见问题 FAQ
Q1: 如何估算我的应用需要多少Token?
A:
- 统计典型对话/查询的输入输出长度
- 统计日均调用量
- 计算:日均调用量 × 平均输入长度 = 日输入Token
- 用OpenAI的Tokenizer工具验证
- 预留20%缓冲
Q2: Prompt Caching能省多少钱?
A: 视场景而定:
- RAG场景(重复使用相同文档):节省60-90%输入成本
- 固定系统提示词:节省10-30%
- 普通对话场景:节省较少
Q3: 什么时候该考虑自部署?
A: 满足以下条件时考虑:
- 月调用超过10亿Token
- 数据隐私要求高,不能出本地
- 有运维能力
- 需要深度定制
Q4: 量化会影响模型能力吗?
A: 会有轻微下降:
- INT4量化:通常损失1-3%性能
- INT8量化:几乎无损
- 成本却能降低50%以上
- 大多数应用场景,量化是划算的
Q5: 有没有免费的模型可以用?
A:
- 各平台通常有免费额度:
- OpenAI:新用户$5免费额度
- Claude:有免费试用
- DeepSeek:有免费额度
- 开源模型”免费”但需要部署成本
- 一些平台提供免费API(HuggingFace免费推理)
Q6: 如何监控和控制成本?
A:
- 设置API调用限额
- 使用缓存策略
- 监控每日Token消耗
- 设置成本告警阈值
- 定期审查账单
小结
记住这些关键点:
- 输入输出价格不同,输出通常是输入的2-5倍
- 选对模型是省钱的第一步,简单任务用小模型
- Prompt Caching可以大幅降低RAG成本
- API vs 自部署要看调用量,小量用API更划算
- 监控成本,别等账单来了才惊讶
成本意识应该贯穿AI应用的整个生命周期,从设计到运维。
下篇预告
算清了成本,下一步是学会用好模型。同样的AI,为什么别人用得好,你用得差?
参考资料
支持与分享
如果这篇文章对你有帮助,欢迎支持作者或分享给更多人
部分信息可能已经过时






