通过Node.js快速构建一个接入Taotoken多模型的后端服务
通过Node.js快速构建一个接入Taotoken多模型的后端服务1. 环境准备与依赖安装开始前请确保已安装Node.js 18或更高版本。新建项目目录并初始化npm包管理mkdir taotoken-node-demo cd taotoken-node-demo npm init -y安装必要的依赖包包括官方OpenAI JavaScript SDK和Express框架npm install openai express dotenv cors其中dotenv用于加载环境变量cors用于处理跨域请求。在项目根目录创建.env文件存放敏感配置TAOTOKEN_API_KEYyour_api_key_here PORT30002. 初始化OpenAI客户端创建src/client.js文件配置基础客户端。关键点在于正确设置baseURL指向Taotoken聚合端点import OpenAI from openai; import { config } from dotenv; config(); const client new OpenAI({ apiKey: process.env.TAOTOKEN_API_KEY, baseURL: https://taotoken.net/api, }); export default client;注意baseURL使用https://taotoken.net/api而非带/v1的路径这是OpenAI SDK的路径拼接约定。模型ID将从请求参数动态传入。3. 实现聊天接口路由创建src/app.js构建Express应用。核心是处理POST请求的聊天接口import express from express; import cors from cors; import client from ./client.js; const app express(); app.use(cors()); app.use(express.json()); app.post(/api/chat, async (req, res) { try { const { messages, model } req.body; const completion await client.chat.completions.create({ model, messages, temperature: 0.7, }); res.json({ reply: completion.choices[0]?.message?.content }); } catch (error) { console.error(API Error:, error); res.status(500).json({ error: error.message }); } }); const PORT process.env.PORT || 3000; app.listen(PORT, () { console.log(Server running on port ${PORT}); });4. 前端模型选择实现在public/index.html中实现简单的模型选择UI。关键是通过下拉菜单传递模型IDselect idmodelSelect option valueclaude-sonnet-4-6Claude Sonnet/option option valuegpt-4-turboGPT-4 Turbo/option option valuellama-3-70bLlama 3 70B/option /select script async function sendMessage() { const model document.getElementById(modelSelect).value; const response await fetch(/api/chat, { method: POST, headers: { Content-Type: application/json }, body: JSON.stringify({ model, messages: [{ role: user, content: userInput.value }] }) }); // 处理响应... } /script模型ID需要与Taotoken模型广场中显示的完全一致。实际项目中建议从后端获取可用模型列表。5. 运行与测试在package.json中添加启动脚本{ scripts: { start: node src/app.js, dev: nodemon src/app.js } }启动服务后可通过Postman或前端界面测试npm run dev测试请求示例curl -X POST http://localhost:3000/api/chat \ -H Content-Type: application/json \ -d {model:claude-sonnet-4-6,messages:[{role:user,content:你好}]}完整示例代码可参考Taotoken官方Node.js示例库。通过这个基础框架开发者可以快速扩展出支持多模型切换的后端服务。