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

使用Nodejs和Taotoken为前端应用构建AI聊天后端

告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度使用Node.js和Taotoken为前端应用构建AI聊天后端基础教程类指导前端或全栈开发者使用Node.js环境接入Taotoken文章将演示如何安装openai包通过环境变量管理密钥并设置baseURL编写一个异步的聊天补全接口函数最终将其集成到一个简单的Express服务器中为前端提供AI对话能力。1. 准备工作与环境配置在开始编写后端服务之前你需要准备好Node.js开发环境和Taotoken的访问凭证。首先确保你的系统已经安装了Node.js建议版本16或更高。然后创建一个新的项目目录并通过终端进入该目录。接下来初始化一个新的Node.js项目并安装必要的依赖。我们将使用Express作为Web框架以及官方的OpenAI Node.js库来与Taotoken的兼容API进行通信。在项目根目录下执行以下命令npm init -y npm install express openai dotenv corsdotenv包用于从.env文件加载环境变量cors包用于处理跨域请求这对于前端应用调用后端API是必要的。现在你需要获取Taotoken的API Key。登录Taotoken控制台在API密钥管理页面创建一个新的密钥。同时在模型广场页面查看并记录下你希望使用的模型ID例如claude-sonnet-4-6或gpt-4o-mini。在项目根目录下创建一个名为.env的文件用于安全地存储你的密钥和配置。文件内容如下TAOTOKEN_API_KEY你的_API_Key_粘贴在这里 PORT3000请务必将.env文件添加到你的.gitignore文件中避免将密钥提交到版本控制系统。2. 创建Taotoken API客户端我们将创建一个独立的模块来封装与Taotoken的交互逻辑。在项目根目录下创建一个名为taotokenClient.js的文件。首先导入openai库并加载环境变量。然后初始化OpenAI客户端关键的一步是正确设置baseURL。对于使用OpenAI兼容SDK如openai包的场景baseURL应设置为https://taotoken.net/api。SDK会自动为你拼接后续的路径如/v1/chat/completions。// taotokenClient.js import OpenAI from openai; import dotenv from dotenv; dotenv.config(); // 初始化客户端配置Taotoken的端点 const client new OpenAI({ apiKey: process.env.TAOTOKEN_API_KEY, baseURL: https://taotoken.net/api, // 注意此处末尾没有 /v1 }); /** * 调用Taotoken聊天补全API * param {Array} messages - 消息数组格式如 [{role: user, content: Hello}] * param {string} model - 模型ID从Taotoken模型广场获取 * returns {Promisestring} - AI返回的文本内容 */ export async function createChatCompletion(messages, model claude-sonnet-4-6) { try { const completion await client.chat.completions.create({ model: model, messages: messages, // 可根据需要添加其他参数如 temperature, max_tokens 等 }); return completion.choices[0]?.message?.content || ; } catch (error) { console.error(调用Taotoken API失败:, error); throw new Error(AI服务请求失败: ${error.message}); } }这个函数接收一个消息历史数组和一个可选的模型ID返回一个Promise其结果为AI生成的文本。错误处理被包裹在try-catch块中以便在API调用失败时向调用方提供清晰的错误信息。3. 构建Express服务器与API路由接下来我们创建主服务器文件server.js设置Express应用并定义一个处理聊天请求的POST接口。// server.js import express from express; import cors from cors; import dotenv from dotenv; import { createChatCompletion } from ./taotokenClient.js; dotenv.config(); const app express(); const PORT process.env.PORT || 3000; // 启用CORS和JSON解析中间件 app.use(cors()); app.use(express.json()); // 健康检查端点 app.get(/health, (req, res) { res.json({ status: ok, service: taotoken-chat-backend }); }); // 主要的聊天API端点 app.post(/api/chat, async (req, res) { const { messages, model } req.body; // 简单的请求验证 if (!messages || !Array.isArray(messages)) { return res.status(400).json({ error: 请求体中必须包含有效的 messages 数组。 }); } try { const aiResponse await createChatCompletion(messages, model); res.json({ success: true, response: aiResponse }); } catch (error) { console.error(处理聊天请求时出错:, error); res.status(500).json({ success: false, error: error.message }); } }); // 启动服务器 app.listen(PORT, () { console.log(后端服务运行在 http://localhost:${PORT}); });这个服务器做了几件事它使用cors()中间件允许前端跨域请求使用express.json()解析JSON请求体定义了一个健康检查端点用于服务探活核心是/api/chat这个POST接口它接收包含messages和可选model的JSON请求体调用我们之前封装的createChatCompletion函数并将结果返回给前端。4. 测试与运行在启动服务前我们需要在package.json中添加type字段和启动脚本以支持ES模块语法。// package.json { name: taotoken-chat-backend, version: 1.0.0, type: module, scripts: { start: node server.js, dev: node --watch server.js }, dependencies: { cors: ^2.8.5, dotenv: ^16.4.5, express: ^4.19.2, openai: ^4.40.2 } }现在你可以运行服务了。在终端执行npm run dev如果看到“后端服务运行在 http://localhost:3000”的日志说明服务已成功启动。你可以使用curl、Postman或任何HTTP客户端来测试API。以下是一个使用curl进行测试的例子curl -X POST http://localhost:3000/api/chat \ -H Content-Type: application/json \ -d { messages: [ {role: user, content: 用一句话介绍你自己。} ], model: claude-sonnet-4-6 }如果一切配置正确你将收到一个包含AI回复的JSON响应。5. 前端集成与后续步骤后端服务就绪后前端应用无论是React、Vue还是原生JavaScript可以通过标准的fetch或axios库调用http://你的服务器地址/api/chat接口。前端需要构建符合要求的messages数组并处理返回的响应。对于生产环境你还需要考虑更多方面例如在Express中添加更完善的错误处理、请求速率限制、输入验证与清理以及将API Key等敏感信息通过环境变量注入到部署平台如Vercel、Railway或你自己的服务器。此外Taotoken控制台提供的用量看板可以帮助你监控Token消耗和API调用情况。通过以上步骤你已经成功搭建了一个连接Taotoken与前端应用的Node.js桥梁。这个基础结构可以根据你的具体业务需求进行扩展例如支持流式响应、处理多轮对话上下文或集成多个AI模型进行路由调用。所有具体的API参数、支持的模型列表及其特性请以Taotoken官方文档和控制台信息为准。 告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度

