Avaliação de um sistema de busca semântica com RAG
Sistema de Busca Semântica com RAG
Fluxo do sistema
- PDFs
- Docling e PDFBox
- Embeddings
- PostgreSQL + pgvector
- Spring AI + Ollama
- Resposta
- Construí um harness de avaliação automatizada em Python que mede a qualidade das respostas de forma repetível entre configurações do sistema.
- Defini a rubrica de avaliação e apliquei LLM as a judge na pontuação automatizada, com análise estatística (pandas, SciPy, matplotlib).
- Escrevi testes automatizados de API para os endpoints do serviço de busca e para o fluxo de ingestão de documentos.
- API REST em Spring Boot com Spring Data JPA, Spring Security e JWT, Actuator, Spring Retry e AOP, estruturada para ingestão de documentos e busca semântica.
- Pipeline de ingestão com extração de conteúdo de PDFs (Docling e PDFBox), geração de embeddings e persistência em vector store no PostgreSQL com pgvector, com schema versionado via Flyway.
- Integração com modelos de linguagem executados localmente via Ollama, orquestrada pelo Spring AI.
- Ambiente containerizado com Docker Compose (aplicação, banco vetorial, LLM e parsing), com healthchecks e inicialização automatizada.
- Harness de avaliação em Python (pandas, SciPy, matplotlib) para comparar a qualidade das respostas entre configurações do sistema de forma repetível.