用Python三行代码切换AI模型:Claude/GPT/Gemini自由切换实战
·
用Python三行代码切换AI模型:Claude/GPT/Gemini自由切换实战
前言
你是不是也遇到过这种情况:
- 项目里同时用了 Claude 和 GPT,两套 SDK 两套写法
- 想试试 Gemini,又得装新的库、学新的 API 格式
- 老板说"换个模型试试",你得改一堆代码
今天教你一个方法:只改三行代码,在所有主流 AI 模型之间自由切换。
核心思路
所有主流模型都支持 OpenAI 的 Chat Completions 格式。只要用一个统一的 API 网关,就能用同一套代码调用所有模型。
我用的是 Crazyrouter,支持 300+ 模型,OpenAI 兼容格式。
实战:三行代码搞定
第一步:安装(如果还没装的话)
pip install openai
第二步:初始化客户端(改这三行就够了)
import openai
client = openai.OpenAI(
base_url="https://crazyrouter.com/v1", # 第1行:改地址
api_key="your-crazyrouter-key" # 第2行:改Key
)
第三步:随意切换模型
# 用 Claude Opus 4.6
response = client.chat.completions.create(
model="claude-opus-4-6", # 第3行:改模型名
messages=[{"role": "user", "content": "用Python写一个快速排序"}]
)
print(response.choices[0].message.content)
想换 GPT?改一个字符串:
# 换成 GPT-4o
response = client.chat.completions.create(
model="gpt-4o", # 只改这里
messages=[{"role": "user", "content": "用Python写一个快速排序"}]
)
换 Gemini?同样:
# 换成 Gemini 2.5 Pro
response = client.chat.completions.create(
model="gemini-2.5-pro", # 只改这里
messages=[{"role": "user", "content": "用Python写一个快速排序"}]
)
就这么简单。客户端初始化一次,之后只改 model 参数就行。
进阶:封装一个多模型调用函数
import openai
client = openai.OpenAI(
base_url="https://crazyrouter.com/v1",
api_key="your-crazyrouter-key"
)
def ask(prompt, model="claude-opus-4-6"):
"""一个函数,所有模型"""
response = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.content
# 用 Claude
print(ask("解释量子计算", model="claude-opus-4-6"))
# 用 GPT
print(ask("解释量子计算", model="gpt-4o"))
# 用 Gemini
print(ask("解释量子计算", model="gemini-2.5-pro"))
# 用 DeepSeek
print(ask("解释量子计算", model="deepseek-v4"))
进阶:多模型对比测试
开发中经常需要对比不同模型的效果,用这个脚本一键测试:
import openai
import time
client = openai.OpenAI(
base_url="https://crazyrouter.com/v1",
api_key="your-crazyrouter-key"
)
models = [
"claude-opus-4-6",
"gpt-4o",
"gemini-2.5-pro",
"deepseek-v4",
]
prompt = "用Python实现一个LRU缓存,要求线程安全"
for model in models:
print(f"\n{'='*50}")
print(f"模型: {model}")
print('='*50)
start = time.time()
response = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}]
)
elapsed = time.time() - start
result = response.choices[0].message.content
tokens = response.usage.total_tokens
print(f"耗时: {elapsed:.2f}s")
print(f"Token: {tokens}")
print(f"回答: {result[:200]}...")
运行结果类似:
==================================================
模型: claude-opus-4-6
==================================================
耗时: 3.21s
Token: 856
回答: 下面是一个线程安全的LRU缓存实现...
==================================================
模型: gpt-4o
==================================================
耗时: 2.15s
Token: 723
回答: 以下是使用threading.Lock实现的LRU缓存...
一目了然,哪个模型更快、更好、更省Token。
进阶:自动选择最便宜的模型
# 模型价格表(每百万Token,输入/输出)
PRICING = {
"claude-opus-4-6": (8.25, 41.25),
"gpt-4o": (1.38, 5.50),
"gemini-2.5-pro": (0.69, 5.50),
"deepseek-v4": (0.50, 2.00),
}
def cheapest_ask(prompt, min_quality="good"):
"""自动选择最便宜的模型"""
# 按输出价格排序
sorted_models = sorted(PRICING.items(), key=lambda x: x[1][1])
# 简单任务用最便宜的,复杂任务用最好的
if min_quality == "best":
model = "claude-opus-4-6"
elif min_quality == "good":
model = "gpt-4o"
else:
model = sorted_models[0][0] # 最便宜的
return ask(prompt, model=model)
# 简单问题,用最便宜的
cheapest_ask("1+1等于几", min_quality="cheap")
# 复杂问题,用最好的
cheapest_ask("设计一个分布式缓存系统的架构", min_quality="best")
进阶:流式输出(Streaming)
# 流式输出,打字机效果
stream = client.chat.completions.create(
model="claude-opus-4-6",
messages=[{"role": "user", "content": "写一首关于编程的诗"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
所有模型都支持流式输出,代码完全一样,只改 model 参数。
支持的模型列表(部分)
| 类别 | 模型 | 适用场景 |
|---|---|---|
| 对话 | claude-opus-4-6 | 复杂推理、长文写作 |
| 对话 | gpt-4o | 通用对话、代码生成 |
| 对话 | gemini-2.5-pro | 多模态、长上下文 |
| 对话 | deepseek-v4 | 性价比之王 |
| 编程 | claude-code | AI编程助手 |
| 编程 | codex | 代码生成专用 |
| 图像 | dall-e-3 | 图像生成 |
| 开源 | qwen-3 | 中文场景优化 |
| 开源 | llama-4 | 开源社区首选 |
完整列表 300+ 模型,详见 https://crazyrouter.com
费用对比
用统一网关不仅方便,还更便宜:
| 模型 | 官方价格(输入/输出) | Crazyrouter | 节省 |
|---|---|---|---|
| Claude Opus 4.6 | $15 / $75 | $8.25 / $41.25 | 45% |
| GPT-4o | $2.50 / $10 | $1.38 / $5.50 | 45% |
| Gemini 2.5 Pro | $1.25 / $10 | $0.69 / $5.50 | 45% |
新用户福利
- 注册即送 $2 免费额度,不用充值直接用
- 首充额外赠送 30% 额度奖励
注册地址:https://crazyrouter.com
总结
三行代码的本质:
base_url = "https://crazyrouter.com/v1" # 统一入口
api_key = "your-key" # 一个Key
model = "随便换" # 自由切换
不用装多个 SDK,不用管不同的 API 格式,不用维护多个 Key。一个入口,所有模型,随时切换。
这才是 2026 年调用 AI API 的正确姿势。
更多推荐

所有评论(0)