Um chatbot inteligente desenvolvido em Python que utiliza o modelo Llama 3.3 70B (via Groq) para conversar e responder perguntas com base em diferentes fontes de informação.
O PedroBot é um assistente virtual que pode processar informações de múltiplas fontes e responder perguntas de forma contextualizada. Ele suporta:
- 🌐 Sites - Carrega e processa conteúdo de URLs
- 📄 PDFs - Extrai texto de arquivos PDF
- 🎥 Vídeos do YouTube - Transcreve e processa legendas de vídeos
- 💬 Chat livre - Conversa sem contexto adicional
- Interface de linha de comando simples e intuitiva
- Suporte a múltiplas fontes de dados
- Histórico de conversa mantido durante a sessão
- Respostas contextualizadas baseadas no documento carregado
- Tratamento de erros robusto
- Python 3.8 ou superior
- Conta na Groq para obter uma API key
- Conexão com a internet
- Clone o repositório:
git clone https://github.com/seu-usuario/pedrobot.git
cd pedrobot- Crie um ambiente virtual (recomendado):
python -m venv venv
# No Windows
venv\Scripts\activate
# No Linux/Mac
source venv/bin/activate- Instale as dependências:
pip install -r requirements.txt- Configure as variáveis de ambiente:
Crie um arquivo .env na raiz do projeto com o seguinte conteúdo:
GROQ_API_KEY=sua_chave_api_aqui
Para obter sua chave API:
- Acesse console.groq.com
- Crie uma conta ou faça login
- Gere uma nova API key na seção de configurações
- Execute o programa:
python chatbot.py-
Escolha uma opção:
1- Carregar conteúdo de um site2- Carregar conteúdo de um arquivo PDF3- Carregar legendas de um vídeo do YouTube4- Iniciar chat sem contexto adicionalX- Sair do programa
-
Converse com o bot:
- Digite suas perguntas
- Digite
xpara encerrar o chat
Digite 1 para me mandar um site
Sua escolha: 1
Digite a URL do site: https://exemplo.com/artigo
Você: Qual é o tema principal deste artigo?
PedroBot: [Resposta baseada no conteúdo do site]
Digite 2 para me mandar um PDF
Sua escolha: 2
Digite o caminho do arquivo PDF: /caminho/para/documento.pdf
PDF carregado com sucesso.
Você: Resuma os pontos principais
PedroBot: [Resumo do PDF]
Digite 3 para me mandar um vídeo do YouTube
Sua escolha: 3
Digite a URL do vídeo do YouTube: https://www.youtube.com/watch?v=exemplo
Vídeo carregado com sucesso.
Você: Sobre o que fala este vídeo?
PedroBot: [Resumo baseado nas legendas]
- LangChain - Framework para desenvolvimento de aplicações com LLMs
- Groq - API para acesso ao modelo Llama 3.3 70B
- pypdf - Extração de texto de arquivos PDF
- BeautifulSoup4 - Scraping de conteúdo web
- python-dotenv - Gerenciamento de variáveis de ambiente
pedrobot/
│
├── chatbot.py # Código principal do chatbot
├── requirements.txt # Dependências do projeto
├── .env # Variáveis de ambiente (não incluído no repositório)
├── .gitignore # Arquivos ignorados pelo git
└── README.md # Este arquivo
- O bot requer uma chave API válida do Groq para funcionar
- Para vídeos do YouTube, certifique-se de que possuem legendas em português
- Arquivos PDF muito grandes podem levar mais tempo para processar
- O histórico da conversa é perdido ao encerrar o programa
- Nunca compartilhe sua chave API em repositórios públicos
- Adicione o arquivo
.envao.gitignore - Mantenha suas dependências atualizadas
Contribuições são bem-vindas! Sinta-se à vontade para:
- Fazer um fork do projeto
- Criar uma branch para sua feature (
git checkout -b feature/NovaFuncionalidade) - Commit suas mudanças (
git commit -m 'Adiciona nova funcionalidade') - Push para a branch (
git push origin feature/NovaFuncionalidade) - Abrir um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Para dúvidas ou sugestões, abra uma issue no repositório.
⭐ Se este projeto foi útil para você, considere dar uma estrela no repositório!