🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度
使用Node.js和Taotoken构建一个简单的AI对话服务端
基础教程类,面向Node.js后端开发者,讲解如何初始化一个项目,安装openai包,并配置baseURL与环境变量来连接Taotoken服务,编写一个异步函数处理聊天补全请求,最终部署一个可接收请求并返回AI回复的简易HTTP服务。
1. 项目初始化与环境准备
开始之前,你需要确保本地已经安装了Node.js运行环境。我们将创建一个新的项目目录,并初始化一个Node.js项目。打开你的终端,执行以下命令来创建项目文件夹并进入。
mkdir taotoken-chat-server cd taotoken-chat-server npm init -ynpm init -y命令会快速生成一个默认的package.json文件。接下来,我们需要安装项目依赖。核心依赖是官方的openaiSDK,它将帮助我们以编程方式调用大模型API。此外,我们还需要express来构建一个简单的Web服务器,以及dotenv来管理环境变量。
npm install openai express dotenv安装完成后,你的package.json文件中的dependencies部分应该会包含这三个包。为了在开发时能够热重载,我们也可以安装nodemon作为开发依赖。
npm install --save-dev nodemon然后,在项目根目录下创建一个名为.env的文件。这个文件用于存储敏感信息和配置,比如你的Taotoken API Key。请务必将.env添加到你的.gitignore文件中,避免将密钥提交到代码仓库。
2. 获取并配置Taotoken API密钥
要使用Taotoken的服务,你首先需要一个API Key。请访问Taotoken平台,注册并登录后,在控制台的API Key管理页面创建一个新的密钥。创建成功后,复制这个密钥。
打开刚才创建的.env文件,将你的API Key和想要使用的模型ID填入。模型ID可以在Taotoken平台的模型广场页面查看和选择。
TAOTOKEN_API_KEY=你的_API_Key_粘贴在这里 TAOTOKEN_MODEL=claude-sonnet-4-6 PORT=3000这里我们设置了三个环境变量:TAOTOKEN_API_KEY用于存放密钥,TAOTOKEN_MODEL指定默认使用的模型,PORT定义了我们的HTTP服务将要监听的端口号。
3. 编写核心的AI对话函数
接下来,我们创建项目的主逻辑文件。在项目根目录下创建一个名为app.js的文件。首先,我们需要导入必要的模块并加载环境变量。
// app.js import OpenAI from 'openai'; import express from 'express'; import * as dotenv from 'dotenv'; dotenv.config();现在,初始化OpenAI客户端。这是连接Taotoken服务的关键步骤。你需要将baseURL设置为https://taotoken.net/api,并将API Key从环境变量中传入。
const client = new OpenAI({ apiKey: process.env.TAOTOKEN_API_KEY, baseURL: 'https://taotoken.net/api', });然后,我们编写一个异步函数来处理与AI模型的对话。这个函数接收一个消息字符串,调用Taotoken的聊天补全接口,并返回AI的回复。
async function getAIResponse(userMessage) { try { const completion = await client.chat.completions.create({ model: process.env.TAOTOKEN_MODEL, messages: [{ role: 'user', content: userMessage }], // 可根据需要添加其他参数,如 temperature, max_tokens 等 }); return completion.choices[0]?.message?.content || '未收到回复。'; } catch (error) { console.error('调用AI服务时出错:', error); return `请求处理失败: ${error.message}`; } }这个函数使用了client.chat.completions.create方法,其请求格式与OpenAI官方API完全兼容。我们传入模型ID和用户消息,然后从响应中提取AI的回复内容。错误处理部分确保了服务在API调用异常时也能给出友好的提示。
4. 构建并启动HTTP服务
有了核心的对话函数,我们现在需要创建一个Web服务器来暴露一个API端点。我们将使用Express框架,因为它简单易用。
在app.js文件的后续部分,初始化Express应用并设置一个用于处理聊天请求的POST接口。
const app = express(); const port = process.env.PORT || 3000; // 中间件:解析JSON格式的请求体 app.use(express.json()); // 定义聊天接口 app.post('/api/chat', async (req, res) => { const { message } = req.body; if (!message || typeof message !== 'string') { return res.status(400).json({ error: '请求体中必须包含有效的 message 字符串。' }); } const aiReply = await getAIResponse(message); res.json({ reply: aiReply }); }); // 可选的根路径访问提示 app.get('/', (req, res) => { res.send('AI对话服务已运行。请使用 POST /api/chat 接口进行对话。'); }); // 启动服务器 app.listen(port, () => { console.log(`服务端运行在 http://localhost:${port}`); });这段代码创建了一个Express应用,添加了JSON解析中间件。它定义了两个路由:POST /api/chat是主要的对话接口,它从请求体中获取用户消息,调用我们之前写的getAIResponse函数,并将AI的回复以JSON格式返回;GET /是一个简单的状态页。
最后,在package.json文件中添加一个启动脚本,以便于运行我们的服务。
{ "scripts": { "start": "node app.js", "dev": "nodemon app.js" } }现在,你可以在终端运行npm run dev来启动开发服务器。看到“服务端运行在 http://localhost:3000”的日志后,就说明服务已经成功启动。
5. 测试与部署
服务启动后,你可以使用任何HTTP客户端工具进行测试,例如curl或者Postman。以下是一个使用curl进行测试的例子。
curl -X POST http://localhost:3000/api/chat \ -H "Content-Type: application/json" \ -d '{"message": "你好,请介绍一下你自己。"}'如果一切配置正确,你应该会收到一个包含AI回复的JSON响应。这个简易的服务端现在已经可以处理对话请求了。对于生产环境部署,你可以考虑使用PM2等进程管理工具来守护Node.js进程,并将服务部署到云服务器或容器平台上。记得在部署环境中正确设置.env文件里的所有变量。
通过以上步骤,我们完成了一个连接Taotoken平台、具备基础AI对话能力的Node.js服务端。整个流程涵盖了从项目初始化、密钥配置、SDK集成到API封装和Web服务搭建的全过程,你可以在此基础上扩展错误处理、对话历史、多模型支持等功能。
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度