通过 JavaScript 接入。
使用 OpenAI 官方 SDK,填写 PrismRoute 密钥与自定义基础地址。以下示例运行于服务端 Node.js 环境。
本页目录
安装与配置
安装当前版本的官方 SDK,并使用该 SDK 版本支持的 Node.js 运行环境。
npm install openai在终端中设置密钥与准确的模型 ID,替换两个占位值。以下环境变量名称是本文的约定,代码会将其明确传入客户端。
export PRISMROUTE_API_KEY="YOUR_PRISMROUTE_API_KEY"
export PRISMROUTE_MODEL="YOUR_MODEL_ID"$env:PRISMROUTE_API_KEY="YOUR_PRISMROUTE_API_KEY"
$env:PRISMROUTE_MODEL="YOUR_MODEL_ID"发送 Chat Completions 请求
将代码保存为 example.mjs。baseURL 填写 API 根地址,不要填完整的 /chat/completions 地址。请使用明确支持 Chat Completions 的模型。
import OpenAI from "openai";
const apiKey = process.env.PRISMROUTE_API_KEY;
const model = process.env.PRISMROUTE_MODEL;
if (!apiKey || !model) {
throw new Error("Set PRISMROUTE_API_KEY and PRISMROUTE_MODEL first.");
}
const client = new OpenAI({
apiKey,
baseURL: "https://codex.aicpr.icu/v1",
timeout: 60_000,
maxRetries: 0,
});
const completion = await client.chat.completions.create({
model,
messages: [{ role: "user", content: "Hello, PrismRoute!" }],
});
console.log(completion.choices[0]?.message.content ?? "");node example.mjs示例设置了 60 秒超时,并在首次连接检查时关闭自动重试。正式应用应根据业务设置明确的超时与有次数上限的重试策略。
读取流式文字
如果模型支持流式输出,可以逐段读取文字增量。部分数据块只包含元信息,示例已处理 choices 为空和 content 缺失的情况。
import OpenAI from "openai";
const apiKey = process.env.PRISMROUTE_API_KEY;
const model = process.env.PRISMROUTE_MODEL;
if (!apiKey || !model) {
throw new Error("Set PRISMROUTE_API_KEY and PRISMROUTE_MODEL first.");
}
const client = new OpenAI({
apiKey,
baseURL: "https://codex.aicpr.icu/v1",
timeout: 60_000,
maxRetries: 0,
});
const stream = await client.chat.completions.create({
model,
messages: [{ role: "user", content: "Hello, PrismRoute!" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
process.stdout.write("\n");流式连接可能在返回部分文字后中断。请保留已收到的内容,查看错误信息后再决定是否重新发起请求。
在模型支持时使用 Responses
import OpenAI from "openai";
const apiKey = process.env.PRISMROUTE_API_KEY;
const model = process.env.PRISMROUTE_MODEL;
if (!apiKey || !model) {
throw new Error("Set PRISMROUTE_API_KEY and PRISMROUTE_MODEL first.");
}
const client = new OpenAI({
apiKey,
baseURL: "https://codex.aicpr.icu/v1",
timeout: 60_000,
maxRetries: 0,
});
const response = await client.responses.create({
model,
input: "Hello, PrismRoute!",
});
console.log(response.output_text);Responses 使用 input 字段,返回按类型区分的 output 项;SDK 的 output_text 会拼接文字输出。它的流式事件与 Chat Completions 增量不同,请勿直接套用上面的流式循环。
检查接入结果
确认请求发往 codex.aicpr.icu、路径中只包含一次 /v1,并使用准确的模型 ID。若请求失败,请保留状态码和脱敏后的错误信息进行排查。