ChatGPT是一个由OpenAI开发的聊天机器人平台,允许开发人员使用GPT-3语言模型构建自定义聊天机器人。GPT-3(“Generative Pre-training Transformer 3”的缩写)语言模型是由OpenAI开发的一个大型、最先进的自然语言处理(NLP)模型。它是在大量人工生成的文本数据集上训练的,能够以各种语言和风格生成类似人类的文本。
GPT-3模型使用转换器架构,这是一种特别适合处理顺序数据(如文本)的神经网络。它能够执行各种与语言相关的任务,包括翻译、摘要和问答,以及生成难以与人工生成的文本区分的文本。
ChatGPT平台允许开发人员使用GPT-3模型构建聊天机器人,可以与用户进行自然的、类似人类的对话。它为开发人员提供了一个简单、直观的界面来使用和自定义,从而可以轻松创建可以集成到各种应用程序和平台中的聊天机器人。
ChatGPT & Node.js
要在Node.js应用程序中使用ChatGPT,您需要使用OpenAI API,它提供了一个用于与ChatGPT模型交互的编程接口。您首先需要从OpenAI获得一个API密钥,然后使用API客户端库,如OpenAI
的npm包,从Node.js代码向API发出请求。
获取OpenAI API密钥
要获得OpenAI API的API密钥,您需要在OpenAI网站上注册一个免费的OpenAI帐户(openai.com/):
要注册帐户,请单击主页右上角的“注册”按钮,然后按照提示创建一个新帐户。创建帐户后,您可以通过访问帐户设置的“API”部分来获取API密钥。
在“API”部分,您会发现一个标记为“生成API密钥”的按钮。单击此按钮生成一个新的API密钥,然后您可以使用该密钥从Node.js应用程序向OpenAI API发出请求。请确保您的API密钥的安全,不要与其他人共享。
安装一个新的Node.js项目并安装openai包
既然您已经注册了一个OpenAI帐户并检索到了一个API密钥,那么让我们开始设置一个新的Node.js项目并安装OpenAI包。
首先,创建一个新的项目文件夹:
$ mkdir chatgpt-nodejs
并进入新创建的项目文件夹:
$ cd chatgpt-nodejs
让我们使用以下命令创建一个package.json文件:
$ npm init -y
然后我们就可以安装openai npm软件包了:
$ pnpm install openai
OpenAI Node.js库提供了从Node.js应用程序访问OpenAI API的便利。在接下来的步骤中,我们将利用这个库来实现Node.js示例应用程序。
此外,我们确实需要安装dotenv
软件包:
$ pnpm install --save
要从实现开始,请在项目文件夹中创建一个名为index.js的新文件和一个新文件.env:
$ touch index.js .env
在文本编辑器中打开文件.env
,并插入以下环境变量,该变量包含OpenAI帐户中的API密钥:
OPENAI_API_KEY="您申请的Key"
现在打开index.js
,首先在文件顶部包含以下两个require语句:
const { Configuration, OpenAIApi } = require("openai");
require('dotenv').config()
现在,我们准备通过初始化configuration对象并将对象传递给包含属性apiKey的构造函数来创建新的OpenAI配置。需要分配给apiKey的值是OpenAI API密钥,我们可以使用process.env.OpenAI_API_key从.env文件中读取该密钥。
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
接下来,我们将实现一个异步runCompletion函数:
async function runCompletion() {
const completion = await openai.createCompletion({
model: "text-davinci-003",
prompt: "How are you today?",
});
console.log(completion.data.choices[0].text);
}
在这个函数中,我们使用openai.createCompletion方法来创建一个openai完成。OpenAI完成是一种可以根据用户提供的提示生成文本的语言模型。为了指定我们的完成,我们需要传入一个配置对象。此配置对象包含两个财产:model和prompt。model属性用于指定OpenAI语言模型,该模型应用于为我们分配给prompt属性的文本生成答案。这里使用的text-davinci-003语言模型与ChatGPT在后台使用的语言模型相同。
最后,从OpenAI API接收到的答案被写入命令行。
最后,这里是index.js的完整JavaScript代码:
const { Configuration, OpenAIApi } = require("openai");
require("dotenv").config();
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
async function runCompletion() {
const completion = await openai.createCompletion({
model: "text-davinci-003",
prompt: "How are you today?",
});
console.log(completion.data.choices[0].text);
}
runCompletion();
尝试通过键入以下内容来运行Node.js脚本:
$ node index.js
然后可以在命令行上读取OpenAI的响应: