用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 的正确姿势。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