Автор Летисия Кавамото, руководитель отдела разработки Devpass

Кто в наше время не знает ChatGPT? Мы уже использовали его для различных целей в нашей повседневной жизни в качестве разработчиков, но как мы можем сделать следующий шаг и создать приложения с помощью этой технологии?

В этой статье мы шаг за шагом рассмотрим, как создать Node.js API, который интегрируется с OpenAI, чтобы использовать возможности генеративного искусственного интеллекта (ИИ) в наших приложениях.

Шаг 1: Конфигурация и предпосылки

Прежде чем мы начнем, важно настроить среду Node.js. Вы можете проверить установку, набрав node -v в своем терминале. Если вам необходимо установить Node.js, вы можете скачать соответствующую версию для вашей операционной системы с официального сайта. Кроме того, мы будем использовать Yarn для управления зависимостями пакетов.

Для интеграции с OpenAI API* нам необходимо сгенерировать ключ API. Войдите в OpenAI, создайте учетную запись или войдите в существующую учетную запись и откройте страницу ключей API. Нажмите Создать новый секретный ключ, чтобы сгенерировать новый ключ API. Держите ключ под рукой, чтобы использовать его позже.

* ПРИМЕЧАНИЕ. Эта интеграция требует затрат на использование. Проверьте на этой странице, сколько у вас кредита.

Шаг 2: Проект Node.js и его зависимости

Начнем с создания нового проекта Node.js. Откройте терминал и перейдите в каталог, в котором вы хотите создать проект. Затем выполните следующую команду:

yarn init

Эта команда создаст новый файл package. package.json с настройками по умолчанию для вашего проекта.

Чтобы интегрировать OpenAI в наш API, нам нужны некоторые зависимости. Для их установки выполните следующие команды:

yarn add express
yarn add openai
yarn add dotenv

Express будет использоваться для создания нашего HTTP-сервера, а openai — для интеграции с OpenAI.

Шаг 3: Настройка маршрута API и интеграция с OpenAI

Настроив проект Node.js, давайте создадим маршрут в нашем API, который будет вызывать OpenAI. Создайте файл index.js и добавьте следующий код:

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

const configuration = new Configuration({
    apiKey: process.env.OPENAI_TOKEN,
});
const openai = new OpenAIApi(configuration);

const app = express();
app.use(express.json());

app.post('/api/openai', async (req, res) => {
  const { context, question } = req.body;
  try {
    const gptResponse = await openai.createChatCompletion({
        model: "gpt-3.5-turbo",
        messages: [
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "assistant", "content": context},
            {"role": "user", "content": question}
        ]
      });
  
    res.json({ result: gptResponse.data });
  } catch (error) {

    res.status(500).json({ error: 'An error occurred in the OpenAI integration' });
  }
});

const port = process.env.PORT || 3000;
app.listen(port, () => {
  console.log(`Server up and running on port:  ${port}`);
});

Чтобы настроить вызов OpenAI, нам нужно определить 3 основных параметра: система, помощник и пользователь.

  • Роль «система» представляет собой системную или логическую часть, которая инициирует диалог и предоставляет начальное сообщение.
  • Роль «помощник» представляет собой виртуального помощника, который будет давать ответы на основе предоставленного контекста.
  • Роль «пользователь» представляет пользователя, который задает вопрос или взаимодействует с виртуальным помощником.

Эти роли используются для создания имитации разговора между виртуальным помощником и пользователем, где помощник отвечает на вопрос пользователя на основе предоставленного контекста.

Шаг 4: Запуск API

Создайте файл .env в корне вашего проекта и добавьте следующее содержимое:

OPENAI_API_KEY=SuaChaveDeAPIAqui

Теперь, когда все настроено, вы можете загрузить зависимости и запустить Node.js API, введя в терминале следующие команды:

yarn
node index.js

Это запустит сервер, и ваш API будет готов к использованию. Ниже приведен пример запроса, который вы можете использовать для тестирования своего приложения.

Пример запроса:

curl - request POST \
 - url https://localhost:3000/api/openai \
 - header 'Content-Type: application/json' \
 - data '{
   "context": "I have a bakery where the bread costs $0.50",
   "question": "How much would 1231412 breads cost?"
 }'

Пример ответа:

{
 "result": {
  "id": "chatcmpl-7bwio4GQsk09z8u3XQFp7uGSrmuZQ",
  "object": "chat.completion",
  "created": 1689278218,
  "model": "gpt-3.5-turbo-0613",
  "choices": [
   {
    "index": 0,
    "message": {
     "role": "assistant",
     "content": "If each bread costs $0.50, the cost of 1231412 breads would be $615,706.00."
    },
    "finish_reason": "stop"
   }
  ],
  "usage": {
   "prompt_tokens": 49,
   "completion_tokens": 33,
   "total_tokens": 82
  }
 }
}

Во внешнем приложении к массиву вариантов можно получить доступ для отображения ответа, сгенерированного API OpenAI для пользователя.

Заключение

В этой статье мы создали простой API, который интегрируется с API OpenAI. Вы узнали, как настроить среду, установить зависимости, пройти аутентификацию с помощью OpenAI и создать маршрут, который выполняет вызовы API OpenAI.

Теперь вы можете расширить эту основу и добавить в свой API дополнительные функции, такие как обработка ввода/вывода, обработка ошибок и многое другое. Наслаждайтесь изучением возможностей искусственного интеллекта в своих приложениях с помощью OpenAI API!

В следующей статье я расскажу больше о моделях и параметрах, которые мы использовали при интеграции с OpenAI.

Доступ к полному проекту на GitHub Devpass: https://github.com/devpass-tech/open-ai-integration

С помощью Devpass компании используют ИИ для преобразования технологической документации в иммерсивные и интерактивные приложения с помощью чат-ботов и интеграции с такими инструментами, как GitHub.

Создайте самую безопасную профессиональную среду разработки, моделируя повседневные задачи и повышая производительность разработчиков в вашей команде.

👉 Запланировать демонстрацию.