通过Node.js快速构建一个接入多模型API的简单聊天服务
1. 环境准备与项目初始化
在开始构建聊天服务前,需要确保开发环境已安装Node.js(建议版本18或更高)。新建项目目录并初始化npm包管理:
mkdir taotoken-chat-service cd taotoken-chat-service npm init -y安装必要的依赖包。我们将使用openai官方SDK与Express框架:
npm install openai express dotenv创建基础文件结构:
. ├── .env # 环境变量配置 ├── app.js # 主服务文件 └── package.json2. 配置Taotoken连接参数
在.env文件中配置Taotoken的API密钥与基础地址。登录Taotoken控制台获取API Key,并在模型广场查看可用模型ID:
TAOTOKEN_API_KEY=your_api_key_here TAOTOKEN_BASE_URL=https://taotoken.net/api DEFAULT_MODEL=claude-sonnet-4-6重要安全提示:.env文件应加入.gitignore避免密钥泄露。生产环境建议使用密钥管理服务。
3. 实现聊天服务核心逻辑
在app.js中编写服务代码。首先初始化OpenAI客户端:
import 'dotenv/config' import OpenAI from 'openai' import express from 'express' const client = new OpenAI({ apiKey: process.env.TAOTOKEN_API_KEY, baseURL: process.env.TAOTOKEN_BASE_URL, })创建Express应用并添加聊天接口:
const app = express() app.use(express.json()) app.post('/chat', async (req, res) => { try { const { messages, model = process.env.DEFAULT_MODEL } = req.body const completion = await client.chat.completions.create({ model, messages, }) res.json({ reply: completion.choices[0]?.message?.content }) } catch (error) { res.status(500).json({ error: error.message }) } })4. 添加模型切换与测试接口
扩展服务功能,添加模型列表接口方便前端动态切换:
// 示例模型列表,实际应从Taotoken模型广场获取 const availableModels = [ 'claude-sonnet-4-6', 'claude-haiku-4-0', 'gpt-3.5-turbo' ] app.get('/models', (req, res) => { res.json({ models: availableModels }) }) const PORT = 3000 app.listen(PORT, () => { console.log(`服务已启动: http://localhost:${PORT}`) })5. 测试与验证
启动服务并测试接口功能:
node app.js使用curl测试聊天接口:
curl -X POST http://localhost:3000/chat \ -H "Content-Type: application/json" \ -d '{"messages":[{"role":"user","content":"你好,请自我介绍"}],"model":"claude-sonnet-4-6"}'获取可用模型列表:
curl http://localhost:3000/models6. 扩展建议与生产准备
这个基础服务可以进一步扩展:
- 添加用户认证中间件
- 实现对话历史持久化
- 集成Taotoken的用量统计接口
- 添加响应流式传输支持
生产部署时建议:
- 使用PM2等进程管理器
- 配置HTTPS加密
- 实现速率限制
- 监控API调用错误与延迟
Taotoken平台提供了完整的API文档与模型参数说明,开发者可根据实际需求调整服务实现。