当前位置: 首页 > news >正文

使用 Node js 与 Taotoken 构建一个简单的 AI 对话服务端

告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度使用 Node.js 与 Taotoken 构建一个简单的 AI 对话服务端对于前端或 Node.js 服务端开发者而言快速集成 AI 对话能力是提升应用智能水平的关键一步。通过 Taotoken 平台提供的 OpenAI 兼容 API你可以用熟悉的openainpm 包以极低的接入成本构建一个独立的 AI 对话服务端。本文将指导你完成从项目初始化到部署一个可运行服务的完整过程。1. 项目初始化与环境准备首先你需要创建一个新的 Node.js 项目目录并初始化。打开终端执行以下命令mkdir taotoken-chat-server cd taotoken-chat-server npm init -y接下来安装项目依赖。核心依赖是openai官方 Node.js 库它将用于发起 API 请求。同时我们也会安装dotenv来管理环境变量以及express来构建一个简单的 HTTP 服务器。npm install openai dotenv express安装完成后你的package.json文件中的dependencies部分应包含这些包。2. 获取并配置 Taotoken API 密钥在使用 Taotoken 服务前你需要一个有效的 API Key。请访问 Taotoken 官方网站注册并登录后在控制台创建一个新的 API Key。请妥善保管此密钥它将在后续步骤中用于身份验证。在项目根目录下创建一个名为.env的文件用于安全地存储敏感信息。将你的 Taotoken API Key 填入其中TAOTOKEN_API_KEY你的_API_Key_在这里 PORT3000这里我们还定义了一个PORT变量用于指定稍后启动的 HTTP 服务端口。请务必将.env文件添加到.gitignore中避免将密钥提交到版本控制系统。3. 核心对话函数编写现在我们来编写与 Taotoken API 交互的核心逻辑。创建一个名为chatService.js的文件。首先加载环境变量并初始化 OpenAI 客户端。关键在于正确设置baseURL参数使其指向 Taotoken 的 OpenAI 兼容端点。// chatService.js import OpenAI from openai; import dotenv from dotenv; dotenv.config(); // 初始化 OpenAI 客户端配置 Taotoken 的 Base URL const client new OpenAI({ apiKey: process.env.TAOTOKEN_API_KEY, baseURL: https://taotoken.net/api, // 注意此处 baseURL 末尾不带 /v1 }); /** * 向 Taotoken 发送聊天请求 * param {Array} messages - 对话消息数组格式为 [{role: user, content: Hello}, ...] * param {string} model - 模型标识符可在 Taotoken 模型广场查看 * returns {PromiseObject} - 返回 API 的完整响应或错误信息 */ export async function createChatCompletion(messages, model claude-sonnet-4-6) { try { const completion await client.chat.completions.create({ model: model, messages: messages, stream: false, // 本例使用非流式响应 }); return completion; } catch (error) { console.error(调用 Taotoken API 时发生错误:, error); // 可以选择将错误信息更友好地返回给调用方 throw new Error(AI 服务请求失败: ${error.message}); } }代码解析baseURL设置为https://taotoken.net/api。这是使用 OpenAI 官方 Node.js SDK 时的标准配置SDK 会自动在其后拼接/v1/chat/completions等具体路径。model参数的值如claude-sonnet-4-6需要与 Taotoken 模型广场中列出的模型 ID 保持一致。你可以在控制台的模型广场查看所有可用模型及其对应 ID。函数封装了 API 调用并进行了基本的错误处理。4. 构建 Express 服务器接下来我们创建一个简单的 HTTP 服务器对外提供一个接收用户消息并返回 AI 回复的接口。创建server.js文件。// server.js import express from express; import dotenv from dotenv; import { createChatCompletion } from ./chatService.js; dotenv.config(); const app express(); const port process.env.PORT || 3000; // 中间件解析 JSON 格式的请求体 app.use(express.json()); // 健康检查端点 app.get(/, (req, res) { res.json({ status: ok, message: Taotoken Chat Server is running. }); }); // 主要的聊天 API 端点 app.post(/api/chat, async (req, res) { const { message, model } req.body; // 验证必要的输入 if (!message || typeof message ! string) { return res.status(400).json({ error: 请提供有效的 message 字段字符串。 }); } const userMessage { role: user, content: message }; const targetModel model || claude-sonnet-4-6; // 支持前端指定模型 try { const completion await createChatCompletion([userMessage], targetModel); // 从响应中提取 AI 回复内容 const aiResponse completion.choices[0]?.message?.content || 未收到有效回复。; res.json({ success: true, reply: aiResponse, usage: completion.usage, // 返回 Token 使用量便于成本观察 model: completion.model }); } catch (error) { console.error(服务端处理错误:, error); res.status(500).json({ success: false, error: error.message }); } }); // 启动服务器 app.listen(port, () { console.log(服务端已启动监听端口: ${port}); console.log(测试接口地址: http://localhost:${port}/api/chat); });这个服务器提供了两个端点一个根路径用于健康检查一个/api/chat的 POST 接口用于处理聊天请求。它接收 JSON 格式的请求体包含message用户输入和可选的model参数并将 Taotoken API 的回复结构化地返回给客户端。5. 运行与测试服务首先确保你的package.json中已配置type: module以支持 ES6 模块语法。如果初始化时未添加请手动添加。{ name: taotoken-chat-server, version: 1.0.0, type: module, ... }现在可以启动服务器了。在终端运行node server.js如果看到“服务端已启动”的日志说明服务运行成功。你可以使用curl命令或任何 API 测试工具如 Postman进行测试。curl -X POST http://localhost:3000/api/chat \ -H Content-Type: application/json \ -d {message: 你好请介绍一下你自己。, model: claude-sonnet-4-6}如果一切配置正确你将收到一个包含 AI 回复的 JSON 响应。响应中的usage字段包含了本次对话消耗的 Token 数量这有助于你在 Taotoken 控制台的用量看板中跟踪成本。6. 后续扩展与注意事项至此一个基础的 AI 对话服务端已经构建完成。你可以在此基础上进行扩展例如增加对话历史管理、支持流式响应SSE、添加身份验证中间件或者将其集成到更大的后端应用中。有几个关键点需要始终注意API Key 安全永远不要在前端代码或客户端暴露你的 Taotoken API Key。所有调用都应通过类似本文构建的后端服务进行中转。模型选择你可以通过修改请求中的model字段轻松切换使用 Taotoken 模型广场上的其他模型无需更改代码逻辑。错误处理生产环境中需要更健壮的错误处理与重试机制以应对网络波动或 API 限流。成本控制利用 Taotoken 控制台提供的用量看板密切关注 Token 消耗情况并据此设置预算或告警。通过以上步骤你成功搭建了一个连接 Taotoken 服务的 Node.js 后端桥梁。这为你的应用程序接入多种大模型能力提供了一个统一、可控的入口。要开始使用 Taotoken 服务获取 API Key 并探索更多可用模型可以访问 Taotoken。 告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度
http://www.zskr.cn/news/1327099.html

