V tej vadnici se boš naučil, kako lahko ponastaviš klepet z OpenAI API , ne da bi bilo treba ponovno zagnati strežnika. Pogosto se znajdeš v situacijah, ko želiš preprosto pozabiti dosedanji klepet in začeti znova. Pri tem ima ključno vlogo identifikacija klepeta (Chat-ID, saj omogoča ponastavitev zgodovine klepeta na strežniku. Naslednji navodila ti bodo pokazala, kako implementirati to funkcijo.

Najpomembnejša spoznanja

  • Za ponastavitev klepeta lahko generiraš novo identifikacijo klepeta.
  • Identifikacija klepeta se generira ob ponovnem nalaganju strani in jo posreduje strežniku.
  • Strežnik primerja novo identifikacijo klepeta s trenutno in ponastavi zgodovino klepeta, če se razlikujeta.

Korak za korakom vadnica

Najprej že imaš delujočo aplikacijo za klepet, vendar je en majhen problem: še ne moreš ponastaviti zgodovine klepeta. Če to želiš omogočiti, moramo vpeljati identifikacijo, ki se bo generirala ob vsakem ponovnem nalaganju strani.

Kako lahko ponastavite klepet z API-jem OpenAI

Nastalo novo identifikacijo klepeta moraš nato posredovati strežniku. Ko strežnik prejme novo identifikacijo, lahko ponastavi zgodovino klepeta. To se zgodi preprostim primerjanjem: če se nova identifikacija klepeta ne ujema s trenutno identifikacijo klepeta, se seznam sporočil ponastavi.

Za implementacijo tega moraš poskrbeti, da je odjemalec sposoben generirati naključno identifikacijo. Identifikacijo boš posredoval kot parameter ID za iskanje Prikažimo si znotraj datoteke index.jsx svoje React komponente.

Kako lahko ponastavite klepet z OpenAI API-jem

V tej datoteki si že posredoval bistveno sporočilo (MSG). Zdaj lahko posreduješ tudi identifikacijo. To lahko učinkovito storiš s pomočjo nizov predlogov, ki olajšujejo vstavljanje spremenljivk.

Kako lahko ponastavite klepet z OpenAI APIjem

Zato pretvori kodo v niz predlogov in ustrezno vstavi spremenljivke. Tako bi lahko izgledalo: MSG, kar je tvoje polje za vnos, in ID je enak tvoji novi identifikaciji.

Zdaj moraš razmisliti o generiranju identifikacije. Preprosta metoda je uporaba datuma. Preprosto lahko definiraš konstanto, ki uporablja trenutni čas v milisekundah od leta 1970. Za to lahko uporabiš Date.now() in to čas pretvoriš v niz.

Ko ponovno naložiš stran, vedno pošljemo novo identifikacijo. To bi moralo delovati kot željeno. Preizkusimo to in pošljimo sporočilo, da vidimo, ali se podatki pravilno posredujejo strežniku.

Kako lahko ponastaviš klepet z OpenAI API

Ko pošlješ sporočilo "kako si," na strežniku vidiš, da obstajata dve sporočili: eno uporabnika in eno asistenta.

Kako lahko ponastaviš klepet z OpenAI APIjem

Če pa pošlješ še eno vprašanje, kot je na primer "zakaj nima čustev," se bo zgodovina ustrezno ponastavila. Prikažeta se samo trenutno vprašanje in odgovor nanj.

Kako lahko ponastavite klepet z API OpenAI

To pomeni, da ob preverjanju identifikacij - ne sme biti konflikta, na primer, da je nova identifikacija klepeta enaka trenutni identifikaciji klepeta - logiko poenostaviš, da se ta postopek izvede pravilno.

Kako lahko ponastavite pogovor z odprtim vmesnikom API

Za zagotovitev delovanja izvedi preizkus ponovno. Ponovno naloži stran in pošlji sporočilo še enkrat. Sedaj naj bi bilo v polju shranjenih štiri sporočila.

Kako lahko ponastavite klepet z API-jem OpenAI

Polje prikazuje skupno število poslanih sporočil, kar pomeni, da smo zgodovino uspešno ponastavili. Vendar se to zgodi samo ob ponovnem nalaganju strani. Lahko pa tudi implementiraš gumb, ki sproži ponastavitev klepeta, vendar za naše namene je ponovno nalaganje strani zadostno.

Kako lahko ponastaviš klepet z OpenAI APIjem

Vendar bodite pozorni, da se polje za vnos ne izprazni samodejno po pošiljanju sporočila. Tudi celotna zgodovina klepetov še ni vidna, kar pomeni, da vedno vidite samo zadnje vprašanje in odgovor. Tudi to bomo obravnavali v prihodnjih vodičih.

Kako lahko ponastavite klepet z OpenAI APIjem

Povzetek

V tem vodiču ste se naučili, kako lahko implementirate funkcijo ponastavitve zgodovine klepeta v svojo aplikacijo za klepet. Z uvedbo novega ID-ja klepeta ob ponovnem nalaganju strani je bila zgodovina uspešno ponastavljena. Obstajajo še nekatera nadaljnja izboljšanja, ki jih bomo izvedli v naslednjih korakih, kot je brisanje polja za vnos in popolni prikaz zgodovine klepeta.

Pogosto zastavljena vprašanja

Kako lahko ponastavim klepet?Z novim nalaganjem strani bo zgodovina klepetov ponastavljena.

Kako se generira novi ID?Novi ID se generira iz trenutnega časa v milisekundah.

Ali lahko klepet ponastavim brez ponovnega nalaganja strani?Da, lahko implementirate gumb, ki ponastavi klepet.

Kaj se zgodi, če sta ID-ja enaka?Če je novi ID enak trenutnemu ID-ju, zgodovina ne bo ponastavljena.

Ali moram ročno izbrisati polje za vnos?Ja, trenutno se polje za vnos ne izprazni samodejno po pošiljanju sporočila.