2026
09
21
21
39
[nodeJS] OpenAI responses API sample code
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "xyz",
baseURL: 'http://127.0.0.1:8080/v1',
});
async function main() {
console.log("開始生成回答...\n");
const stream = await client.responses.create({
model: "gpt-5.5", // 或 gpt-6-astra 等新模型
instructions: "你是一個有幫助的 AI 助手。", // 取代了過去陣列中的 system role
input: "請簡短解釋什麼是黑洞?", // 支援直接傳入字串,或陣列形式
stream: true,
});
// Responses API 採用語意化事件,需針對事件類型進行過濾
for await (const event of stream) {
if (event.type === "response.output_text.delta") {
// 串流的文字片段會放在 event.delta 中
process.stdout.write(event.delta);
} else
if (event.type === "response.reasoning_text.delta") {
process.stdout.write(event.delta);
}else {
console.log(JSON.stringify(event));
if (event.type === "response.completed") {
console.log("response_id =", event.response.id);
}
}
}
console.log("\n\n✅ 串流結束!");
}
main().catch(console.error);
const client = new OpenAI({
apiKey: "xyz",
baseURL: 'http://127.0.0.1:8080/v1',
});
async function main() {
console.log("開始生成回答...\n");
const stream = await client.responses.create({
model: "gpt-5.5", // 或 gpt-6-astra 等新模型
instructions: "你是一個有幫助的 AI 助手。", // 取代了過去陣列中的 system role
input: "請簡短解釋什麼是黑洞?", // 支援直接傳入字串,或陣列形式
stream: true,
});
// Responses API 採用語意化事件,需針對事件類型進行過濾
for await (const event of stream) {
if (event.type === "response.output_text.delta") {
// 串流的文字片段會放在 event.delta 中
process.stdout.write(event.delta);
} else
if (event.type === "response.reasoning_text.delta") {
process.stdout.write(event.delta);
}else {
console.log(JSON.stringify(event));
if (event.type === "response.completed") {
console.log("response_id =", event.response.id);
}
}
}
console.log("\n\n✅ 串流結束!");
}
main().catch(console.error);