Šioje pamokoje sužinosite, kaip pagerinti savo pokalbių programos naudotojo sąsają (UI ) naudojant "OpenAI" API. Iki šiol pokalbiai buvo gana primityvūs, todėl įvairiais pakeitimais optimizuosime naudotojo sąsają, kad ji taptų šiuolaikiškesnė, ypač tokia, kokią pažįstame iš "ChatGPT". Šio vadovo pabaigoje galėsite sukurti patrauklesnę naudotojo patirtį.

Pagrindinės žinios

  • Aktyviai išjunkite įvesties laukus generuojant atsakymą.
  • Rodyti visą pokalbių istoriją, o ne tik paskutinį atsakymą.
  • Pokalbio išdėstymo ir pateikimo patobulinimai.
  • Dažniausiai pasitaikančių klaidų taisymas ir nuoseklaus būsenų valdymo įgyvendinimas.

Žingsnis po žingsnio vadovas

1. Įvesties laukų išjungimas generuojant atsakymą

Pirmiausia įsitikinkite, kad įvesties laukas ir mygtukas "Siųsti" yra išjungti, kol API generuoja atsakymą. Norėdami tai padaryti, sukurkite naują būseną su "pending" (laukiančiųjų) vėliavėle "useState".

Nustatykite pending reikšmę true, kai naudotojas paspaudžia mygtuką "Siųsti", ir nustatykite false, kai bus gautas atsakymas. Taip galėsite valdyti vartotojo sąsają ir atitinkamai pritaikyti įvesties laukus.

Jei išbandysite šį veiksmą, turėtumėte pastebėti, kad laukiant atsakymo įvesties laukas yra išjungtas, o ankstesnis įvesties laukas išvalomas, kad naudotojas galėtų įvesti naują pranešimą.

Pokalbių programėlės UX tobulinimas naudojant "OpenAI" API

2. Pakeiskite pokalbių istorijos išdėstymą

Kad sukurtumėte patrauklesnį išdėstymą, turėtumėte rodyti žinučių istoriją po įvesties lauku, panašiai kaip "ChatGPT". Norėdami tai padaryti, turite pakoreguoti JSX kodo elementų eiliškumą taip, kad istorija būtų viršuje.

Pokalbių programėlės UX tobulinimas naudojant "OpenAI" API

Atlikę šį pakeitimą, išbandykite išdėstymą įvesdami žinutę ir ją išsiųsdami. Dabar istorija turėtų būti rodoma virš įvesties lauko.

Pokalbių programėlės UX tobulinimas naudojant "OpenAI" API

3. Naudokite flexbox, kad geriau išdėstytumėte vartotojo sąsają

Norėdami įsitikinti, kad įvesties laukai ir istorija yra gerai išdėstyti, turėtumėte naudoti Flexbox. Prie išorinio konteinerio pridedame display: flex ir nustatome flex kryptį į stulpelį, kad elementai būtų išdėstyti vertikaliai.

Pokalbių programėlės UX tobulinimas naudojant "OpenAI" API

Juos išdėstydami taip pat galite įsitikinti, kad tarp pranešimo įvesties lauko ir gradiento yra pakankamai vietos, naudodami flex: 1.

Pokalbių programėlės UX tobulinimas naudojant "OpenAI" API

4. Užtikrinkite visą konteinerių aukštį

Atminkite, kad visiems konteineriams, įskaitant body, html ir jūsų pagrindinį divą, reikalingas pilnas 100 % aukštis. Nustatykite šiuos atributus CSS, kad užtikrintumėte, jog jūsų maketas būtų atvaizduojamas teisingai.

Pokalbių programėlės UX tobulinimas naudojant "OpenAI" API

Jei po šių pakeitimų maketas vis dar neatrodo taip, kaip norima, patikrinkite paraštes ir nustatykite jas į 0, kad būtų užtikrintas vaizdas be slinkties juostos.

Pokalbių programėlės UX tobulinimas naudojant "OpenAI" API

5. Įgyvendinkite pokalbių istoriją

Norėdami įgyvendinti pokalbių istoriją, pridėkite dar vieną žinučių būseną. Šioje būsenoje išsaugomos visos išsiųstos žinutės. Siųsdami naują žinutę, turite ją pridėti prie žinučių būsenos.

Pokalbių programėlės UX tobulinimas naudojant "OpenAI" API

Įsitikinkite, kad naudodami komandą map (žemėlapis) atitinkamai atvaizduosite kiekvieną žinutę iš pranešimų masyvo. Tai leidžia teisingai išvesti kiekvieną naudotojo ir API žinutę.

Pokalbių programėlės UX tobulinimas naudojant "OpenAI" API

6. Pridėkite klaidų tvarkymą

Norėdami sukurti patikimą naudotojų patirtį, turite tvarkyti klaidas, kurios gali atsirasti naudojimo metu, pavyzdžiui, serverio klaida 503. Įdiekite klaidų tvarkymo procedūrą, kuri informuoja naudotojus ir, jei reikia, bando pakartoti užklausą po trumpo laukimo laikotarpio.

Pokalbių programėlės UX tobulinimas naudojant "OpenAI" API

7. pranešimų rodymo patobulinimai

Šiuo metu pranešimų negalima lengvai atskirti. Būtų naudinga kiekvieną pranešimą rodyti nurodant, ar jis gautas iš naudotojo, ar iš dirbtinio intelekto. Pagalvokite, kaip galima pritaikyti rodinį, kad būtų aiškiai atskirti naudotojo ir AI pranešimai.

Pokalbių programėlės UX tobulinimas naudojant "OpenAI" API

Apibendrinimas

Šioje pamokoje sužinojote, kaip, tikslingai pritaikius vartotojo sąsają, gerokai pagerinti savo pokalbių programos naudotojo patirtį naudojant "OpenAI API". Nuo įvesties laukų išjungimo API atsakymų metu iki išsamios pokalbių istorijos įdiegimo - šie patarimai padės jums pakelti savo programą į kitą lygį.

Dažniausiai užduodami klausimai

Kaip išjungti įvesties laukus generuojant atsakymą?Naudokite būsenos valdymą su funkcija useState, kad įvesties laukas ir mygtukas laukimo metu būtų nustatyti kaip true.

Kaip įgyvendinti pokalbių istoriją?naudokite papildomą būseną, kad išsaugotumėte visus pranešimus ir išvestumėte juos naudodami žemėlapį JSX.

Kodėl mano išdėstymas rodomas neteisingai?įsitikinkite, kad visų konteinerių aukštis yra 100 %, ir patikrinkite, ar nėra galimų slinkties juostų paraštėse.

Kaip klaidų atveju suteikti naudotojui grįžtamąjį ryšį?Įdiekite klaidų tvarkymo procedūrą, kuri klaidos atveju rodytų suprantamą pranešimą ir galbūt galėtų inicijuoti pakartotinį bandymą.