Sistema de perguntas e respostas sobre documentos PDF utilizando Retrieval-Augmented Generation (RAG) com avaliação de qualidade através do framework RAGAS.
- Carregamento e indexação de documentos PDF
- Busca semântica via embeddings do HuggingFace
- Geração de respostas contextualizadas usando LLM
- Avaliação automática de qualidade com métricas RAGAS (faithfulness, answer relevancy, context precision)
- Python 3.8+
- Conta com acesso a API de LLM compatível com OpenAI
- Token do HuggingFace
Criar e ativar ambiente virtual:
python -m venv .venvAtivar no Windows:
.venv\Scripts\activateAtivar no Git Bash:
source .venv/Scripts/activateDesativar:
deactivateCom o ambiente virtual ativado, instale as dependências:
pip install -r requirements.txtCrie um arquivo .env na raiz do projeto com as seguintes variáveis:
DO_BASE_URL=sua_url_base_api
DO_API_KEY=sua_chave_api
DO_MODEL=nome_do_modelo
HF_TOKEN=seu_token_huggingface
python main.pyO sistema irá:
- Indexar o PDF especificado
- Solicitar uma pergunta
- Retornar a resposta baseada no contexto do documento
- Exibir métricas de avaliação da resposta
- LangChain: orchestração do pipeline RAG
- ChromaDB: armazenamento vetorial
- HuggingFace: embeddings (sentence-transformers/all-MiniLM-L6-v2)
- RAGAS: avaliação de qualidade do RAG
- PyPDF: processamento de PDFs