相关文章:

使用Nodejs和Taotoken为前端应用构建AI聊天后端

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Node.js和Taotoken为前端应用构建AI聊天后端 基础教程类,指导前端或全栈开发者使用Node.js环境接入Taotoken&#…...

数据分析进阶——【连载 5/9】《Power BI数据分析与可视化案例教程》项目5 数据建模

Power BI 数据建模教程|推介总结 适应人群:数据分析师、业务分析人员、财务 / 运营 / 销售岗、高校学生、企业内训学员、Power BI 进阶学习者。 重要性总结:本文档是 Power BI 数据建模核心实操教程,系统讲解数据建模全流程&#…...

Pytorch图像去噪实战(七十四):Kubernetes部署图像去噪服务,实现容器编排和弹性扩展

Pytorch图像去噪实战(七十四):Kubernetes部署图像去噪服务,实现容器编排和弹性扩展 一、问题场景:Docker Compose够用,但多服务扩展开始吃力 前面我们用 Docker Compose 部署了图像去噪服务。 Compose 对单机部署非常好用,但当项目变复杂后,会遇到: 多台机器部署困难…...

如何绕过Cursor Pro试用限制:技术原理与实战指南

如何绕过Cursor Pro试用限制:技术原理与实战指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial re…...

Pytorch图像去噪实战(七十三):ELK日志采集实战,集中分析接口异常、慢请求和用户上传问题

Pytorch图像去噪实战(七十三):ELK日志采集实战,集中分析接口异常、慢请求和用户上传问题 一、问题场景:日志散落在各个容器里,排查问题非常痛苦 图像去噪服务上线后,日志会越来越多: FastAPI访问日志 模型推理日志 Nginx访问日志 Worker任务日志 Celery错误日志 GPU异…...

2026年图片换背景免费工具完全指南:一键抠图软件推荐

现在是5月,我想很多人都在为各种证件照、商品图、头像等需要换背景的图片犯愁。前两天有朋友问我"哪个软件可以给图片换背景",我才意识到很多人还在用古老的PS或者繁琐的在线工具。今天就来给大家分享一下2026年最好用的图片换背景工具&#x…...

终极指南:MobileAgent如何用AI智能体彻底改变跨平台自动化体验

终极指南:MobileAgent如何用AI智能体彻底改变跨平台自动化体验 【免费下载链接】MobileAgent Mobile-Agent: The Powerful GUI Agent Family 项目地址: https://gitcode.com/GitHub_Trending/mo/mobileagent 你是否曾经想过,如果有一个AI助手能够…...

