博客

Claude API 替代方案:保留 Claude 也能统一接入

不必二选一:用一个接口同时接 Claude、DeepSeek、GLM 与 Qwen,价格可对比,客户端不用改。

目标关键词: Claude API alternative

想找 Claude API 的替代,但不打算重写,比较稳的做法是保留 Claude,在下面垫一层公共接入。GeniusRelay 让 Claude 和另外 599 个模型共用同一个兼容 OpenAI 的接口,Key、账单和接入都只有一套。

这样决定是可逆的:可以拿自己的提示词把 Claude 和更便宜的模型放在一起跑,逐步切流量,想回退也不用动客户端代码。

GeniusRelay 上的 Claude 模型

模型输入 / 1M输出 / 1M上下文
Claude Haiku 5.5$0.130$0.6501M
Claude Sonnet 5.5$2.60$13.001M
Claude Opus 5.5$5.20$26.001M
Claude Fable 5.2$13.00$65.001M

四个都支持长上下文和工具调用,具体能力标签看模型页。部分 Claude ID 带 :thinking,推理 token 按输出计费。

「替代」其实是三件事

同一个词常指三种不同的活:

  1. 同任务换供应商。 质量撑得住的地方,用 DeepSeek 或 GLM 替掉 Claude。
  2. 多家供应商共用一个网关。 难的留给 Claude,其余分流。
  3. 一层计费和访问管理。 一份余额、按 Key 封顶、一套日志。

GeniusRelay 是第二和第三种。它不假装便宜模型等于 Claude,它让对比和切换变便宜。

同一份负载的成本对比

按 4K 输入、800 输出、每天 1,000 次算。

模型每日输入每日输出每日合计
DeepSeek V4.1 Flash$0.21$0.42$0.63
Claude Haiku 5.5$0.52$0.52$1.04
Claude Sonnet 5.5$10.40$10.40$20.80
Claude Opus 5.5$20.80$20.80$41.60

Sonnet 的日成本是 DeepSeek V4.1 Flash 的 33 倍、Haiku 的 20 倍。这就是「Claude 替代」搜索存在的原因。答案通常是分层:大头用便宜模型,真正需要的那一小块留给 Claude。

迁移映射

Anthropic 官方 SDK 和 OpenAI 的结构不同,调用点要做映射:

Anthropic 官方GeniusRelay
Anthropic(api_key=...)OpenAI(base_url="https://api.geniusrelaygpt.com/v1", api_key=...)
client.messages.create(...)client.chat.completions.create(...)
system="..."messages 里的一条 system 消息
max_tokensmax_tokens(相同)
content=[{"type":"text",...}]纯文本用 content="..."
Tool use 块OpenAI 的 tools / tool_calls

改之前:

import anthropic

client = anthropic.Anthropic(api_key="...")
msg = client.messages.create(
    model="claude-sonnet-5.5",
    max_tokens=800,
    system="你是一名简洁的编辑。",
    messages=[{"role": "user", "content": "把这段压缩一下。"}],
)

改之后:

from openai import OpenAI

client = OpenAI(base_url="https://api.geniusrelaygpt.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
    model="claude-sonnet-5.5",
    max_tokens=800,
    messages=[
        {"role": "system", "content": "你是一名简洁的编辑。"},
        {"role": "user", "content": "把这段压缩一下。"},
    ],
)

图片输入从 content 块改成 image_url 片段,准确 schema 见接口参考。

不炸的灰度步骤

  1. 先影子。 同一批提示词同时发给 Claude 和两个便宜模型,三份输出都存下来。
  2. 按自己的标准打分。 正确性、格式合规、语气。别拿公开榜单当结论。
  3. 按任务分流。 简单分类和抽取走便宜层,长文推理留在 Claude。
  4. 给试验设上限。 试用 Key 单独设限额,循环烧不穿月度预算。
  5. 保留回退。 便宜模型校验不过,就在同一请求路径里重试 Claude。

拿来当便宜层的候选:

用对比页并排,用价格试算按真实量级推月账单。

Claude 仍然占优的地方

  • 长文编辑。 Sonnet 和 Opus 在长文档里更能维持语气,小模型容易散。
  • 模糊指令。 Claude 对含糊的需求更能忍住不跑格式。
  • 工具循环。 畸形的工具调用更少,重试更少,总成本比单价看起来低。

这些留给 Claude,别再用 Sonnet 的价去干「给工单分类」。

常见问题

比直接用 Claude 便宜吗?

按 token 算,DeepSeek 和 GLM 那几行便宜得多。整体是否更便宜取决于重试和质量,得在你自己提示词上测。

Claude 的特性还能用吗?

支持的模型有推理、识图、工具调用和长上下文,依赖前看能力标签。

必须用 Anthropic SDK 吗?

不用,OpenAI SDK 可以调同一批模型,上面的映射表覆盖了改动点。

能两家并用分流吗?

能,两把 Key 可以共存,按任务或质量校验分流,便宜那条要封顶。

Claude 不可用时怎么办?

尽量转到其他已配置线路,重试逻辑看到的是正常的 5xx 或 429,形态见错误码。

开始

打开 Claude Sonnet 5.5 看价目表,按快速开始和 Python 教程接上 OpenAI SDK,第一次批量前设消费上限。

影子测试脚本

别在文档里争模型,把同一批提示词发给两边再比。

import json
from openai import OpenAI

client = OpenAI(base_url="https://api.geniusrelaygpt.com/v1", api_key="KEY")
prompts = [json.loads(l) for l in open("prompts.jsonl")]

for p in prompts:
    msgs = [{"role": "user", "content": p["text"]}]
    cheap = client.chat.completions.create(model="deepseek-v4.1-flash", messages=msgs, max_tokens=500)
    good = client.chat.completions.create(model="claude-sonnet-5.5", messages=msgs, max_tokens=500)
    print(json.dumps({
        "id": p["id"],
        "cheap": cheap.choices[0].message.content,
        "claude": good.choices[0].message.content,
    }))

只比要紧的字段:JSON 是否合法、必填值对不对、语气像不像。便宜模型只在能对上的提示词上放量,其余留给 Claude。把分流写成路由表,不要每个请求现场判断。

两周后复盘

拉使用日志,按模型和任务拆花费,常见三种情况:

  • 便宜模型接住 80% 流量 —— 预期结果,保持封顶。
  • 某个任务反复失败 —— 把任务移回 Claude,停止重试。
  • 流量几乎没动 —— 路由条件太宽或校验太严,改规则,别改模型。

每月复盘一次。价格和质量都在动,十一月成立的分法,一月不一定成立。


相关阅读