本篇指南旨在为开发者提供一个实用方法,说明如何将现有的 OpenAI SDK 集成应用迁移到兼容 OpenAI 的 API 中继服务,并且代码改动量最小化。
大部分应用由于已经采用了合适的抽象层,所以迁移过程出奇地简单。如果你的代码使用了 OpenAI SDK,通常你只需更改 API 密钥(API key)和基础 URL(base URL)。
核心改动点
在直接连接 OpenAI 的设置中,SDK 会将请求发送到默认的 OpenAI 端点。使用 API 中继服务(例如 Vector Engine API),你只需保持相同的 SDK 结构,并将其指向新的端点:
https://www.vectronode.com/v1
这意味着你现有的聊天补全(chat completion)流程可以保持不变,例如:
- 相同的消息数组(messages array)
- 相同的模型字段(model field)
- 相同的
chat.completions.create调用方式 - 相同的基于环境变量的部署模式
Python 迁移示例
迁移前:
from openai import OpenAI
client = OpenAI(api_key="YOUR_OPENAI_KEY")
迁移后:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["VECTOR_ENGINE_API_KEY"],
base_url="https://www.vectronode.com/v1",
)
然后,请求结构保持不变:
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{
"role": "user",
"content": "Explain API relay migration in one sentence.",
}
],
)
print(response.choices[0].message.content)
Node.js 迁移示例
迁移前:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
迁移后:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.VECTOR_ENGINE_API_KEY,
baseURL: "https://www.vectronode.com/v1",
});
然后,像往常一样调用聊天补全:
const response = await client.chat.completions.create({
model: "gpt-4o-mini",
messages: [
{
role: "user",
content: "Explain API relay migration in one sentence.",
},
],
});
console.log(response.choices[0].message.content);
使用 curl 验证
在更改生产应用之前,建议使用 curl 命令验证 API 密钥和端点是否正确:
curl https://www.vectronode.com/v1/chat/completions \
-H "Authorization: Bearer $VECTOR_ENGINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "Explain API relay migration in one sentence."
}
]
}'