在ubuntu系统中用nodejs调用taotoken实现多模型对话应用
告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度在 Ubuntu 系统中用 Node.js 调用 Taotoken 实现多模型对话应用1. 环境准备与项目初始化在 Ubuntu 服务器上开始之前请确保系统已安装 Node.js 运行环境。推荐使用 Node.js 18 或更高版本。你可以通过node --version命令来验证。如果尚未安装可以使用 Ubuntu 的包管理器进行安装。接下来创建一个新的项目目录并初始化 Node.js 项目。我们将在这个目录中构建我们的对话服务。mkdir taotoken-node-demo cd taotoken-node-demo npm init -y项目初始化完成后我们需要安装必要的依赖。核心依赖是官方的 OpenAI Node.js 库它兼容 Taotoken 提供的 OpenAI 格式 API。同时我们也会安装dotenv来管理环境变量。npm install openai dotenv2. 获取并配置 Taotoken API 密钥要调用 Taotoken 的服务你需要一个有效的 API Key。请访问 Taotoken 控制台在 API 密钥管理页面创建一个新的密钥。创建成功后请妥善保管。在项目根目录下创建一个名为.env的文件用于存储敏感的环境变量。将你刚刚获取的 API Key 填入其中。TAOTOKEN_API_KEY你的_API_Key_在这里重要提示请务必将.env文件添加到.gitignore中避免将密钥意外提交到代码仓库。在代码中我们通过dotenv包来加载这些变量。3. 编写核心调用代码现在我们来编写调用 Taotoken 聊天补全接口的核心代码。创建一个名为chatService.js的文件。首先我们需要导入必要的模块并加载环境变量。然后初始化 OpenAI 客户端关键的一步是正确设置baseURL参数将其指向 Taotoken 的聚合端点。// chatService.js import OpenAI from openai; import dotenv from dotenv; // 加载 .env 文件中的环境变量 dotenv.config(); // 初始化 OpenAI 客户端并配置 Taotoken 端点 const client new OpenAI({ apiKey: process.env.TAOTOKEN_API_KEY, baseURL: https://taotoken.net/api, // 注意baseURL 末尾不带 /v1 }); /** * 调用 Taotoken 聊天接口 * param {string} modelId - 模型ID例如 claude-sonnet-4-6 * param {Array} messages - 对话消息数组 * returns {Promisestring} - 模型返回的文本内容 */ export async function callChatCompletion(modelId, messages) { try { const completion await client.chat.completions.create({ model: modelId, messages: messages, // 可根据需要添加其他参数如 temperature, max_tokens 等 }); return completion.choices[0]?.message?.content || ; } catch (error) { console.error(调用 Taotoken API 时发生错误:, error.message); throw error; // 或将错误处理逻辑放在上层 } }代码中的baseURL: https://taotoken.net/api是正确连接 Taotoken 服务的关键。OpenAI SDK 会自动在此基础 URL 上拼接/v1/chat/completions等路径。模型 ID 需要你在 Taotoken 的模型广场查看并选择例如claude-sonnet-4-6、gpt-4o等直接将其作为字符串传入即可。4. 构建可切换模型的对话服务示例为了演示如何灵活切换模型我们创建一个简单的命令行交互示例app.js。这个示例会循环接受用户输入并允许用户指定本次对话使用的模型。// app.js import { callChatCompletion } from ./chatService.js; import readline from readline/promises; import { stdin as input, stdout as output } from process; // 创建命令行交互接口 const rl readline.createInterface({ input, output }); // 预定义一些可选的模型实际可从配置或数据库读取 const AVAILABLE_MODELS { 1: claude-sonnet-4-6, 2: gpt-4o, 3: deepseek-chat, }; console.log(可用的模型); for (const [key, value] of Object.entries(AVAILABLE_MODELS)) { console.log( ${key}. ${value}); } console.log(输入模型编号选择模型或直接输入模型ID。输入“exit”退出。\n); const conversationHistory []; async function chatLoop() { while (true) { const modelInput await rl.question(请选择或输入模型ID: ); if (modelInput.toLowerCase() exit) { break; } // 确定最终使用的模型ID let selectedModelId AVAILABLE_MODELS[modelInput] || modelInput; const userMessage await rl.question(你: ); if (userMessage.toLowerCase() exit) { break; } // 将用户消息加入历史 conversationHistory.push({ role: user, content: userMessage }); console.log(\n[使用模型: ${selectedModelId}] 思考中...); try { const assistantReply await callChatCompletion(selectedModelId, conversationHistory); console.log(助手: ${assistantReply}\n); // 将助手回复加入历史以维持上下文 conversationHistory.push({ role: assistant, content: assistantReply }); } catch (error) { console.log(对话失败请重试或检查配置。\n); // 可以选择是否移除最后一条用户消息 // conversationHistory.pop(); } } rl.close(); console.log(对话结束。); } // 启动对话循环 chatLoop().catch(console.error);为了让这个脚本能运行你需要在package.json中添加type: module字段因为代码中使用了 ES6 模块语法。然后使用命令node app.js启动服务。5. 部署与后续步骤在 Ubuntu 服务器上你可以使用pm2、forever等进程管理工具来让这个 Node.js 应用在后台持续运行。例如使用 PM2npm install -g pm2 pm2 start app.js --name taotoken-chat-demo pm2 logs taotoken-chat-demo # 查看日志至此你已经成功在 Ubuntu 系统上搭建了一个可以通过 Taotoken 调用多种大模型的基础对话服务。在实际业务开发中你可以将此核心调用模块集成到你的 Web 框架如 Express、Koa中构建成 API 服务并结合数据库来管理更复杂的对话会话和用户状态。关于模型 ID 的完整列表、具体的计费详情以及更高级的 API 参数设置请以 Taotoken 控制台和官方文档的说明为准。希望这篇教程能帮助你快速上手。要开始使用 Taotoken 的服务并探索更多模型可以访问 Taotoken 获取 API Key 并查看模型广场。 告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度