AI抠图的几种方法:从传统到智能,一文掌握所有工具和技巧

最近被问得最多的问题就是:"怎么快速给图片换个背景?"、"证件照怎么自己换底色?"、"商品图去背景用什么工具?"。说实话,随着AI技术的发展,抠图这件事已经从"需要Photos…...

clawhealth:本地化Garmin健康数据同步与自动化分析工具实践

1. 项目概述:打造你的本地健康数据中心如果你和我一样,手腕上常年戴着一块Garmin手表,每天看着它记录步数、心率、睡眠,但总觉得这些数据只是躺在Garmin Connect的云端,自己没法真正“拥有”和分析,那么cla…...

实测:2026 年国内直连 AI 一站式平台,聊天 / 绘画 / 论文 / 视频全搞定,不用翻墙不花冤枉钱

最近 AI 圈真的太卷了。ChatGPT 5.4、Gemini 3.1、Claude Code 轮番上新,多模态、长文本、代码 Auto Mode 一个比一个强。但普通用户想用明白,真的太折腾。先说说我踩过的三大坑,句句大实话网络糟心到崩溃官网打不开、地区不可用、加载转圈、…...

管式土壤墒情监测站:深埋地下测湿度,云端上报助灌溉

管式土壤墒情监测站采用土壤介电常数检测原理,结合专业数学模型算法,搭配独创螺旋式测量电极结构开展高精度土壤含水率监测。土壤介电常数与土壤含水量存在稳定且精准的对应关系,设备通过传感器高频感知土层介电参数变化,经内置算…...

4. 打破ASR技术瓶颈:Whisper-1模型原理、性能与落地实践

1. 引言 语音识别(Automatic Speech Recognition, ASR)是人工智能领域的核心技术方向之一,其历史可追溯至20世纪50年代贝尔实验室的Audrey系统——这一仅能识别10个英文数字的早期系统,标志着机器理解人类语音的开端。此后半个多…...

开放-构建-创新-连接:AMD AI开发者日即将登陆上海

近日,AMD宣布其面向AI 开发者的年度技术盛会2026年AMD AI 开发者日 (AMD AI DevDay 2026) 将于 5 月 19 日在上海前滩香格里拉酒店举行,AMD 董事会主席兼首席执行官 Lisa Su 博士也将出席并发表演讲。 本着“开放-构建-创新-连接”的理念,本…...

3分钟快速上手:91160-cli医疗预约自动化助手完整指南

3分钟快速上手:91160-cli医疗预约自动化助手完整指南 【免费下载链接】91160-cli 健康160全自动挂号脚本,捡漏神器 项目地址: https://gitcode.com/gh_mirrors/91/91160-cli 还在为医院挂号难而烦恼吗?91160-cli是一款专为医疗预约设计…...

高校vs中小学气象站:核心区别

绝大多数普通校园气象站仅适合中小学可视化科普展示,数据精度低、无原始数据导出、无开放接口、参数单一,完全无法满足高校教学科研需求。中小学设备:侧重外观展示、简单数据观看、趣味科普,精度普通、数据封闭、无科研溯源能力&a…...

别再只点灯了!用ESP32和WebServer库做个智能家居控制面板原型(附完整代码)

用ESP32打造智能家居控制面板:从网页控制到硬件交互实战 想象一下,清晨醒来无需下床,轻点手机就能打开窗帘、调节灯光;离家时一键关闭所有电器,还能实时查看家中温湿度——这些看似未来的场景,如今用一块ES…...

STM32F1/F4外部SRAM(IS62WV51216)FSMC配置避坑指南:从硬件连接到时序计算

STM32F1/F4外部SRAM(IS62WV51216)FSMC配置避坑指南:从硬件连接到时序计算 在嵌入式系统开发中,当STM32的内部SRAM容量不足以满足需求时,扩展外部SRAM成为提升系统性能的有效方案。IS62WV51216作为一款常见的16位宽512K…...

YOLOv11室内展台飞机模型目标检测数据集-182张-Airplane-1_4_2

YOLOv11室内展台飞机模型目标检测数据集 📊 数据集基本信息 目标类别: [‘airplane’] 中文类别:[‘飞机’] 训练集:159 张 验证集:23 张 测试集:0 张 总计:182 张 📄 data.yaml 配置信息 该数据集提供了data.yaml文件,内容如下: train: ../train/images val: .…...

