Este projeto implementa um chatbot inteligente utilizando RAG (Retrieval-Augmented Generation) e Groq para respostas rápidas e contextualizadas. Ele combina um backend robusto e um frontend amigável para interação com o usuário.
- Interface web moderna com React e TypeScript
- RAG: Busca informações em uma base local (
data/conhecimento.txt) para enriquecer respostas - Groq: LLM de alta velocidade para respostas contextualizadas
- Backend e frontend desacoplados, rodando simultaneamente
- Atualização fácil da base de conhecimento
| Camada | Tecnologias |
|---|---|
| Backend | Node.js, Express, LangChain.js, Groq, FAISS (em memória) |
| Frontend | React, TypeScript, Vite, SWC |
| Embeddings | Hugging Face Inference API |
-
Node.js ≥ 20 → Download Node.js Verifique a versão:
node -v
-
Git → Download Git
git clone https://github.com/marcio-guimaraes/chatbot-rag.git
cd chatbot-ragCrie um arquivo .env na raiz do projeto com:
GROQ_API_KEY=gsk_SUA_CHAVE_DA_GROQ_AQUI
HUGGINGFACE_API_KEY=hf_SUA_CHAVE_DO_HUGGING_FACE_AQUIComo obter as chaves:
-
Groq: console.groq.com/keys → "+ Create API Key" → nomeie → copie a chave.
-
Hugging Face: huggingface.co/settings/tokens → "+ New token" → nomeie → role write → copie a chave (
hf_...).
- Instalar dependências do backend:
npm install --legacy-peer-deps
⚠️ Usamos--legacy-peer-depspara evitar conflitos de versão do LangChain.
- Rodar backend:
node src/backend/server.jsAguarde:
✅ Sistema RAG pronto e indexado!
Deixe este terminal aberto.
Abra um novo terminal:
- Instalar dependências do frontend:
cd src/frontend
npm install- Rodar frontend:
npm run devO terminal mostrará a URL do frontend (geralmente http://localhost:5173).
Acesse no navegador.
- Edite o arquivo
data/conhecimento.txt. - Salve o arquivo.
- Reinicie o backend para reindexar:
node src/backend/server.jschatbot-rag/
├─ data/
│ └─ conhecimento.txt # Base de conhecimento
├─ src/
│ ├─ backend/
│ │ └─ server.js # Backend Node.js + RAG
│ └─ frontend/ # Frontend React + Vite
├─ .env # Chaves de API
└─ README.md
- Backend e frontend devem rodar simultaneamente para o chatbot funcionar.
- Atualizações na base de conhecimento exigem reinício do backend.
- Certifique-se de que as chaves de API estão corretas e ativas.