Este repositório contém um chatbot avançado criado com a API OpenAI que aproveita a memória de longo prazo, a lógica avançada, as incorporações e os bancos de dados para fornecer uma experiência de usuário verdadeiramente única. Ao contrário dos chatbots tradicionais que simplesmente respondem à entrada do usuário com base em regras ou scripts predefinidos, esse chatbot pode lembrar o que você disse em conversas anteriores e desenvolver esse conhecimento para fornecer respostas mais personalizadas e relevantes.
Os recursos lógicos avançados do Chatbot também significam que ele pode lidar com conversas mais complexas e fornecer respostas mais sutis, fazendo com que pareça estar conversando com uma pessoa real. Além disso, o chatbot usa incorporações e bancos de dados para obter memória de longo prazo, permitindo que ele retenha informações de conversas anteriores e use essas informações para informar interações futuras.
Para garantir uma experiência segura do usuário, o chatbot também inclui a autenticação de conhecer seu cliente (KYC) através do Google Login. Esse recurso verifica a identidade dos usuários e ajuda a prevenir fraudes e abusos.
Um dos principais recursos deste chatbot são seus avisos flexíveis. Por exemplo, o prompt padrão foi projetado para fazer o chatbot agir como um professor italiano, mas você pode modificar facilmente o prompt para se adequar a qualquer outro caso de uso que tenha em mente. Isso torna o chatbot altamente versátil e adaptável a uma ampla gama de casos de uso.
Usa o modelo mais recente (GPT-3.5-Turbo) da API OpenAI para processamento avançado de linguagem natural
Memória de longo prazo alcançada através de incorporações e bancos de dados
Os avisos flexíveis permitem fácil personalização para ajustar qualquer caso de uso
Recursos lógicos avançados permitem conversas mais complexas e respostas diferenciadas
Autenticação KYC através do Google Login garante uma experiência segura do usuário
Pode ser facilmente integrado a várias aplicações e plataformas
Se você está procurando um chatbot que vai além de scripts e regras simples e pode fornecer uma experiência de usuário mais personalizada e envolvente, mantendo a segurança das informações do usuário, este chatbot de IA com memória de longo prazo, lógica avançada e autenticação KYC é a solução perfeita!

Para usar o chatbot, você precisará primeiro clonar esse repositório para sua máquina local. Você pode fazer isso executando o seguinte comando em seu terminal:
git clone https://github.com/FaustoNisida/AI-Chatbot-Long-Term-Memory thefolderofyourchoise
cd thefolderofyourchoise
Em seguida, você precisará instalar todas as dependências para os aplicativos do cliente e do servidor. Para fazer isso, primeiro navegue até o diretório do cliente em seu terminal:
cd client
Em seguida, execute o seguinte comando para instalar as dependências do cliente:
npm install --force
Observe que o sinalizador -force pode ser necessário se você encontrar algum erro durante o processo de instalação.
Em seguida, navegue até o diretório do servidor em seu terminal:
cd ../server
Em seguida, execute o seguinte comando para instalar as dependências do servidor:
npm install
Depois de instalar as dependências, você precisará criar um arquivo .env nos diretórios do cliente e do servidor que contêm as seguintes variáveis ambientais:
OPENAI_API_KEY=<youropenaiapikey>
Crie sua chave Openai aqui
API_KEY=<yourcustomapikeyforaccessingtheserver>
Você pode colocar qualquer senha ou chave de sua escolha no campo API_KEY .
VITE_Api_Key=<yourcustomapikeyforaccessingtheserver>
VITE_Google_Client_id=<yourgoogleclientid>
Crie um projeto e depois um ID do Google Client aqui
Para garantir que o ID do seu cliente do Google esteja configurado corretamente, é essencial incluir as seguintes origens durante o processo de criação:
Origens JavaScript autorizadas:
URIs de redirecionamento autorizado:


No campo VITE_Api_Key , você deve colocar a mesma senha ou tecla que você colocou na variável API_KEY ANVIROMENTAL DO CLIENTE .ENV
Agora você está pronto para usar o aplicativo
Abra uma janela de terminal.
Navegue até o diretório do servidor executando o comando cd server .
Inicie o servidor executando o comando npm run server .
O servidor agora está em execução em http: // localhost: 3000
Por padrão, o chatbot é criado para agir como um professor italiano. No entanto, você pode modificar facilmente o prompt para atender a qualquer outro caso de uso que tenha em mente. Basta editar o prompt na linha 97 do arquivo index.js no diretório do servidor para incluir o prompt desejado .
Abra uma segunda janela do terminal, sem fechar o terminal onde está atualmente executando o cliente .
Navegue até o diretório do cliente executando o comando cd client .
Inicie o cliente executando o comando npm run dev .
O cliente e o servidor estão em execução agora e você pode acessar o aplicativo visitando http: // localhost: 5173 no seu navegador da web.
Aproveite o uso!
Recomenda -se armazenar as incorporações e as entradas e saídas associadas àquelas em um banco de dados que suporta a pesquisa de vetores, como texia ou pinecone. Embora os arquivos JSON locais (como eu usei para este projeto por uma questão de tempo) possam ser usados como um banco de dados para projetos de pequena escala ou prototipagem, é uma prática recomendada usar bancos de dados especializados ao lidar com incorporações e dados associados.
Ao armazenar as incorporações e dados associados em um banco de dados de pesquisa vetorial, você pode pesquisar e recuperar facilmente informações relevantes quando necessário, sem precisar confiar em consultas de banco de dados mais complexas e mais lentas. Isso pode melhorar significativamente a velocidade e a eficiência gerais do chatbot, resultando em uma melhor experiência do usuário.
Lembre -se de que, embora esses bancos de dados possam oferecer benefícios significativos, eles também podem exigir configuração e manutenção adicionais em comparação com os bancos de dados tradicionais. Considere suas necessidades e recursos específicos antes de decidir usar um banco de dados de pesquisa vetorial.
Se você quiser contribuir com este projeto, sinta -se à vontade para enviar uma solicitação de tração com as alterações propostas. Congratulamo -nos com todas as contribuições, incluindo correções de bugs, novos recursos e melhorias na documentação.
Se você tiver alguma dúvida ou feedback sobre este projeto, sinta -se à vontade para nos alcançar:
Gostaríamos muito de ouvir de você e estamos felizes em ajudar com quaisquer problemas que você possa encontrar.