使用nodejs快速搭建对接taotoken的简单聊天服务
使用 Node.js 快速搭建对接 Taotoken 的简单聊天服务1. 准备工作在开始之前请确保您已经完成以下准备工作注册 Taotoken 账号并登录控制台在控制台中创建 API Key在模型广场查看并记录您想要使用的模型 ID确保本地已安装 Node.js 16 或更高版本您可以通过node -v命令检查 Node.js 版本。如果尚未安装可以从 Node.js 官网下载并安装最新 LTS 版本。2. 初始化项目创建一个新的项目目录并初始化 Node.js 项目mkdir taotoken-chat-demo cd taotoken-chat-demo npm init -y安装必要的依赖包npm install openai express dotenv这里我们使用了openai官方 JavaScript 库来简化 API 调用express用于创建简单的 Web 服务dotenv用于管理环境变量。3. 配置环境变量在项目根目录下创建.env文件内容如下TAOTOKEN_API_KEYyour_api_key_here TAOTOKEN_MODELclaude-sonnet-4-6 PORT3000请将your_api_key_here替换为您在 Taotoken 控制台中获取的实际 API Key模型 ID 可以根据需要从模型广场中选择。安全提示请确保将.env文件添加到.gitignore中避免将敏感信息提交到版本控制系统。4. 创建基础聊天服务在项目根目录下创建server.js文件内容如下import express from express; import OpenAI from openai; import dotenv from dotenv; dotenv.config(); const app express(); app.use(express.json()); const openai new OpenAI({ apiKey: process.env.TAOTOKEN_API_KEY, baseURL: https://taotoken.net/api, }); app.post(/chat, async (req, res) { try { const { messages } req.body; const completion await openai.chat.completions.create({ model: process.env.TAOTOKEN_MODEL, messages, }); res.json({ response: completion.choices[0]?.message?.content }); } catch (error) { console.error(Error:, error); res.status(500).json({ error: error.message }); } }); const PORT process.env.PORT || 3000; app.listen(PORT, () { console.log(Server running on port ${PORT}); });5. 添加流式响应支持如果您希望支持流式响应可以修改/chat路由如下app.post(/chat/stream, async (req, res) { try { const { messages } req.body; const stream await openai.chat.completions.create({ model: process.env.TAOTOKEN_MODEL, messages, stream: true, }); res.setHeader(Content-Type, text/plain); for await (const chunk of stream) { const content chunk.choices[0]?.delta?.content || ; res.write(content); } res.end(); } catch (error) { console.error(Error:, error); res.status(500).json({ error: error.message }); } });6. 测试服务启动服务node server.js使用 curl 测试普通聊天接口curl -X POST http://localhost:3000/chat \ -H Content-Type: application/json \ -d {messages:[{role:user,content:你好请介绍一下你自己}]}测试流式接口curl -X POST http://localhost:3000/chat/stream \ -H Content-Type: application/json \ -d {messages:[{role:user,content:你好请介绍一下你自己}]}7. 扩展前端界面可选如果您希望添加简单的前端界面可以创建public目录并添加 HTML 文件。这里提供一个简单的示例在项目根目录下创建public/index.html!DOCTYPE html html head titleTaotoken 聊天演示/title script async function sendMessage() { const input document.getElementById(message); const output document.getElementById(response); output.textContent 思考中...; try { const response await fetch(/chat, { method: POST, headers: { Content-Type: application/json }, body: JSON.stringify({ messages: [{ role: user, content: input.value }] }) }); const data await response.json(); output.textContent data.response; } catch (error) { output.textContent 出错: error.message; } } /script /head body h1Taotoken 聊天演示/h1 input idmessage typetext placeholder输入消息... button onclicksendMessage()发送/button div idresponse stylemargin-top: 20px;/div /body /html然后在server.js中添加静态文件服务app.use(express.static(public));现在访问http://localhost:3000就可以看到简单的聊天界面了。8. 部署与后续步骤完成本地开发后您可以将此服务部署到任何支持 Node.js 的云平台。部署时需要注意确保生产环境中正确设置了环境变量考虑添加适当的错误处理和日志记录根据需求添加身份验证和速率限制监控 API 使用情况和费用您可以在 Taotoken 控制台中查看 API 使用情况和费用统计帮助您更好地管理资源。如需了解更多关于 Taotoken 的功能和使用方式请访问 Taotoken。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2572558.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!