月花 200 刀调 Claude 的我,改了一行代码后账单直接砍掉 70%
月花 200 刀调 Claude 的我,改了一行代码后账单直接砍掉 70%
结论先说:把 base URL 换成国内中转,再把非核心调用从 Sonnet 降到 Haiku,三个月账单从 $200 → $58。
痛点
做 RAG 项目,embedding + rerank + 主链路全走 Claude Sonnet,月底一看账单 $180-$220,心疼。
更烦的是国内直连不稳,要么走代理抖,要么用官方 IP 池经常 429。CI 跑评估脚本经常中途挂掉,日志里全是 Connection reset by peer。
改了什么
第一步:换 base URL,一行
from openai import OpenAI
client = OpenAI(
api_key="your-key-here",
base_url="https://api.api2everything.xyz/v1", # 改这里
)
接口格式和 OpenAI 完全兼容,其他代码一行不动。Claude / Gemini / DeepSeek 同一个 key 都能用。
第二步:分级调用,该省的省
我把调用分三类:
| 场景 | 之前 | 现在 |
|------|------|------|
| 主链路对话 | claude-3-5-sonnet | claude-3-5-sonnet(不动) |
| 文档摘要 / 分类 | claude-3-5-sonnet | claude-3-haiku-20240307 |
| 评估 / 批量跑 bench | claude-3-5-sonnet | gemini-1.5-flash |
Haiku 比 Sonnet 便宜约 20 倍,摘要和分类任务效果差不多。Gemini Flash 跑批量评估够用,速度还更快。
第三步:批量任务加 max_tokens 上限
之前懒得设,Sonnet 有时候输出一堆废话,token 白烧。加了限制之后:
response = client.chat.completions.create(
model="claude-3-haiku-20240307",
max_tokens=512, # 分类任务够了
messages=[
{"role": "user", "content": f"classify this document: {doc[:2000]}"}
]
)
实际 curl 示例
curl https://api.api2everything.xyz/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-3-haiku-20240307",
"max_tokens": 256,
"messages": [{"role": "user", "content": "hello"}]
}'
响应格式和官方 OpenAI 一样,直接 drop-in 替换。
省了多少
粗算一下,中转价格比官方便宜约 65%,再加上模型降级:
- Sonnet 调用量 -60%(非核心全换 Haiku)
- 单价 -65%(中转折扣)
max_tokens收紧 token 浪费
三项叠加,$200 → $58,符合预期。
其他好处
国内直连不用代理,CI 脚本再没挂过。300+ 模型同一个 key,测 DeepSeek / Gemini 不用再单独注册账号。
我用的中转是 api2everything.xyz,注册送 ¥1 够试很久,余额永久有效不过期。有类似账单焦虑的可以试试。