基于OpenClaw构建开源项目与Docker镜像自动化监控方案

1. 项目概述 作为一个常年泡在开源社区和容器生态里的开发者,我深知“追新”的痛。今天这个项目发布了v2.0,明天那个镜像更新了安全补丁,手动去GitHub和Docker Hub一个个检查,效率低不说,还容易遗漏关键更新。为了解决…...

避坑指南:用Qt为STM32项目写上位机时,我遇到的5个串口和界面难题

避坑指南:用Qt为STM32项目写上位机时,我遇到的5个串口和界面难题 第一次用Qt给STM32开发上位机时,我以为串口通信不过是简单的数据收发,界面设计拖拖控件就能搞定。直到项目进度被各种诡异bug拖慢两周后,才意识到自己踩…...

在Hermes Agent项目中集成Taotoken实现自定义模型供应商的切换

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Hermes Agent项目中集成Taotoken实现自定义模型供应商的切换 1. 场景与目标 Hermes Agent 是一个功能强大的智能体开发框架&…...

别再只用rand()了!Qt 5.10+ 的 QRandomGenerator 让你的随机数更安全、更高效

别再只用rand()了!Qt 5.10 的 QRandomGenerator 让你的随机数更安全、更高效 在开发过程中,随机数生成是一个看似简单却暗藏玄机的功能。许多开发者习惯性地使用C标准库中的rand()函数,殊不知这种做法在现代软件开发中已经显得力不从心。rand…...

AI教材编写利器!低查重AI写教材工具,快速生成30万字专业教材!

在开始编写教材之前,选择合适的工具真的是一个“非常纠结”的过程!如果用常见的办公软件来写,功能太简单,框架设计和格式处理都得自己手动来搞;而要是尝试那些专业的编写工具,又会觉得操作太复杂&#xff0…...

FastAPI + 异步 SQLAlchemy 实战:从零搭建图书管理 CRUD 项目

前言 本篇将从零开始,带你搭建一个完整的异步图书管理 CRUD 项目,覆盖环境搭建、数据库连接、模型定义、12 种核心接口实现。献给和博主一样刚踏入SQLAlchemy的新手小白们。 注意:本文基础知识较多,不需要的大佬可直接跳到具体操…...

Windows 10/11 下 Node.js 安装踩坑实录:为鸿蒙HarmonyOS开发扫清环境障碍

Windows 10/11 下 Node.js 安装踩坑实录:为鸿蒙HarmonyOS开发扫清环境障碍 当你在Windows系统上准备搭建鸿蒙HarmonyOS开发环境时,Node.js的安装往往是第一个拦路虎。不同于官方文档中"下一步到底"的理想化流程,真实场景中你会遇到…...

抖音无水印下载神器:3分钟实现高效批量下载的完整指南

抖音无水印下载神器:3分钟实现高效批量下载的完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppo…...

【C++ 多态】虚函数 · 虚表 · 重写,一篇彻底弄明白!

C 多态详解 C多态是面向对象的核心灵魂,本文将由浅入深,带你循序渐进地掌握多态的方方面面,全程干货,坐稳发车~ ദ്ദി˶ー̀֊ー́ )✧ 文章目录C 多态详解1. 什么是多态?2. 运行时多态的实现前…...

从数据模型到领域驱动设计:数据库抽象与微服务实践的演进

在软件开发的漫长历史中,如何有效地对现实世界进行建模,始终是核心挑战之一。从早期的层次数据库到当今的微服务架构,数据模型作为连接业务需求与技术实现的桥梁,经历了深刻的演变。本文基于对概念数据模型、基本数据模型和面向对象模型的系统探讨,进一步延伸到领域驱动设…...

Claw-ED:基于教学风格学习的AI助教,一键生成个性化教学包

1. 项目概述:一个为教师而生的AI教学助手 如果你是一位一线教师,每天被备课、写教案、做课件、设计学生活动、准备分层材料这些繁琐工作压得喘不过气,同时又对市面上那些“通用”的AI工具生成的、充满“AI腔”的教案感到失望,那么…...

高性能ai编程工具zed配置deepseek 开启ai agent对话及代码补全

配置ai助手 进入设置页配置deepseek apikey配置代码补全 进入setting->edit pridic -> config.json文件。替换下面内容{"show_edit_predictions": true,// ✅ 代码补全核心配置(关键修改)"edit_predictions": {"provide…...