Sistema de chatbot inteligente com RAG (Retrieval-Augmented Generation) que usa uma base de conhecimento em CSV(pode ser qualquer outra) para responder perguntas.
- Suporte para múltiplos provedores de LLM:
- Groq (recomendado - rápido e gratuito)
- OpenRouter (acesso a vários modelos)
- Ollama (local, sem necessidade de API)
- Embeddings gratuitos via HuggingFace
- Interface web com Streamlit
- Base de conhecimento customizável (CSV, entre outras)
- Python 3.8 ou superior
-
Clone ou baixe este repositório
-
Instale as dependências:
pip install -r requirements.txt- Configure suas variáveis de ambiente:
- Use o
example.envcomo exemplo pra o seu.env - Edite o arquivo
.envcom suas chaves API
- Use o
- Crie uma conta em https://console.groq.com/
- Gere uma API key em https://console.groq.com/keys
- No arquivo
.env, configure:
LLM_PROVIDER=groq
GROQ_API_KEY=sua_chave_aqui- Crie uma conta em https://openrouter.ai/
- Gere uma API key em https://openrouter.ai/keys
- No arquivo
.env, configure:
LLM_PROVIDER=openrouter
OPENROUTER_API_KEY=sua_chave_aqui- Instale o Ollama: https://ollama.ai/
- Baixe um modelo:
ollama pull llama3.1 - No arquivo
.env, configure:
LLM_PROVIDER=ollama
OLLAMA_SERVER_URL=http://localhost:11434Edite o arquivo knowledge_base.csv com as informações da sua empresa/produto. O formato deve conter as perguntas e respostas que o bot deve conhecer.
streamlit run app.pyO aplicativo abrirá automaticamente no seu navegador em http://localhost:8501
Edite a variável correspondente no arquivo .env:
- Groq: Escolha o seu modelo no site, exemplo:
GROQ_MODEL=llama-3.1-8b-instant - OpenRouter: Escolha o seu modelo no site, exemplo:
OPENROUTER_MODEL=anthropic/claude-3.5-sonnet - Ollama:
OLLAMA_MODEL=llama3.1
Por padrão, usa HuggingFace (gratuito). Para usar Ollama:
EMBEDDING_PROVIDER=ollama
OLLAMA_EMBEDDING_MODEL=nomic-embed-text- Groq é recomendado por ser gratuito e muito rápido
- HuggingFace embeddings são gratuitos e rodam localmente
- Teste diferentes modelos para encontrar o melhor custo-benefício
- Mantenha sua
knowledge_base.csvatualizada
pip install --upgrade -r requirements.txtVerifique se o arquivo .env está na raiz do projeto e contém as chaves corretas.
ollama pull llama3.1 DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <[email protected]>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.