В този учебник ще научиш как да подобриш потребителския интерфейс (UI) на своето чат приложение, използвайки OpenAI API. Досега чатирането беше доста примитивно, но с различни настройки ще подобрим UI, за да отговаря повече на съвременните технологии, по-специално както го познаваме от ChatGPT. В края на този урок ще можеш да създадеш по-приятно потребителско изживяване.

Най-важните изводи

  • Активиране на пусково-изключващите полета по време на генерирането на отговор.
  • Показване на целия чат историята вместо само последния отговор.
  • Подобрения в дизайна и представянето на чата.
  • Решаване на често срещани грешки и въвеждане на последователно управление на състоянието.

Постъпково ръководство

1. Деактивиране на пусково-изключващите полета по време на генерирането на отговор

Започни със сигурност, че пусковото поле и бутона "Изпрати" се деактивират, докато се генерира отговор от API-то. Създай ново състояние с useState за флага Pendinз

Постави pending на true, когато потребителят кликне "Изпрати" и го върни на false, веднага след като отговорът бъде получен. Това ти позволява да контролираш UI и да приспособиш пусковите полета съответно.

Ако пробваш този стъпка, трябва да откриеш, че пусковото поле се деактивира по време на изчакването на отговора и предходното пусково поле се изтрива, за да може потребителят да въведе ново съобщение.

Подобряване на потребителския опит за чат приложение с OpenAI API

2. Преразпределение на дизайна за чат историята

За създаване на привлекателен дизайн, трябва да покажеш хронологията на съобщенията под пусковото поле, подобно на ChatGPT. За целта трябва да настроиш реда на елементите в твоя JSX код, така че хронологията да е на първо място.

Подобрете потребителския опит за чат приложение с OpenAI API

След като направиш тази промяна, тествай дизайна, като въведеш съобщение и го изпратиш. Сега хронологията трябва да се показва над пусковото поле.

Подобрете UX за чат приложение с OpenAI API

3. Използване на Flexbox за по-добър дизайн на UI

За да се увериш, че пусковите полета и хронологията са добре подредени, използвай Flexbox. Добави display: flex във външния контейнер и задай flex-direction на column, така че елементите са вертикално подредени.

Подобряване на UX за чат-приложение с OpenAI API

При разполагането можеш също да се увериш, че между полето за въвеждане на съобщения и хронологията има достатъчно място, като използваш flex: 1.

Подобрете потребителския интерфейс за чат-приложение с OpenAI API

4. Гарантиране на пълна височина за контейнерите

Изпомни, че всички контейнери, включително body, html и основният ти div, изискват пълна височина от 100%. Задай тези атрибути в CSS, за да се увериш, че дизайнът ти се представя правилно.

Подобрете потребителския интерфейс за чат приложение с OpenAI API

Ако дори след тези промени дизайнът все още не изглежда както искаш, провери отстъпите и ги занули, за да осигуриш изглед без скролбар.

Подобряване на UX за чат приложение с OpenAI API

5. Имплементиране на чат историята

За да имплементираш чат историята, добави още едно състояние за съобщения. Това състояние запазва всички изпратени съобщения. При изпращането на ново съобщение трябва да го добавиш към състоянието messages.

Подобрете потребителския интерфейс за приложение за чат с OpenAI API

Увери се, че използваш map функцията, за да покажеш всеки елемент от messages масива отговарящо. Това позволява правилно извеждане на всеки потребителски и API съобщения.

Подобряване на потребителския опит за приложение за чат с OpenAI API

6. Добавяне на обработка на грешки

За да създадете устойчиво потребителско изживяване, трябва да обработвате грешките, които могат да възникнат по време на използване, например грешки от сървъра 503. Имплементирайте процедура за обработка на грешки, която информира потребителите и при нужда се опитва да повтори заявката след кратко изчакване.

Подобряване на потребителския интерфейс за чат приложение с OpenAI API

7. Подобрения за представянето на съобщенията

В момента съобщенията не могат лесно да бъдат различени. Би било полезно да се представи всяко съобщение с индикация дали е от потребителя или от ИИ. Мислете как можете да приспособите представянето, за да създадете ясни разлики между съобщенията на потребителя и ИИ.

Подобряване на UX за чат приложение с OpenAI API

Резюме

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

Често задавани въпроси

Как мога да деактивирам полетата за въвеждане по време на генерирането на отговор?Използвайте управление на състоянието с useState, за да промените полето за въвеждане и бутона по време на изчакване в true.

Как мога да имплементирам чат хронологията?Използвайте допълнително състояние, за да запазите всички съобщения и ги изведете с map в JSX.

Защо дизайнът ми не се показва правилно?Уверете се, че всички контейнери имат височина от 100% и проверете отстъпите за възможни плъзгачи.

Как мога да дам обратна връзка на потребителите за грешките?Имплементирайте процедура за обработване на грешки, която в случай на грешка показва разбираемо съобщение и при нужда инициира опит за повторение.