News

OpenAI SDK 应用迁移至 API 中继:极简实践指南

OpenAI SDK 应用迁移至 API 中继:极简实践指南

本篇指南旨在为开发者提供一个实用方法,说明如何将现有的 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." }
]
}'

↗ 阅读原文