Автор Летисия Кавамото, руководитель отдела разработки 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 http://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.
Создайте самую безопасную профессиональную среду разработки, моделируя повседневные задачи и повышая производительность разработчиков в вашей команде.