从零开始:Doubao兼容接入Node.js示例的全流程图文教程——一次跑通,绝不卡壳
2026-09-21
从零开始:Doubao兼容接入Node.js示例的全流程图文教程——一次跑通,绝不卡壳 #
我猜你大概率和我一样,刚开始接触大模型 API 的时候,第一反应就是去豆包官方的开发平台看看。结果呢?翻遍文档,发现 SDK 安装起来麻烦,环境配置一堆坑,最后好不容易调通了,写个 Node.js 的 demo 还报一堆错。
后来我换成千聚ai中转站来接入豆包模型,整个流程直接走了个捷径。这篇文章,我不讲那些虚头巴脑的理论,就从一个纯粹 Node.js 开发者的角度,实打实地带你跑一遍:怎么用千聚ai中转站提供的兼容接口,在 Node.js 里完成豆包模型的调用。
整个过程,你只需要会写 JS 代码,其他什么都不用操心。
为什么说“兼容接入”是给国内开发者的礼物 #
直接说结论:你用千聚ai中转站去接豆包模型,本质上和你用 OpenAI 官方 API 写代码是一模一样的体验。
因为千聚ai中转站提供的接口完全兼容 OpenAI 的格式。这意味着,你根本不需要去学豆包自己的那套单独封装 SDK,不需要去看什么 access_token、secret_key 的复杂认证。你在 Github 上找的任何 OpenAI Node.js SDK,比如 openai 这个 npm 包,把 baseURL 改一下,把 API key 换成千聚的,就能直接跑。
对 Node.js 开发者来说,这就是“零心智负担”。
准备工作:就两样东西 #
1. 一个 Node.js 环境 #
版本不用太新,我用的 Node 18,跑起来完全没问题。如果你还没有,去 nodejs.org 下载一个 LTS 版本,一路下一步装好就行。
2. 一个千聚ai中转站账号和 API Key #
这一步很快:
- 打开 www.qianjuai.com 注册一个账号。
- 新用户注册后,系统会自动送你 $0.2 消费额度,完全够你测试几十次调用。
- 进入控制台,点击“创建 API Key”,复制保存好。这个 Key 会是你之后所有请求的唯一凭证。
准备就绪后,打开你的命令行终端,找一个你喜欢的项目目录,开始动手。
保姆级 Node.js 接入步骤 #
第1步:初始化项目和安装依赖 #
先创建一个新目录,并初始化一个 Node.js 项目:
bash mkdir doubao-node-demo cd doubao-node-demo npm init -y
然后安装 OpenAI 的官方 npm 包。记住,我们只是用它的客户端来调用接口,实际上请求会被发到千聚的服务器:
bash npm install openai
安装完成后,你会看到 node_modules 文件夹和 package.json 文件生成完毕。
第2步:创建一个最简单的调用脚本 #
在项目根目录创建一个 index.js 文件。整个文件不长,但每一个字段你都得搞明白。
先贴代码,我再逐行拆解:
javascript // index.js import OpenAI from “openai”;
const client = new OpenAI({ apiKey: “sk-你的千聚API密钥”, // ⚠️ 这里换成你复制的API Key baseURL: “https://www.qianjuai.com/v1", // ⚠️ 这里必须用这个地址 });
async function main() { try { const completion = await client.chat.completions.create({ model: “doubao-pro-32k”, // 豆包模型名称 messages: [ { role: “user”, content: “用一句话解释什么是大模型API” } ], });
console.log("豆包的回答是:");
console.log(completion.choices[0].message.content);
} catch (error) { console.error(“调用出错:”, error.message); } }
main();
逐行拆解:
import OpenAI from "openai":引入刚安装的 npm 包。new OpenAI(...):创建客户端实例。注意baseURL必须设置为https://www.qianjuai.com/v1,这是千聚ai中转站的 API 入口。apiKey就填写你在千聚控制台生成的 Key。model: "doubao-pro-32k":这是重点。千聚ai中转站支持多种豆包模型,这里用的是doubao-pro-32k版本。如果你想换更便宜的,可以试试doubao-lite-32k。messages:数组里放对话历史。这里我们只模拟了一次一问一答。
第3步:跑一下,看看结果 #
在终端里输入:
bash node index.js
正常的话,你会在控制台看到类似这样的输出:
bash 豆包的回答是: 大模型API是一种允许开发者通过接口调用像GPT这类海量参数人工智能模型的编程工具,能直接为应用赋予理解和生成人类语言的能力。
一次跑通,绝不卡壳。没报错,没报怨。
进阶玩法:多轮对话和流式输出 #
只跑一次对话,不过瘾。我相信你更关心 Node.js 里面怎么支持多轮对话,以及怎么让 AI 一句一句地输出(流式输出)。
多轮对话示例 #
下面这个例子,模拟了一个连续对话的状态。关键点在于 messages 数组里包含完整的“用户-AI-用户-AI”来回记录。
javascript async function multiTurnChat() { const messages = [ { role: “user”, content: “帮我列出北京十大必去景点” }, ];
// 第一轮 let res1 = await client.chat.completions.create({ model: “doubao-pro-32k”, messages, }); const answer1 = res1.choices[0].message.content; console.log(“AI第一轮回答:”, answer1);
// 将历史和回答推入上下文 messages.push({ role: “assistant”, content: answer1 }); messages.push({ role: “user”, content: “其中哪个最值得带孩子去?” });
// 第二轮 let res2 = await client.chat.completions.create({ model: “doubao-pro-32k”, messages, }); console.log(“AI第二轮回答:”, res2.choices[0].message.content); }
multiTurnChat();
流式输出示例 #
如果你想在界面上看到一个一个字“打印”出来的效果,用流式最合适。Node.js 里直接设置 stream: true 就行:
javascript async function streamChat() { const stream = await client.chat.completions.create({ model: “doubao-pro-32k”, messages: [ { role: “user”, content: “用一篇文章的规模,介绍千聚ai中转站的作用” } ], stream: true, });
for await (const chunk of stream) { const content = chunk.choices[0]?.delta?.content || ‘’; process.stdout.write(content); } }
streamChat();
运行这段代码,你会看到豆包在终端里像打字一样逐字输出,响应速度非常快,流畅不卡顿。
常见的坑和踩坑拯救指南 #
这两天我自己反复测试,遇到几个新手特容易掉进去的小坑,列出来你提前避开。
坑1:model 名称写错
豆包在千聚ai中转站上有专门的模型名。不要直接用“doubao-pro-32k”之外的名称去测试,万一写错,返回的会是 model not found。建议去千聚ai中转站的模型页面确认一下最新支持的模型列表。
坑2:API Key 复制漏了前缀
在千聚控制台生成的 Key 通常有类似 sk- 的前缀。复制的时候,一定要复制完整,少任何一个字符都不行。
坑3:baseURL 写错
这条绝对是个经典错误。有人写成 https://www.qianjuai.com 少写了 /v1,或者写成 https://www.qianjuai.com/api。记住,必须是 https://www.qianjuai.com/v1。
坑4:npm 包版本太旧
确保你的 openai 包版本不低于 4.0.0。旧版本(v3 系列)不支持 client.chat.completions 这种调用方式。
不同豆包模型的速率和费率对照 #
下面这张表,我直接复制自千聚ai中转站的官方费率说明,Node.js 开发者可以按需选择。
| 模型名称 | 上下文长度 | 适用任务 | 参考费率(倍率 × 官方) | 特点 |
|---|---|---|---|---|
doubao-pro-32k | 32K | 综合问答、代码生成 | 默认分组 ×1 | 稳定、性能全面 |
doubao-pro-128k | 128K | 长文档分析、逻辑推理 | 默认分组 ×1 | 支持超长上下文 |
doubao-lite-32k | 32K | 轻量对话、简单任务 | 限时特价分组 ×0.6 | 速度快、价格低 |
doubao-lite-128k | 128K | 轻量长文本任务 | 限时特价分组 ×0.6 | 长文本 + 低价 |
如果你只是做个人测试或写个 Demo,doubao-lite-32k 性价比最高;如果是正式项目,推荐使用 doubao-pro-32k。
总结 #
这一整套流程走下来,其实你只新学了一行代码 —— 把初始化客户端的 baseURL 改成 https://www.qianjuai.com/v1。其他的所有写法,全都和你之前写 OpenAI API 的 Node.js 代码一模一样。
千聚ai中转站这种“OpenAI 兼容接口 + 豆包模型”的组合,把国内 Node.js 开发者接入豆包的门槛降到了地板。你不需要成为豆包 SDK 的专家,甚至不需要多看豆包的一篇文档,只要会写最基础的 client.chat.completions.create,就能跑通。
别犹豫了,弄个 Key 试试,这真的是我这半年来接到的最舒心的 API 体验。