RAG e busca semântica: o pipeline que projetei
O RAG da minha plataforma de agentes é um design, não um sistema em uso: está em construção, na fase 0. Esta página descreve cada etapa do pipeline e o que ainda não existe.
O que é RAG
RAG (geração aumentada por recuperação) responde com informação que o modelo não tinha: primeiro buscam-se os trechos relevantes dos documentos e depois eles são entregues ao modelo junto com a pergunta. A busca semântica usa embeddings, vetores que representam o significado de um texto, para encontrar trechos parecidos com a pergunta mesmo que não compartilhem palavras.
O pipeline previsto
- Entrada: documentos não estruturados como PDF, Word, digitalizações e imagens que precisam de OCR, e e-mail, TXT e MD.
- Parser e OCR com PyMuPDF e Tesseract, e depois chunking e embeddings, em workers sobre Redis e Celery.
- Armazenamento no PostgreSQL com pgvector: os documentos são guardados com hash e versões, e os chunks com seus embeddings.
- Recuperação: a Retrieval Tool busca os top-k trechos, sempre dentro de um tenant.
- Resposta: o agente de RAG, encaminhado pelo orquestrador do LangGraph, responde, e um guardrail de saída valida a resposta e cita a fonte.
Estado
Stack relacionado
- PostgreSQL + pgvector
- PyMuPDF
- Tesseract
- LangChain
- Celery