В этом руководстве ты узнаешь, как создать базовый пользовательский интерфейс (UI) с помощью React, который позволит тебе взаимодействовать с API OpenAI. Вместо чата через URL в браузере мы создадим простое приложение, в котором пользователь сможет вводить текст и получать соответствующий ответ от искусственного интеллекта. Мы рассмотрим как фронтенд-код, так и логику обработки ввода и коммуникации с API OpenAI.

Основные моменты

  • Ты узнаешь, как создавать в React поле ввода и кнопку для отправки запросов от пользователей.
  • Также ты научишься делать асинхронные запросы Fetch к API OpenAI и сохранять и отображать полученные ответы в своем статусе React.

Пошаговое руководство

Начни с создания нового приложения на React или перейди в уже существующее. В файле index.jsx ты установишь базовые компоненты для взаимодействия.

Базовый интерфейс пользователя в React с API OpenAI

Сначала добавь поле ввода, в которое пользователь может вводить свои сообщения. Это позволит пользователям взаимодействовать с ИИ. Добавь поле ввода и кнопку для отправки запроса.

Основной пользовательский интерфейс в React с API OpenAI

Когда пользователь вводит текст в поле ввода и нажимает на кнопку отправки, ты должен быть способен обработать этот ввод. Можешь использовать хук useState для управления текущим значением ввода и ответа от API.

Основной пользовательский интерфейс в React с использованием API OpenAI

Теперь тебе нужно обработать событие клика на кнопке. Когда кнопка нажата, ты хочешь создать асинхронную функцию, отправляющую запрос Fetch на сервер. Эта функция объявляется с ключевым словом async, что позволяет использовать await для ожидания ответа от сервера.

Базовый пользовательский интерфейс в React с использованием API OpenAI

Далее наступает следующий шаг: ты хочешь вызвать функцию Fetch для взаимодействия с API. URL указывается в формате API/Chat?MSG={userInput}, где {userInput} заменяется на ввод пользователя. Сначала можешь использовать фиксированную строку, чтобы убедиться, что запрос к API работает правильно.

Основной пользовательский интерфейс в React с API OpenAI

После отправки запроса ты получишь ответ, который нужно обработать. Сначала преобразуй ответ в формат JSON для удобной работы с ним. Для этого используй response.json().

Убедись, что можешь проверить вывод в консоли, чтобы убедиться, что все работает как ожидается. После проверки ответа следующим шагом будет сохранение ответа в статусе, который ты объявил выше.

Основной интерфейс пользователя в React с API OpenAI

Для улучшения пользовательского опыта ты хочешь убедиться, что ввод пользователя не всегда будет одним и тем же фиксированным значением (например, "hello"), а собственно введенным сообщением. Для этого используй хук useRef, чтобы получить доступ к текущему значению поля ввода, когда пользователь нажимает на кнопку.

Основной пользовательский интерфейс в React с использованием API OpenAI

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

Если все работает, ты увидишь, что ответ от ИИ отображается в соответствующем DIV. Теперь ты можешь дальше улучшать пользовательский интерфейс или оптимизировать код.

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

Основной интерфейс пользователя в React с API OpenAI

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

Резюме

В этом учебнике вы узнали, как создать базовый пользовательский интерфейс в React, который позволяет взаимодействовать с API OpenAI. От обработки пользовательского ввода до отображения ответов было рассмотрено все необходимое для создания функционального приложения.

Часто задаваемые вопросы

Как создать поле ввода в React?Вы можете создать поле ввода в React, используя элемент в вашем компоненте.

Как отправить запрос к API OpenAI?Используйте функцию fetch для отправки GET- или POST-запроса к API с правильным URL и параметрами.

В чем разница между useState и useRef?useState хранит значения, вызывающие повторное рендеринг компонента, в то время как useRef хранит значения, не вызывающие повторный рендеринг.

Как сохранить ответы ИИ в моем приложении?Вы можете сохранить ответы в состоянии с помощью useState, а затем отобразить их в пользовательском интерфейсе.