OpenAI 兼容性说明
Routic 的 API 完全兼容 OpenAI 的请求和响应格式。如果你已经在用 OpenAI SDK 或任何基于 OpenAI 格式的工具,只需改 base_url 和 api_key 就能切换到 Routic。
快速切换
from openai import OpenAI
# 之前
client = OpenAI(
api_key="sk-openai-xxx",
)
# 切换到 Routic,只改两行
client = OpenAI(
base_url="https://api.routic.ai/v1",
api_key="sk-xxxxxxxx",
)
所有后续代码(client.chat.completions.create、client.models.list 等)不用改。
兼容的接口
| 接口 | 路径 | 兼容程度 |
|---|---|---|
| 对话补全 | POST /v1/chat/completions | ✅ 完全兼容 |
| 模型列表 | GET /v1/models | ✅ 完全兼容 |
| 流式输出 | POST /v1/chat/completions + stream: true | ✅ 完全兼容 |
| 函数调用 | tools / tool_choice 参数 | ✅ 完全兼容 |
| JSON 模式 | response_format: { type: "json_object" } | ✅ 完全兼容 |
| 思维链 | thinking 参数(扩展) | 🔶 Routic 扩展,OpenAI 无此参数 |
| 智能路由 | model: "auto/*" 格式(扩展) | 🔶 Routic 扩展,OpenAI 无此功能 |
兼容的参数
对话接口参数
| 参数 | OpenAI | Routic | 说明 |
|---|---|---|---|
model | ✅ | ✅ | Routic 额外支持 auto/* 智能路由名 |
messages | ✅ | ✅ | 格式完全一致 |
temperature | ✅ | ✅ | 范围 0–2 |
top_p | ✅ | ✅ | |
max_tokens | ✅ | ✅ | |
stream | ✅ | ✅ | |
stop | ✅ | ✅ | 最多 4 个停止序列 |
frequency_penalty | ✅ | ✅ | 范围 -2–2 |
presence_penalty | ✅ | ✅ | 范围 -2–2 |
tools | ✅ | ✅ | |
tool_choice | ✅ | ✅ | |
response_format | ✅ | ✅ | |
logprobs | ✅ | ✅ | |
top_logprobs | ✅ | ✅ | |
thinking | ❌ | ✅ | Routic 扩展:启用思维链模式 |
n | ✅ | ❌ | 暂不支持,始终返回 1 个选择 |
seed | ✅ | ❌ | 暂不支持 |
logit_bias | ✅ | ❌ | 暂不支持 |
响应字段
| 字段 | OpenAI | Routic | 说明 |
|---|---|---|---|
id | ✅ | ✅ | |
object | ✅ | ✅ | "chat.completion" |
choices | ✅ | ✅ | |
usage.prompt_tokens | ✅ | ✅ | |
usage.completion_tokens | ✅ | ✅ | |
usage.total_tokens | ✅ | ✅ | |
usage.prompt_cache_hit_tokens | ❌ | ✅ | 缓存命中的 token 数,按更低费率计费 |
usage.prompt_cache_miss_tokens | ❌ | ✅ | 未缓存命中的 token 数 |
choices[].message.reasoning_content | ❌ | ✅ | 思维链内容(启用思维链模式时) |
不兼容的地方
模型名不同
OpenAI 的模型名(gpt-4o、gpt-4o-mini)在 Routic 不可用。你需要换成 Routic 支持的模型名:
| 场景 | OpenAI 模型名 | Routic 替代 |
|---|---|---|
| 日常对话 | gpt-4o-mini | deepseek-v3 或 auto/chat |
| 复杂推理 | o1 / o3-mini | deepseek-r1 或 auto/reasoning |
| 代码生成 | gpt-4o | deepseek-v3 或 deepseek-r1 |
完整模型列表见模型目录。
Embeddings 和 Images 不可用
Routic 目前只支持文本生成(Chat Completions)。以下 OpenAI 接口暂不支持:
POST /v1/embeddingsPOST /v1/images/generationsPOST /v1/audio/*
认证方式
OpenAI 用 Authorization: Bearer sk-xxx,Routic 一样。区别是 Key 的前缀:
- OpenAI:
sk-proj-... - Routic:
sk-...
兼容的工具和框架
因为完全兼容 OpenAI 格式,以下工具可以直接使用 Routic:
| 工具 | 接入方式 |
|---|---|
| Cursor | 改 OpenAI Base URL → 见接入指南 |
| Claude Code | 改 Anthropic Base URL → 见接入指南 |
| Aider | 改 --openai-api-base → 见接入指南 |
| LangChain | ChatOpenAI(base_url=..., api_key=...) |
| LlamaIndex | 同 LangChain 配置方式 |
| Continue.dev | 设置中改 API Base URL |
| Cline / Roo Code | 设置中改 API Base URL |
任何支持自定义 OpenAI Base URL 的工具都能用 Routic。