Este repositório contém um assistente virtual para Telegram, desenvolvido utilizando a abordagem RAG (Retrieval-Augmented Generation). O bot combina IA generativa com busca eficiente em documentos para responder a perguntas de forma precisa e contextualizada.
- Linguagem: Python
- Frameworks: LangChain, Gemini API, Telebot
- Armazenamento: A definir
Para configurar e executar o bot, siga os passos abaixo:
-
Clone o repositório
git clone https://github.com/Onifin/PJe-Telegram-RAG-Bot.git cd PJe-Telegram-RAG-Bot
-
Crie um ambiente virtual Python
No Linux:
python3 -m venv venv source venv/bin/activate
No Windows:
python -m venv venv venv\Scripts\activate
-
Instale as dependências do programa
pip install -r requirements.txt
-
Crie o arquivo
.env
e adicione as credenciaisNo diretório raiz do projeto, crie um arquivo chamado
.env
.Adicione a chave da API do Telegram no seguinte formato:
TELEGRAM_API_KEY=seu_token_do_telegram
Adicione a chave da API do Gemini no seguinte formato:
GOOGLE_API_KEY=seu_token_do_gemini
Texto explicando como conseguir as chaves: ainda em produção.
-
Configure os dados
Crie um arquivo chamado
extracted_text.txt
com o texto que será fornecido para o bot.Caso seu texto venha de uma página web, considere usar o WebDataDrill que consegue extrair os textos e estruturar no formato correto para o bot.
-
Configure o modelo de embeddings
No Linux:
sudo apt update sudo apt install curl curl -fsSL https://ollama.com/install.sh | sh ollama pull mxbai-embed-large
-
Execute a aplicação
No Linux:
python3 main.py
No Windows:
python main.py
Agora o bot estará pronto para ser usado!
A aplicação processa diferentes tipos de mensagens de acordo com o conteúdo recebido. O fluxo funciona da seguinte forma:
-
Comandos
- Quando um comando é enviado, a aplicação verifica se ele está registrado.
- Caso seja um comando cadastrado, uma resposta apropriada é fornecida.
-
Mensagem de Texto
- Mensagens de texto são processadas utilizando o modelo Gemini-1.5-pro, que gera uma resposta adequada baseada no conteúdo enviado.