Node.js SDK 使用指南
Real200 完全兼容 OpenAI Node.js SDK,只需修改 baseURL 即可接入。
安装
npm install openai
# 或
yarn add openai
# 或
pnpm add openai
需要 Node.js 18+。
基础使用
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-real200-xxxxxxxxxxxxxxxx", // 您的 Real200 API Key
baseURL: "https://real200.com/v1", // Real200 网关地址
});
const response = await client.chat.completions.create({
model: "gpt-4o",
messages: [
{ role: "system", content: "你是一个专业的翻译助手。" },
{ role: "user", content: "将以下英文翻译成中文:Hello, world!" },
],
temperature: 0.7,
max_tokens: 200,
});
console.log(response.choices[0].message.content);
环境变量配置
// 设置环境变量
process.env.OPENAI_API_KEY = "sk-real200-xxx";
process.env.OPENAI_BASE_URL = "https://real200.com/v1";
// 自动读取
const client = new OpenAI();
流式响应
const stream = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "写一首关于 AI 的诗。" }],
stream: true,
});
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content;
if (content) {
process.stdout.write(content);
}
}
工具调用
const tools = [
{
type: "function",
function: {
name: "get_weather",
description: "获取指定城市的天气信息",
parameters: {
type: "object",
properties: {
city: { type: "string", description: "城市名称" },
},
required: ["city"],
},
},
},
];
const response = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "北京天气怎么样?" }],
tools,
});
// 检查工具调用
if (response.choices[0].message.tool_calls) {
for (const call of response.choices[0].message.tool_calls) {
const args = JSON.parse(call.function.arguments);
console.log(`调用 ${call.function.name},参数:`, args);
}
}
错误处理
import OpenAI from "openai";
try {
const response = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "你好" }],
});
} catch (error) {
if (error.status === 401) {
console.error("认证失败,请检查 API Key");
} else if (error.status === 429) {
console.error("请求频率超限,请等待后重试");
} else {
console.error("API 错误:", error.message);
}
}