外观
Node.js SDK
在 Node.js 后端使用官方 OpenAI SDK,自定义 baseURL 即可发送兼容的文本对话请求。
安装
在已有 Node.js 项目中运行:
bash
npm install openai设置密钥
powershell
$env:BEANC_API_KEY = "YOUR_API_KEY_HERE"bash
export BEANC_API_KEY="YOUR_API_KEY_HERE"发送文本请求
保存为 main.mjs,替换模型 ID,然后在同一终端运行 node main.mjs。
javascript
import OpenAI from 'openai'
const client = new OpenAI({
apiKey: process.env.BEANC_API_KEY,
baseURL: 'https://api.beanc.cn/v1',
timeout: 60_000,
maxRetries: 0,
})
const completion = await client.chat.completions.create({
model: 'YOUR_MODEL_ID',
messages: [{ role: 'user', content: '你好,豆子!' }],
})
console.log(completion.choices[0].message.content)JavaScript 使用 baseURL,Python 使用 base_url,不要混用字段名称。示例关闭自动重试,方便核对初次测试的调用记录。
流式读取
保留上面的客户端配置,把调用部分换成:
javascript
const stream = await client.chat.completions.create({
model: 'YOUR_MODEL_ID',
messages: [{ role: 'user', content: '写一句简短的问候。' }],
stream: true,
})
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? '')
}
process.stdout.write('\n')在网页里使用
让网页请求自己的后端,由后端持有豆子 API 密钥并调用接口。不要把密钥放入前端源码、静态配置或打包后会公开的环境变量。
如果请求失败,按错误排查核对状态码、最终请求地址与模型 ID。
官方参考:OpenAI TypeScript and JavaScript API Library,“Retries / Timeouts / Customizing the fetch client”;Chat Completions Reference,流式与非流式调用。