Интеграция ChatGPT с Node.js: руководство для начинающих

ChatGPT  —  это платформа от OpenAI, которая позволяет создавать пользовательские чат-боты, используя языковую модель GPT-3.

Языковая модель GPT-3 (generative pre-training transformer 3, генеративный предварительно обученный трансформер 3-го поколения)  —  это крупнейшая продвинутая модель обработки естественного языка (NLP), разработанная OpenAI. Она обучена на огромном наборе данных из текстов, написанных человеком, и способна генерировать текст, близкий к человеческому, оперируя широким диапазоном языков и стилей.

Модель GPT-3 использует архитектуру трансформера  —  типа нейронной сети, оптимально подходящего для обработки последовательно передаваемых данных, таких как текст. GPT-3 способна выполнять различные задачи, связанные с языком, в том числе перевод, автоматическое реферирование и ответы на вопросы, а также генерировать текст, который трудно отличить от того, что создан человеком.

Платформа ChatGPT позволяет разработчикам использовать модель GPT-3 для создания чат-ботов, которые могут вступать в естественный диалог с пользователем. Она предоставляет разработчикам простой, интуитивно понятный интерфейс и настройки, что упрощает создание чат-ботов, которые можно интегрировать в различные приложения и платформы.

ChatGPT и Node.js

Чтобы интегрировать ChatGPT в приложение Node.js, нужно использовать API OpenAI, который предоставляет программный интерфейс для взаимодействия с моделью ChatGPT. Сначала нужно получить API-ключ OpenAI, а затем использовать клиентскую API-библиотеку, например npm-пакет openai, для выполнения запросов к API из кода Node.js.

Получение API-ключа OpenAI

Чтобы получить API-ключ для API OpenAI, зарегистрируйтесь на сайте OpenAI.

Сайт OpenAI

Для этого нажмите кнопку “Sign Up” в правом верхнем углу главной страницы, а затем следуйте подсказкам по созданию нового аккаунта. После регистрации учетной записи вы сможете получить API-ключ, посетив раздел “API” в настройках аккаунта.

В разделе “API” нажмите кнопку “Generate API Key”, чтобы сгенерировать новый API-ключ, который затем можно использовать для выполнения запросов к API OpenAI из приложения Node.js. Позаботьтесь о безопасности API-ключа: не передавайте его другим лицам.

Создание нового API-ключа OpenAI

Создание проекта Node.js и установка пакета openai

Зарегистрировавшись на сайте OpenAI и получив API-ключ, приступайте к настройке нового проекта Node.js и установке пакета openai.

Сначала создайте папку нового проекта:

$ mkdir chatgpt-nodejs

Сделайте следующее изменение в папке проекта:

$ cd chatgpt-nodejs

Создайте файл package.json с помощью следующей команды:

$ npm init -y

Теперь можно установить npm-пакет openai:

$ npm install openai

Библиотека OpenAI Node.js обеспечивает удобный доступ к API OpenAI из приложений Node.js. В следующих шагах эта библиотека будет использована для реализации приложения Node.js.

Также нужно установить пакет dotenv:

$ npm install dotenv --save

Чтобы приступить к реализации, создайте в папке проекта два новых файла: index.js и .env:

$ touch index.js .env

Откройте файл .env в текстовом редакторе и вставьте следующую переменную среды (эта переменная содержит API-ключ из вашего аккаунта OpenAI):

OPENAI_API_KEY="INSERT YOUR OPENAI API KEY HERE"

Откройте файл index.js и добавьте 2 оператора require в его начало:

const { Configuration, OpenAIApi } = require("openai");
require('dotenv').config()

Теперь можно создать новую конфигурацию OpenAI, инициализировав объект Configuration и передав объект в конструктор, содержащий свойство apiKey. Значение, которое необходимо присвоить apiKey,  —  это API-ключ OpenAI, который можно считать из файла .env с помощью process.env.OPENAI_API_KEY.

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 Completion  —  типа языковой модели, способной генерировать текст на основе запросов пользователя. Чтобы определить модель Completion, нужно передать объект конфигурации, который содержит два свойства: model (модель) и prompt (запрос).

Свойство model используется для указания языковой модели OpenAI, генерирующей ответ на текст, который присваивается свойству prompt. Применяемая в этом случае языковая модель text-davinci-003 является той же самой языковой моделью, которая используется в фоновом режиме ChatGPT.

Ответ, полученный от OpenAI API, записывается в командную строку.

Вот полный код JavaScript для index.js:

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 можно будет прочитать в командной строке:

Запуск программы в рамках проекта Node.js и получение ответа от API OpenAI

Читайте также:

Читайте нас в TelegramVK и Дзен


Перевод статьи Sebastian: A Beginner’s Guide to Integrating ChatGPT with Node.js

Предыдущая статьяКак добавить аутентификацию Supabase к приложению на Vue
Следующая статьяКак загрузить 3D-модель с помощью PyWeb3D