In questo tutorial imparerai come ripristinare una chat con l'API di OpenAI senza dover riavviare il server. Spesso ci sono situazioni in cui desideri semplicemente dimenticare la cronologia della chat esistente e ricominciare da capo. In questo contesto, un'ID della chat svolge un ruolo fondamentale, poiché consente di reimpostare la cronologia sul server. Il seguente tutorial ti mostrerà come implementare questa funzionalità.

Conoscenze principali

  • Per ripristinare la chat, puoi generare una nuova ID della chat.
  • L'ID della chat viene generato al ricaricamento della pagina e inviato al server.
  • Il server confronta la nuova ID della chat con quella attuale e la reimposta se sono diverse.

Istruzioni passo dopo passo

Per prima cosa, hai già un'applicazione di chat funzionante, ma c'è un piccolo problema: non puoi ancora ripristinare la cronologia della chat. Per consentirlo, dobbiamo introdurre un'ID che verrà generata ogni volta che ricarichi la pagina.

Come puoi riavviare la chat con l'API di OpenAI

Questa nuova ID della chat deve quindi essere inviata al tuo server. Quando il server riceve una nuova ID, può ripristinare la cronologia della chat. Questo avviene tramite un semplice confronto: se la nuova ID della chat non corrisponde a quella attuale, l'elenco dei messaggi viene ripristinato.

Per implementare questo, devi assicurarti che il client sia in grado di generare un'ID casuale. Passerai l'ID utilizzando il parametro di ricerca ID. Quindi diamo un'occhiata al file index.jsx del tuo componente React.

Come puoi ripristinare la chat con l'API OpenAI

In questo file hai già passato il messaggio necessario (MSG). Ora puoi passare anche l'ID. Puoi farlo in modo efficace utilizzando i template string, semplificando l'inserimento di variabili.

Come puoi ripristinare la chat con l'API di OpenAI

Quindi trasforma il codice in un template string e inserisci le variabili di conseguenza. Potrebbe apparire così: MSG, questo è il tuo campo di input, e l'ID è uguale alla tua nuova ID.

Ora devi pensare alla generazione dell'ID. Un metodo semplice è utilizzare la data. Puoi semplicemente definire una costante che utilizzi l'ora attuale in millisecondi dal 1970. Puoi utilizzare Date.now() per ottenere questo e quindi convertire questo tempo in una stringa.

Ora, ogni volta che ricarichi la pagina, inviamo sempre una nuova ID. Dovrebbe funzionare come desiderato. Proviamo tutto e inviamo un messaggio per verificare se i dati vengono trasmessi correttamente al server.

Come resettare la chat con l'API di OpenAI

Se invii il messaggio "how are you", vedrai sul server due messaggi: uno dell'utente e uno dell'assistente.

Come puoi ripristinare la chat con l'API OpenAI

Tuttavia, se invii un'altra domanda, ad esempio "why does it not have feelings", la cronologia dovrebbe essere ripristinata di conseguenza. Dovrebbe essere presente solo la domanda corrente e la sua risposta.

Come puoi reimpostare la chat con l'API di OpenAI

Ciò significa che, quando controlliamo le ID, non dovrebbero esserci conflitti, ad esempio la nuova ID della chat deve essere diversa dall'ID della chat corrente, semplificando così il processo.

Come puoi reimpostare la chat con l'API di OpenAI

Per assicurarti che funzioni, esegui nuovamente il test. Ricarica la pagina e invia il messaggio di nuovo. Ora dovrebbero essere memorizzati quattro messaggi nell'array.

Come puoi ripristinare la chat con l'API di OpenAI

L'array mostra il totale dei messaggi inviati, il che significa che abbiamo correttamente ripristinato la cronologia. Ciò avviene solo al ricaricamento della pagina. In alternativa, puoi anche implementare un pulsante che attiva il ripristino della chat, ma per i nostri scopi, il ricaricamento della pagina è sufficiente.

Come puoi reimpostare la chat con l'API OpenAI

Tuttavia, tieni presente che il campo di input non viene automaticamente cancellato dopo l'invio di un messaggio. Anche la storia completa delle chat non è ancora visibile, il che significa che vedrai sempre solo l'ultima domanda e risposta. Affronteremo anche questo nei tutorial futuri.

Come puoi reimpostare la chat con l'API di OpenAI

Riepilogo

In questa guida hai imparato come implementare la funzione di ripristino cronologia chat nella tua applicazione di chat. Introducendo un nuovo ID della chat al ricaricare la pagina, la cronologia è stata ripristinata con successo. Ci sono ancora alcune migliorie che implementeremo nei prossimi passaggi, come la cancellazione del campo di input e la visualizzazione completa della cronologia chat.

Domande frequenti

Come posso reimpostare la chat?Ricaricando la pagina, la cronologia della chat viene reimpostata.

Come viene generato il nuovo ID?Il nuovo ID è generato dall'ora attuale in millisecondi.

Posso reimpostare la chat senza ricaricare la pagina?Sì, puoi anche implementare un pulsante che reimposta la chat.

Cosa succede se gli ID sono uguali?Se il nuovo ID è uguale all'ID attuale, la cronologia non viene reimpostata.

Devo cancellare manualmente il campo di input?Sì, attualmente il campo di input non viene automaticamente cancellato dopo l'invio di un messaggio.