V tem vodniku se naučite, kako lahko izboljšate uporabniški vmesnik (UI) svoje chat aplikacije z uporabo OpenAI API. Do zdaj je bil klepet še precej rudimentaren, z različnimi prilagoditvami pa bomo izboljšali UI, da bo bolj ustrezal sodobnim standardom, zlasti takim, kot jih poznamo pri ChatGPT. Na koncu tega vodnika boste sposobni ustvariti bolj privlačno uporabniško izkušnjo.

Najpomembnejši uvidi

  • Aktivno onemogočanje polj za vnos med generiranjem odgovora.
  • Prikaz celotne zgodovine pogovora namesto samo zadnjega odgovora.
  • Izboljšave v postavitvi in prikazu klepeta.
  • Opravljanje pogostih napak in izvedba doslednega upravljanja stanja.

Korak-za-korakom vodnik

1. Onemogočanje polj za vnos med generiranjem odgovora

Začnite tako, da zagotovite, da se polje za vnos in gumb "Pošlji" onemogočita med generiranjem odgovora iz API-ja. Za to ustvarite novo stanje z uporabo useState za zastavico Pending.

Nastavite pending na true, ko uporabnik klikne "Pošlji", in ga nastavite na false, ko je odgovor prejet. To vam omogoča nadzorovanje UI-ja in ustrezno prilagajanje polj za vnos.

Ko preizkusite ta korak, boste ugotovili, da je polje za vnos onemogočeno med čakanjem na odgovor in da je prejšnje polje za vnos izbrisano, da lahko uporabnik vnese novo sporočilo.

Izboljšanje uporabniške izkušnje za aplikacijo za klepet z OpenAI API

2. Sprememba postavitve za zgodovino klepeta

Za ustvarjanje bolj privlačne postavitve prikažite zgodovino sporočil pod poljem za vnos, podobno kot pri ChatGPT. Za to prilagodite vrstni red elementov v svoji JSX kodi, da bo zgodovina na vrhu.

Izboljšati uporabniško izkušnjo za aplikacijo za klepet z OpenAI API

Po opravljenih teh spremembah preizkusite postavitev tako, da vnesete sporočilo in ga pošljete. Zgodovina bi se morala zdaj prikazati nad poljem za vnos.

Izboljšati uporabniško izkušnjo za aplikacijo za klepetanje z odprtimvAPI APIjem

3. Uporaba Flexbox za boljšo postavitev UI

Za zagotovitev, da so polja za vnos in zgodovina dobro postavljeni, uporabite Flexbox. Zunanji kontejneru dodajte display: flex in nastavite flex-direction na column, da bodo elementi vertikalno poravnani.

Izboljšati uporabniško izkušnjo za aplikacijo za klepetanje z OpenAI API

Pri postavitvi poskrbite tudi, da med poljem za vnos sporočila in zgodovino obstaja dovolj prostora z uporabo flex: 1.

Izboljšati uporabniško izkušnjo za aplikacijo za klepetanje z OpenAI APIjem

4. Zagotovitev polne višine kontejnerja

Bodite pozorni, da vsi kontejnerji, vključno z body, html in vašim glavnim divom, potrebujejo polno višino 100%. Ta atribut nastavite v CSS, da boste zagotovili pravilno prikazovanje postavitve.

Izboljšajte uporabniško izkušnjo za aplikacijo klepetanja z OpenAI API

Če postavitev po teh spremembah še vedno ni videti kot želite, preverite margine in jih nastavite na 0, da zagotovite pregled brez drsnika.

Izboljšajte uporabniško izkušnjo za aplikacijo za klepet z OpenAI API

5. Implementacija zgodovine klepeta

Za implementacijo zgodovine klepeta dodajte še eno stanje za sporočila. To stanje shrani vsa poslana sporočila. Pri pošiljanju novega sporočila ga dodajte v stanje messages.

Izboljšati uporabniško izkušnjo za aplikacijo za klepetanje z OpenAI API

Pri tem poskrbite, da uporabite map, da prikažete vsako sporočilo iz niza messages. To bo omogočilo pravilno prikazovanje vsakega uporabnikovega in API-jevega sporočila.

Izboljšajte uporabniško izkušnjo za aplikacijo za klepetanje z OpenAI API

Dodajanje obdelave napak

Za ustvarjanje robustnega uporabniškega doživetja morate obravnavati napake, ki se lahko pojavijo med uporabo, npr. Napaka strežnika 503. Implementirajte rutino za obdelavo napak, ki uporabnike obvesti in po potrebi po kratkem čakanju poskusi ponovno zahtevo.

Izboljšati uporabniško izkušnjo za aplikacijo klepetanja z odprtim OpenAI vmesnikom

Izboljšave za prikaz sporočil

Trenutno sporočila ni enostavno razlikovati. Koristno bi bilo vsako sporočilo prikazati s pripisom, ali je od uporabnika ali od AI. Premislite, kako prilagoditi prikaz, da bi ustvarili jasne razlike med uporabniškimi in AI sporočili.

Izboljšati uporabniško izkušnjo za aplikacijo za klepet z OpenAI APIjem

Povzetek

V tem vadnem programu ste se naučili, kako lahko s ciljno prilagoditvijo UI izboljšate uporabniško izkušnjo svoje klepetalne aplikacije z OpenAI API. Od onemogočanja vhodnih polj med odgovori API do implementacije celotne zgodovine pogovora - ti nasveti vam pomagajo, da vašo aplikacijo dvignete na višjo raven.

Pogosto zastavljena vprašanja

Kako lahko onemogočim vhodna polja med generiranjem odgovora?Uporabite upravljanje stanja z uporabo useState, da nastavite vhodno polje in gumb na true med čakanjem.

Kako lahko implementiram zgodovino klepeta?Uporabite dodatno stanje za shranjevanje vseh sporočil in jih izpišite v JSX z map.

Zakaj se moja postavitev ne prikaže pravilno?Preverite, ali vsi kontejnerji imajo višino 100% in preverite robove za morebitne drsnike.

Kako lahko uporabnikom podam povratne informacije ob napakah?Implementirajte rutino za obdelavo napak, ki v primeru napake prikaže razumljivo sporočilo in po potrebi sproži ponoven poskus.