使用nodejs快速构建接入taotoken大模型api的聊天机器人
告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度使用 Node.js 快速构建接入 Taotoken 大模型 API 的聊天机器人对于 Node.js 开发者而言将大模型能力集成到自己的应用中通常意味着需要处理不同厂商的 API 密钥、端点地址和调用方式。Taotoken 平台通过提供 OpenAI 兼容的 HTTP API简化了这一过程。本文将指导你使用 Node.js 和 OpenAI 官方 SDK快速构建一个能够通过 Taotoken 调用多种大模型的基础聊天机器人后端服务。1. 环境准备与项目初始化开始之前请确保你的开发环境已安装 Node.js建议版本 16 或更高。首先创建一个新的项目目录并初始化一个 Node.js 项目。mkdir taotoken-chatbot cd taotoken-chatbot npm init -y接下来安装项目所需的核心依赖。我们将使用openai这个官方 Node.js 库来发起 API 请求同时使用dotenv来管理环境变量。npm install openai dotenv2. 获取并配置 Taotoken API 密钥要使用 Taotoken 的服务你需要一个有效的 API Key。请访问 Taotoken 控制台在 API 密钥管理页面创建一个新的密钥。创建成功后请妥善保管。在项目根目录下创建一个名为.env的文件用于存储敏感信息和配置。将你的 Taotoken API Key 填入其中。# .env TAOTOKEN_API_KEY你的_API_Key_粘贴于此提示请务必将.env文件添加到.gitignore中避免将密钥提交到版本控制系统。3. 编写核心聊天函数现在我们来编写调用 Taotoken API 的核心逻辑。创建一个名为chat.js的文件。首先导入必要的模块并初始化 OpenAI 客户端。关键在于正确设置baseURL参数对于 OpenAI 兼容的 SDK应使用https://taotoken.net/api。// chat.js import OpenAI from openai; import dotenv from dotenv; // 加载环境变量 dotenv.config(); // 初始化 OpenAI 客户端指向 Taotoken 端点 const client new OpenAI({ apiKey: process.env.TAOTOKEN_API_KEY, baseURL: https://taotoken.net/api, // 注意此处末尾没有 /v1 });接下来我们定义一个异步函数来调用聊天补全接口。你需要从 Taotoken 的模型广场选择一个模型 ID例如claude-sonnet-4-6或gpt-4o-mini并将其作为model参数传入。/** * 调用 Taotoken 聊天补全 API * param {Array} messages - 消息历史数组格式为 [{role: user, content: 你好}] * param {string} model - 模型 ID从 Taotoken 模型广场获取 * returns {Promisestring} - 模型返回的文本内容 */ async function getChatCompletion(messages, model claude-sonnet-4-6) { try { const completion await client.chat.completions.create({ model: model, messages: messages, temperature: 0.7, max_tokens: 1000, }); return completion.choices[0]?.message?.content || 未收到回复。; } catch (error) { console.error(调用 API 时发生错误:, error); throw error; } }4. 实现流式响应处理对于需要实时输出效果的聊天场景流式响应能显著提升用户体验。我们可以修改上面的函数或者新增一个专门处理流式响应的函数。/** * 调用 Taotoken 聊天补全 API流式响应 * param {Array} messages - 消息历史数组 * param {string} model - 模型 ID * param {Function} onChunk - 处理每个文本块的函数参数为 (chunkText) */ async function getChatCompletionStream(messages, model claude-sonnet-4-6, onChunk) { try { const stream await client.chat.completions.create({ model: model, messages: messages, temperature: 0.7, max_tokens: 1000, stream: true, // 启用流式响应 }); let fullContent ; for await (const chunk of stream) { const content chunk.choices[0]?.delta?.content || ; if (content) { fullContent content; if (onChunk) { onChunk(content); // 将每个新内容块传递给回调函数 } } } return fullContent; } catch (error) { console.error(流式调用 API 时发生错误:, error); throw error; } }5. 构建简单的后端服务为了演示一个完整的聊天机器人后端我们可以使用 Node.js 内置的http模块或更流行的Express框架。这里以Express为例因为它更简洁。首先安装 Express。npm install express然后创建一个server.js文件作为应用入口。// server.js import express from express; import dotenv from dotenv; import { getChatCompletion, getChatCompletionStream } from ./chat.js; dotenv.config(); const app express(); const port process.env.PORT || 3000; // 解析 JSON 请求体 app.use(express.json()); // 定义一个简单的聊天端点 app.post(/api/chat, async (req, res) { const { message, model, stream } req.body; const messages [{ role: user, content: message }]; try { if (stream) { // 设置流式响应的头部 res.setHeader(Content-Type, text/plain; charsetutf-8); res.setHeader(Transfer-Encoding, chunked); await getChatCompletionStream(messages, model, (chunk) { res.write(chunk); }); res.end(); } else { const reply await getChatCompletion(messages, model); res.json({ reply }); } } catch (error) { res.status(500).json({ error: 聊天服务暂时不可用 }); } }); // 启动服务器 app.listen(port, () { console.log(聊天机器人服务运行在 http://localhost:${port}); });最后在package.json中添加启动脚本并运行服务。// package.json { type: module, scripts: { start: node server.js } // ... 其他配置 }node server.js现在你的聊天机器人后端服务已经启动。你可以使用curl、Postman 或编写前端页面来测试/api/chat端点。发送一个包含message和可选model、stream参数的 POST 请求即可获得 AI 的回复。通过以上步骤你已经成功构建了一个能够通过 Taotoken 灵活调用多种大模型的基础聊天机器人后端。你可以在此基础上扩展更多功能例如维护对话历史、支持多轮对话、添加用户认证等。所有具体的模型列表、价格和最新的 API 特性请以 Taotoken 控制台和官方文档为准。想开始使用并探索更多模型可以访问 Taotoken 获取 API Key 并查看模型广场。 告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度