OpenAI SDK 迁移到 OfoxAI 完全指南:Python、TypeScript 与主流框架接入(2026)
为什么要迁移到 OfoxAI
OfoxAI 完全兼容 OpenAI SDK,从 OpenAI 直连迁移只需修改两个参数:base_url 和 api_key。
迁移的核心优势:
- 零代码改动:只改
base_url和api_key,业务逻辑一行不动 - 多模型统一接入:一个 API Key 调用 OpenAI、Anthropic、Google、DeepSeek 等模型
- 完整功能兼容:Chat Completions、Streaming、Function Calling、JSON Mode、Vision、Embeddings、Models List、Images Generation 全部支持
Python SDK 迁移
只需修改两行代码
from openai import OpenAI
# 之前:直连 OpenAI
# client = OpenAI(api_key="sk-openai-xxx")
# 现在:通过 OfoxAI
client = OpenAI(
base_url="https://api.ofox.ai/v1", # 新增
api_key="<你的 OFOXAI_API_KEY>" # 替换
)
# 其他代码完全不变!
response = client.chat.completions.create(
model="openai/gpt-4o", # 添加 provider 前缀
messages=[{"role": "user", "content": "Hello!"}]
)
改动总共三处:base_url、api_key、model 名称加前缀。其余代码完全不变。
环境变量方式(推荐用于生产环境)
import os
from openai import OpenAI
client = OpenAI(
base_url=os.getenv("OPENAI_BASE_URL", "https://api.ofox.ai/v1"),
api_key=os.getenv("OPENAI_API_KEY")
)
# .env
OPENAI_BASE_URL=https://api.ofox.ai/v1
OPENAI_API_KEY=your-ofox-api-key
TypeScript SDK 迁移
import OpenAI from 'openai'
// 之前:直连 OpenAI
// const client = new OpenAI({ apiKey: 'sk-openai-xxx' })
// 现在:通过 OfoxAI
const client = new OpenAI({
baseURL: 'https://api.ofox.ai/v1', // 新增
apiKey: '<你的 OFOXAI_API_KEY>' // 替换
})
// 其他代码完全不变!
注意 TypeScript SDK 的参数名是 baseURL(大写 URL),Python SDK 是 base_url(下划线)。
模型命名映射
OfoxAI 使用 provider/model-name 格式标识模型:
| OpenAI 原始名称 | OfoxAI 模型 ID |
|---|---|
gpt-4o | openai/gpt-4o |
gpt-4o-mini | openai/gpt-4o-mini |
gpt-5.2 | openai/gpt-5.4-mini |
text-embedding-3-small | openai/text-embedding-3-small |
通过 OfoxAI,你还可以使用其他厂商的模型:
| 额外可用模型 | 说明 |
|---|---|
anthropic/claude-sonnet-4.6 | Claude Sonnet 4 |
google/gemini-3.1-flash-lite-preview | Gemini 3 Flash |
deepseek/deepseek-chat | DeepSeek V3 |
Streaming 流式输出
完全兼容,代码不需要任何修改:
stream = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "写一首关于代码的诗"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
Function Calling
接口和行为与 OpenAI 完全一致:
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "北京今天天气怎么样?"}],
tools=[{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定城市的天气",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "城市名称"}
},
"required": ["city"]
}
}
}]
)
主流框架接入
LangChain
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
base_url="https://api.ofox.ai/v1",
api_key="<你的 OFOXAI_API_KEY>",
model="openai/gpt-4o"
)
LangChain 的 ChatOpenAI 底层就是 OpenAI SDK,改 base_url 就行。所有 Chain、Agent、Tool 的用法不受影响。
LlamaIndex
from llama_index.llms.openai import OpenAI
llm = OpenAI(
api_base="https://api.ofox.ai/v1",
api_key="<你的 OFOXAI_API_KEY>",
model="openai/gpt-4o"
)
注意 LlamaIndex 用的参数名是 api_base,不是 base_url。
Vercel AI SDK
import { createOpenAI } from '@ai-sdk/openai'
const ofoxai = createOpenAI({
baseURL: 'https://api.ofox.ai/v1',
apiKey: '<你的 OFOXAI_API_KEY>'
})
const model = ofoxai('openai/gpt-4o')
任何支持 OpenAI SDK 的框架和工具,都可以通过修改 base_url 接入 OfoxAI。
兼容性总览
| 功能 | 支持状态 |
|---|---|
| Chat Completions | 完全兼容 |
| Streaming | 完全兼容 |
| Function Calling | 完全兼容 |
| JSON Mode | 完全兼容 |
| Vision(图像输入) | 完全兼容 |
| Embeddings | 完全兼容 |
| Models List | 完全兼容 |
| Images Generation | 完全兼容 |
迁移检查清单
- 注册 OfoxAI 账号,获取 API Key
- 修改
base_url/baseURL为https://api.ofox.ai/v1 - 替换
api_key/apiKey为 OfoxAI 的 Key - 更新模型名称,加上
openai/前缀 - 测试核心功能:普通对话、流式输出、函数调用
- 切换生产环境的环境变量
完整文档请查看:OfoxAI OpenAI SDK 集成指南
总结
从 OpenAI SDK 迁移到 OfoxAI 是最低成本的多模型接入方案。不需要学新的 SDK、不需要改业务逻辑——改两行配置,5 分钟搞定。同时获得多厂商模型的灵活切换能力,对于正在用 OpenAI API 的开发者来说值得一试。


