V tejto príručke sa naučíš, ako zresetovať chat s OpenAI API, bez potreby reštartovať server. Často sa stane, že chceš zabudnúť na doterajšiu konverzáciu a začať odznova. Dôležitú úlohu v tomto procese zohráva Chat-ID, pretože umožňuje resetovať históriu na serveri. Nasledujúci návod ti ukáže, ako túto funkciu implementovať.

Hlavné zistenia

  • Aby si zresetoval chat, môžeš vygenerovať novú Chat-ID.
  • Chat-ID sa vytvorí pri obnovení stránky a odovzdá sa na server.
  • Server porovná novú Chat-ID s aktuálnou a resetuje konverzáciu, ak sa líšia.

Krok za krokom návod

Máš už funkčnú Chat aplikáciu, no máš malý problém: Zatiaľ nemôžeš zresetovať konverzáciu. Aby sme to umožnili, musíme zaviesť identifikátor (ID), ktorý sa generuje pri každom obnovení stránky.

Ako môžeš resetovať chat s OpenAI API

Tento nový Chat-ID potom musíš odoslať serveru. Keď server dostane nový ID, môže resetovať konverzáciu. To sa uskutoční prostredníctvom jednoduchého porovnania: Ak sa nový Chat-ID nezhoduje s aktuálnym Chat-ID, zoznam správ sa zresetuje.

Na implementovanie tohto procesu musíš zabezpečiť, že klient je schopný generovať náhodné ID. ID poskytneš s parametrom ID. Pozrime sa teda na súbor index.jsx tvojho React komponentu.

Ako môžeš resetovať chat s OpenAI API

V tomto súbore si už zahrnul potrebnú správu (MSG). Teraz môžeš pridávať aj ID. Môžeš to efektívne dosiahnuť pomocou šablónových reťazcov, čo uľahčuje vloženie premenných.

Ako môžete obnoviť chat pomocou rozhrania API OpenAI

Premeni kód na šablónový reťazec a vlož premenné podľa potreby. Môže to vyzerať napríklad takto: MSG, to je tvoje vstupné pole, a ID sa rovná tvojmu novému ID.

Teraz musíš uvažovať o generovaní ID. Jednoduchý spôsob je použitie dátumu. Jednoducho môžeš definovať konštantu, ktorá používa aktuálny čas v milisekundách od roku 1970. k tomu môžeš použiť Date.now() a tento čas potom premeniť na reťazec.

Pri obnovení stránky teraz vždy pošleme nové ID. To by malo fungovať podľa predstáv. Skúsme to otestovať a odoslať správu, aby sme zistili, či sa údaje správne odosielajú na server.

Ako môžeš resetovať chat s OpenAI API

Keď pošleš správu "ako sa máš", na serveri uvidíš, že tam sú dve správy: jedna od používateľa a druhá od asistenta.

Ako obnoviť chat s OpenAI API

Ak však pošleš ďalšiu otázku, napríklad "prečo nemá pocity", históriu by sa mala zresetovať. Malo by tam byť len aktuálna otázka a jej odpoveď.

Ako môžete resetovať chat s OpenAI API

To znamená, že keďže kontrolujeme ID - nemalo by byť žiadne zrážky, napríklad nové Chat-ID byť rovnaké ako aktuálne Chat-ID - logika by sa mala zjednodušiť tak, aby to správne fungovalo.

Ako môžeš obnoviť rozhovor s OpenAI API

Aby sme sa uistili, že to funguje, opakujme test. Obnov stránku a pošli správu ešte raz. Teraz by malo byť uložených štyri správy v poli.

Ako môžeš obnoviť chat s OpenAI API

Pole zobrazuje celkový počet odoslaných správ, čo znamená, že sme úspešne resetovali históriu. To však platí len pri znovunačítaní stránky. Alternatívne môžeš implementovať tlačidlo, ktoré spustí resetovanie chatu, ale na naše účely je obnovenie stránky zatiaľ postačujúce.

Ako môžeš resetovať chat s OpenAI API

Napriek tomu však vezmite na vedomie, že po odoslaní správy sa textové pole automaticky nevymaže. Celá história chatov zatiaľ nie je viditeľná, čo znamená, že vždy uvidíte len poslednú otázku a odpoveď. Aj to sa v budúcnosti zaoberieme v rámci ďalších tutoriálov.

Ako môžete resetovať chat s OpenAI API

Zhrnutie

V tomto návode ste sa naučili, ako môžete implementovať funkciu obnovenia histórie chatu vo vašej aplikačnej časti chatu. Úspešne sme historiu chatu obnovili zavedením nového identifikátora chatu pri znovuladení stránky. Existuje ešte niekoľko vylepšení, ktoré realizujeme v nasledujúcich krokoch, ako je vymazanie textového poľa a úplné zobrazenie histórie chatu.

Často kladené otázky

Ako môžem obnoviť chat?Obnovením stránky sa história chatu vymaže.

Ako sa generuje nové ID?Nové ID sa generuje z aktuálneho času v milisekundách.

Môžem chat obnoviť aj bez znovunahratia stránky?Áno, môžete tiež implementovať tlačidlo, ktoré obnoví chat.

Čo sa stane, ak sú ID rovnaké?Ak je nové ID rovnaké ako aktuálne ID, historia sa neobnoví.

Musím textové pole ručne vymazať?Áno, momentálne sa textové pole automaticky nevymaže po odoslaní správy.