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