将 ChatGPT API 与 Node.js 集成是向应用程序添加自然语言处理功能的强大方法。在这篇文章中,我们将探讨如何设置集成,从安装必要的库到实现 ChatGPT API 调用。
首先,创建一个新的 Node.js 项目并安装必要的依赖项。我们将使用 axios 发出 HTTP 请求,并使用 dotenv 来管理环境变量。
mkdir chatgpt-nodejs cd chatgpt-nodejs npm init -y npm install axios dotenv
在您的项目目录中,创建一个 .env 文件来存储您的 OpenAI API 密钥:
OPENAI_API_KEY=your-api-key-here
现在,创建一个index.js文件并添加基本代码来配置dotenv和axios的使用:
require('dotenv').config(); const axios = require('axios'); const apiKey = process.env.OPENAI_API_KEY; const apiUrl = 'https://api.openai.com/v1/chat/completions'; async function getChatGPTResponse(prompt) { try { const response = await axios.post(apiUrl, { model: "gpt-4", messages: [{ role: "user", content: prompt }], max_tokens: 150, }, { headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json' } }); const reply = response.data.choices[0].message.content; console.log('ChatGPT:', reply); } catch (error) { console.error('Error fetching response:', error.response ? error.response.data : error.message); } } getChatGPTResponse('Olá, como você está?');
要运行代码,请运行命令:
node index.js
如果一切配置正确,您将在控制台中看到 ChatGPT 响应。
您可以调整 API 调用中的多个参数,例如模型、响应令牌的数量 (max_tokens),甚至可以在消息列表中包含上下文消息。例如:
const conversation = [ { role: "system", content: "Você é um assistente útil." }, { role: "user", content: "Me explique o que é uma API." } ]; async function getChatGPTResponse(messages) { try { const response = await axios.post(apiUrl, { model: "gpt-4", messages: messages, max_tokens: 150, }, { headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json' } }); const reply = response.data.choices[0].message.content; console.log('ChatGPT:', reply); } catch (error) { console.error('Error fetching response:', error.response ? error.response.data : error.message); } } getChatGPTResponse(conversation);
将 ChatGPT API 与 Node.js 集成是一项相对简单的任务,可以为您的应用程序添加高级 AI 功能。借助 API 的灵活性,您可以创建从会话助手到复杂的自然语言处理系统的所有内容。
尝试不同的提示和设置,看看 ChatGPT 如何适应您的特定需求!
这是开始集成的基本示例。随着您对 API 越来越熟悉,您可以探索更高级的功能,例如微调模型和使用更复杂的对话上下文。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3