相关文章:

  • 别再用记事本了!用Notepad++正则表达式5分钟批量清理课程目录
  • 卓晴老师每天分享三四篇CSDN,我是如何用RSS+Obsidian打造个人技术知识库的
  • 3步搭建Sunshine游戏串流服务器:免费开源的自托管云游戏解决方案
  • 5分钟终极兼容性修复:让魔兽争霸3在现代系统完美重生
  • 手把手教你用GD32E230驱动LED:从点亮到闪烁的完整代码与SysTick延时配置
  • SSH安全加固实战:从基础配置到公钥认证与Fail2Ban部署
  • 数据库监控与性能调优
  • C++ 中函数对象的形式概述
  • 电缆故障排查的高效保障:DLG-1 高压发生器技术与应用
  • 贝壳第一季净收入189亿:经调净利润16.11亿同比增15.7%
  • 嵌入式开发板网络配置实战:直连、路由、交换机模式详解与排错指南
  • 如何用3步将B站视频变成文字稿?这个智能转录工具让你告别手动记录
  • 避坑指南:用IDEA写Spark程序时,你可能会遇到的5个典型错误及解决方法(含winutils.exe配置)
  • C语言printf/scanf格式化I/O深度解析:从基础原理到嵌入式实战
  • 探讨专业的汽车改色贴膜商家,人鱼汽车贴膜靠谱吗 - myqiye
  • LabVIEW FPGA图形化编程避坑指南:从Verilog流水灯到IP集成节点的完整配置流程
  • iCloud 备份恢复聊天记录,这一步做错直接全白费
  • C/C++多线程编程:pthread_mutex锁的三种初始化方式,你真的用对了吗?
  • 分析有实力的智能软水机、品质净水及用专利树脂的软水机品牌哪个口碑好 - myqiye
  • 机器人测试中的重复性与准确性原理与实践
  • LabVIEW NXG应对5G、AI与无人驾驶测试挑战的实战解析
  • 【FPGA】高云FPGA PLL锁相环IP核实战:从配置到多时钟域系统验证
  • 2026年好用的面试培训机构推荐,白雪面试 - 工业品牌热点
  • 从竞赛到应用:揭秘基于FPGA的超低时延激光投影系统设计全流程
  • 联想拯救者笔记本终极性能调校指南:释放硬件潜能的5个必知技巧
  • Banana Pi BPI-M4开发板深度评测:低成本ARM平台的硬件解析与项目实战
  • 黄金回收白银回收铂金回收彩金回收店铺推荐 玉溪市2026最新五家靠谱回收门店TOP5排行榜及联系方式推荐_转自TXT - 大熊猫898989
  • Hitboxer:终极免费SOCD按键重映射工具,3分钟解决游戏输入冲突
  • 3分钟完成Windows包管理器Winget的终极一键安装指南
  • 如何快速实现GitHub界面全面中文化:3分钟安装终极汉化插件