月烧 $200 调 Claude 的我,改一行 baseURL 后账单直接砍掉 2/3
月烧 $200 调 Claude 的我,改一行 baseURL 后账单直接砍掉 2/3
结论先说:把 API 请求转到国内中转,同时把非必要的 Sonnet 换成 Haiku,月账单从 $200 → $60 以内。
痛点
我有个自用的代码 review bot,跑在本地,每次 commit 前自动调 Claude 分析 diff。用的 claude-3-5-sonnet,效果确实好,但账单也确实好看——上个月 $213。
问题拆开来看:
1. 模型选贵了。review 这种任务,90% 的 case 用 Haiku 完全够,非得 Sonnet 是因为懒得改配置
2. 官方价格没折扣。Sonnet input $3/M tokens,Haiku 才 $0.25/M,差了 12 倍
3. 还要开全局代理。调官方 API 在国内不稳,超时重试又把 token 烧一遍
操作步骤
第一步:换 baseURL
OpenAI / Claude / Gemini 的中转基本都兼容 OpenAI 格式,改一个环境变量的事:
# 原来
export OPENAI_BASE_URL="https://api.anthropic.com"
# 改成
export OPENAI_BASE_URL="https://api2everything.xyz/v1"
export OPENAI_API_KEY="你的中转 key"
代码零改动。
第二步:把 Sonnet 换成 Haiku(非强依赖场景)
我的 review bot 用的是 LangChain,model name 直接改:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="claude-3-5-haiku-20241022", # 原来是 claude-3-5-sonnet-20241022
base_url="https://api2everything.xyz/v1",
api_key=os.environ["OPENAI_API_KEY"],
max_tokens=1024,
)
对于确实需要 Sonnet 的任务(比如复杂架构分析),单独保留一个 strong_llm 实例,普通任务走 Haiku,强逻辑任务才升档。
第三步:验证没问题的 curl
curl https://api2everything.xyz/v1/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-3-5-haiku-20241022",
"messages": [{"role": "user", "content": "ping"}],
"max_tokens": 10
}'
返回正常就行,延迟在国内比直连官方低不少,而且不用开代理。
账单对比
| 场景 | 之前 | 之后 |
|---|---|---|
| 模型 | Sonnet ($3/$15 per M) | Haiku ($0.25/$1.25 per M) |
| 线路 | 官方直连 + 代理 | 国内中转 |
| 月均 token | ~15M input / 3M output | 同上 |
| 月账单 | ~$213 | ~$55 |
Haiku 的代码理解能力对于 diff review 基本够用,偶尔碰到复杂的重构我会手动跑 Sonnet 看一眼,一个月也就几次。
一个小坑
中转服务的模型名称有时候和官方不完全一致,遇到 404 可以先调一下 /v1/models 看支持列表:
curl https://api2everything.xyz/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY" | jq '.data[].id' | grep claude
我用的中转是 api2everything.xyz,注册送 ¥1,余额永久不过期,够试很久。支持 Claude / GPT-4o / Gemini / DeepSeek,OpenAI 格式统一接入,改 baseURL 就能跑。