如何在NodeJS中使用ChatGPT API?
ChatGPT 是 OpenAI 开发的一款功能强大的聊天机器人,它利用自然语言处理技术,能够像人类一样进行交互。ChatGPT 因其一些先进的功能而广受开发者欢迎,例如理解和解释代码,甚至根据文本需求生成代码。OpenAI 不仅在其网站上提供了 ChatGPT 的聊天机器人功能,还提供了一个 API,帮助我们将 ChatGPT 集成到应用程序和项目中。通过该 API,我们可以发出 HTTP 请求并相应地利用响应。

本文将逐步介绍如何在Node.js项目中集成ChatGPT API 。
在 Node.js 应用程序中使用 ChatGPT
将 ChatGPT 功能添加到我们的大型 NodeJS 应用中,可以显著提升用户体验。本文将逐步介绍如何获取 API 密钥,以及如何创建一个使用OpenAI API的 NodeJS 应用,使其功能类似于 ChatGPT,并允许用户通过该应用与 ChatGPT 进行对话。以下是在 NodeJS 应用中使用 ChatGPT 的完整步骤。
1. 创建 Node.js 应用程序
首先,我们将为项目创建一个目录,例如chatgpt-api-nodejs,可以使用图形界面创建,也可以将以下命令粘贴到终端中,并指定机器上的目标位置:
mkdir chatgpt-api-nodejs
现在,将目录更改为新创建的文件夹:
cd chatgpt-api-nodejs
要初始化 Node.js 项目,请运行以下命令,该命令会创建一个 package.json 文件来跟踪项目详细信息。
npm init -y
我们将使用axios它来发出 HTTP 请求和dotenv管理环境变量。
npm install axios dotenv
2. 获取 OpenAI API 密钥
要使用该 API,我们需要生成 API 密钥。
A.为此,请访问 OpenAI 并注册或登录(如果您已有帐户)。
B.然后点击 API 选项
C.在左侧角落,您会看到 API 密钥,点击它将打开 API 密钥部分。点击“创建新密钥”,创建一个新的密钥。
D.点击“创建新密钥”按钮。这将打开一个对话框,要求输入密钥名称(可选)。完成后,点击“创建密钥”。
E.此时会弹出一个对话框,显示您的密钥/API密钥。复制密钥并点击“完成”。请妥善保存密钥,切勿与任何人分享。
创建一个新文件,用于创建存储 API 密钥的环境变量。
touch .env
在文件中创建一个变量,OPENAI_API_KEY并将"YOUR OPEN AI API KEY" with 你的 API 密钥替换为该变量(保留引号)。
OPENAI_API_KEY="YOUR OPEN AI API KEY"
3. 实现 NodeJS 应用程序
创建一个名为 index.js 的 JavaScript 文件,并将以下代码粘贴到该文件中。
require('dotenv').config();
const axios = require('axios');
const API_URL = 'https://api.openai.com/v1/chat/completions';
const API_KEY = process.env.OPENAI_API_KEY;
async function getChatResponse(prompt) {
try {
const response = await axios.post(
API_URL,
{
model: "gpt-3.5-turbo",
messages: [{ role: "user", content: prompt }],
max_tokens: 100,
},
{
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
}
);
return response.data.choices[0].message.content;
} catch (error) {
console.error("Error calling ChatGPT API:", error.response ? error.response.data : error.message);
}
}
(async () => {
const response = await getChatResponse("What is ChatGPT?");
console.log("ChatGPT Response:", response);
})();
4. 运行应用程序
要运行该应用程序,请在终端中运行以下命令。
node index.js
上述代码通过命令行接收输入提示,并打印 ChatGPT 模型生成的响应。
输出

更多推荐



所有评论(0)