OpenAI SDK 迁移到 OfoxAI 完全指南:Python、TypeScript 与主流框架接入(2026)

OpenAI SDK 迁移到 OfoxAI 完全指南:Python、TypeScript 与主流框架接入(2026)

为什么要迁移到 OfoxAI

OfoxAI 完全兼容 OpenAI SDK,从 OpenAI 直连迁移只需修改两个参数:base_urlapi_key

迁移的核心优势:

  • 零代码改动:只改 base_urlapi_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_urlapi_keymodel 名称加前缀。其余代码完全不变。

环境变量方式(推荐用于生产环境)

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-4oopenai/gpt-4o
gpt-4o-miniopenai/gpt-4o-mini
gpt-5.2openai/gpt-5.4-mini
text-embedding-3-smallopenai/text-embedding-3-small

通过 OfoxAI,你还可以使用其他厂商的模型:

额外可用模型说明
anthropic/claude-sonnet-4.6Claude Sonnet 4
google/gemini-3.1-flash-lite-previewGemini 3 Flash
deepseek/deepseek-chatDeepSeek 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完全兼容

迁移检查清单

  1. 注册 OfoxAI 账号,获取 API Key
  2. 修改 base_url/baseURLhttps://api.ofox.ai/v1
  3. 替换 api_key/apiKey 为 OfoxAI 的 Key
  4. 更新模型名称,加上 openai/ 前缀
  5. 测试核心功能:普通对话、流式输出、函数调用
  6. 切换生产环境的环境变量

完整文档请查看:OfoxAI OpenAI SDK 集成指南

总结

从 OpenAI SDK 迁移到 OfoxAI 是最低成本的多模型接入方案。不需要学新的 SDK、不需要改业务逻辑——改两行配置,5 分钟搞定。同时获得多厂商模型的灵活切换能力,对于正在用 OpenAI API 的开发者来说值得一试。