从零开始使用 Node.js 和 Taotoken 搭建一个简单的 AI 对话机器人
本文将引导前端或 Node.js 后端开发者,从注册 Taotoken 平台开始,一步步完成一个简单的 AI 对话机器人的搭建。整个过程涉及获取 API Key、初始化 Node.js 项目、配置 OpenAI SDK 以及编写核心对话函数。跟随步骤,你将得到一个可以运行并体验多模型对话能力的程序。
1. 准备工作:获取 Taotoken API Key 与模型 ID
在开始编写代码之前,你需要准备好两个关键信息:API Key 和要调用的模型 ID。
首先,访问 Taotoken 平台并完成注册登录。在控制台的“API 密钥”管理页面,你可以创建一个新的 API Key。请妥善保管此密钥,它相当于访问平台服务的凭证。
其次,你需要决定使用哪个 AI 模型。在 Taotoken 的“模型广场”页面,可以浏览平台所聚合的众多模型。每个模型都有一个唯一的模型 ID,例如claude-sonnet-4-6或gpt-4o-mini。记下你打算使用的模型 ID,后续代码中会用到。
至此,你的准备工作清单上应该有两项:一个以sk-开头的 API Key 和一个具体的模型 ID。
2. 初始化 Node.js 项目并安装依赖
打开你的终端,创建一个新的项目目录并进入。
mkdir taotoken-chatbot && cd taotoken-chatbot接下来,初始化一个新的 Node.js 项目。你可以一路按回车使用默认配置,或者添加-y参数快速生成package.json文件。
npm init -y本项目将使用官方openaiSDK 来发起请求。通过以下命令安装它:
npm install openai此外,为了在开发过程中方便地管理环境变量,我们通常会使用dotenv包。这并非强制,但是一个好习惯。
npm install dotenv安装完成后,你的项目依赖就准备好了。
3. 配置环境变量与 OpenAI 客户端
为了安全地管理敏感信息(如 API Key),我们不应将其硬编码在代码中。在项目根目录下创建一个名为.env的文件。
touch .env在.env文件中,填入你的 Taotoken API Key 和选定的模型 ID。
TAOTOKEN_API_KEY=你的_API_Key_在这里 TAOTOKEN_MODEL=你选择的模型_ID_在这里请确保.env文件已被添加到.gitignore中,避免将密钥意外提交到代码仓库。
接下来,在项目根目录创建主程序文件,例如index.js。在文件开头,我们导入必要的模块并配置 OpenAI 客户端。关键点在于正确设置baseURL,对于 OpenAI 兼容的 SDK,应使用https://taotoken.net/api。
import OpenAI from 'openai'; import * as dotenv from 'dotenv'; // 加载 .env 文件中的环境变量 dotenv.config(); // 初始化 OpenAI 客户端,指向 Taotoken 平台 const client = new OpenAI({ apiKey: process.env.TAOTOKEN_API_KEY, // 从环境变量读取 API Key baseURL: 'https://taotoken.net/api', // 指定 Taotoken 的 OpenAI 兼容端点 });4. 编写核心对话函数
现在,我们来编写一个异步函数,它接收用户输入的消息,调用 AI 模型,并返回模型的回复。这个函数将封装与 Taotoken 平台交互的主要逻辑。
/** * 与 AI 模型进行单轮对话 * @param {string} userMessage - 用户输入的消息 * @returns {Promise<string>} - AI 模型的回复内容 */ async function chatWithAI(userMessage) { try { const completion = await client.chat.completions.create({ model: process.env.TAOTOKEN_MODEL, // 从环境变量读取模型 ID 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 完全兼容。messages参数是一个数组,其中每个对象代表对话中的一条消息。我们这里只包含了一条用户消息,构成了一个单轮对话。你可以轻松扩展它,通过向messages数组追加历史记录来实现多轮对话。
5. 创建简单的交互界面并运行
为了测试我们的对话函数,可以编写一个简单的交互循环。以下示例使用 Node.js 的readline模块,在命令行中实现一个问答循环。
import readline from 'readline'; // 创建命令行交互接口 const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); console.log('AI 对话机器人已启动。输入您的问题,输入“退出”或“exit”结束对话。\n'); /** * 递归函数,处理用户输入并获取 AI 回复 */ async function startChat() { rl.question('您: ', async (input) => { if (input.toLowerCase() === '退出' || input.toLowerCase() === 'exit') { console.log('对话结束。'); rl.close(); return; } console.log('AI 正在思考...'); const reply = await chatWithAI(input); console.log(`AI: ${reply}\n`); // 继续下一轮对话 startChat(); }); } // 启动对话 startChat();将以上所有代码段整合到index.js文件中。现在,你可以在终端运行这个程序了。
node index.js程序启动后,在命令行输入任何问题,例如“你好,请介绍一下你自己”,稍等片刻,就能看到来自你所选 AI 模型的回复。输入“退出”或“exit”即可结束程序。
通过以上步骤,你已经成功搭建了一个基础但功能完整的 AI 对话机器人。它通过 Taotoken 平台统一接入,你可以通过修改.env文件中的TAOTOKEN_MODEL变量,轻松切换至平台支持的其他模型进行体验,而无需更改任何代码逻辑。这正是在项目中引入模型聚合平台带来的便利之一。
想体验更多模型或管理你的 API 使用情况,可以访问 Taotoken 平台进一步探索。