Neste tutorial, você aprenderá como redefinir um chat com a OpenAI API sem precisar reiniciar o servidor. Muitas vezes existem situações em que você simplesmente deseja esquecer o histórico de chat atual e começar do zero. Aqui, um ID de chat desempenha um papel central, pois permite redefinir o histórico no servidor. O seguinte tutorial irá mostrar como implementar essa funcionalidade.

Principais Insights

  • Para redefinir o chat, você pode gerar um novo ID de chat.
  • O ID de chat é criado ao recarregar a página e enviado ao servidor.
  • O servidor compara o novo ID de chat com o atual e redefinirá o histórico do chat se forem diferentes.

Guia Passo a Passo

Primeiramente, você já tem um aplicativo de chat funcional, porém há um pequeno problema: você não consegue redefinir o histórico do chat ainda. Para permitir isso, precisamos introduzir um ID que será gerado cada vez que a página for recarregada.

Como redefinir o chat com a API da OpenAI

Esse novo ID de chat deve então ser enviado ao seu servidor. Quando o servidor recebe um novo ID, ele pode redefinir o histórico do chat. Isso é feito através de uma simples comparação: se o novo ID de chat não corresponder ao ID de chat atual, a lista de mensagens será redefinida.

Para implementar isso, você deve garantir que o cliente seja capaz de gerar um ID aleatório. Você passará o ID com o parâmetro de busca ID. Vamos dar uma olhada no arquivo index.jsx do seu componente React.

Como redefinir o chat com a API da OpenAI

Neste arquivo, você já passou a mensagem necessária (MSG). Agora você também pode passar o ID. Você pode fazer isso de forma eficaz usando template strings, o que facilita a inserção de variáveis.

Como pode redefinir o chat com a API da OpenAI

Portanto, converta o código em um template string e insira as variáveis conforme necessário. Pode parecer algo assim: MSG, este é o seu campo de entrada, e o ID é igual ao seu novo ID.

Agora você precisa considerar a geração do ID. Um método simples é usar a data. Você pode simplesmente definir uma constante que usa o horário atual em milissegundos desde 1970. Para isso, você pode usar Date.now() e converter esse tempo em uma string.

Agora enviamos sempre um novo ID ao recarregar a página. Isso deve funcionar conforme o esperado. Vamos testar e enviar uma mensagem para ver se os dados são enviados corretamente para o servidor.

Como pode redefinir o chat com a API da OpenAI

Ao enviar a mensagem "how are you", você verá no servidor que existem duas mensagens: uma do usuário e outra do assistente.

Como pode reiniciar o chat com a API da OpenAI

No entanto, ao enviar outra pergunta, como "why does it not have feelings", o histórico deve ser redefinido conforme necessário. Apenas a pergunta atual e sua resposta devem estar visíveis.

Como redefinir o chat com a API da OpenAI

Isso significa que, ao verificar os IDs, não deve haver conflito, por exemplo, o novo ID de chat deve ser diferente do ID de chat atual, para que a lógica seja executada de forma limpa.

Como reiniciar o chat com a OpenAI API

Para garantir que funcione, repita o teste. Recarregue a página e envie a mensagem novamente. Agora quatro mensagens devem ser armazenadas no array.

Como redefinir o chat com a API da OpenAI

O array mostra o número total de mensagens enviadas, o que significa que o histórico foi redefinido corretamente. No entanto, isso acontece apenas ao recarregar a página. Alternativamente, você também pode implementar um botão para redefinir o chat, mas para nossos propósitos, recarregar a página é suficiente no momento.

Como redefinir o chat com a API da OpenAI

No entanto, observe que o campo de entrada não é automaticamente limpo após o envio de uma mensagem. Além disso, a história completa dos chats ainda não é visível, o que significa que você só vê a última pergunta e resposta. Este é outro assunto que abordaremos em futuros tutoriais.

Como você pode redefinir o chat com a API da OpenAI

Resumo

Neste tutorial, você aprendeu como implementar a funcionalidade de redefinição do histórico de chat em sua aplicação de chat. Ao introduzir um novo ID de chat ao recarregar a página, o histórico foi redefinido com sucesso. Ainda há algumas melhorias que implementaremos nos próximos passos, como limpar o campo de entrada e exibir completamente o histórico do chat.

Perguntas Frequentes

Como posso redefinir o chat?Redefinindo o chat ao recarregar a página.

Como é gerado o novo ID?O novo ID é gerado a partir do tempo atual em milissegundos.

Posso redefinir o chat sem recarregar a página?Sim, você pode implementar um botão que redefina o chat.

O que acontece se os IDs forem iguais?Se o novo ID for igual ao ID atual, o histórico não será redefinido.

Devo limpar o campo de entrada manualmente?Sim, por enquanto o campo de entrada não é limpo automaticamente após o envio de uma mensagem.