Durante a implementação, montei uma pipeline RAG completa para consulta de documentos internos de RH. A solução realiza a leitura dos PDFs, extração do texto, divisão em chunks com overlap, enriquecimento com metadados, geração de embeddings e armazenamento em uma VectorStore com ChromaDB.
A versão original do curso utilizava embeddings da OpenAI, porém encontrei limitações de chave/quota durante a execução no Google Colab. Para contornar esse ponto, adaptei a solução utilizando HuggingFaceEmbeddings, mantendo o conceito principal da arquitetura e permitindo a geração dos vetores localmente no ambiente do Colab.
Também foi configurada a recuperação semântica dos chunks mais relevantes, seguida de uma etapa de re-rank com LLM para selecionar os trechos mais pertinentes antes da geração da resposta final. A aplicação com Streamlit foi construída para exibir tanto a resposta quanto os chunks utilizados como base.
Durante os testes, a interface Streamlit apresentou instabilidade ao ser exposta pelo LocalTunnel e pelo proxy do Colab, principalmente no carregamento de arquivos JavaScript internos da própria interface. Por esse motivo, validei a pipeline diretamente no notebook, executando o fluxo principal sem depender da interface web.
Mesmo com essa limitação do ambiente, a arquitetura principal foi concluída: os documentos foram processados, vetorizados, armazenados no ChromaDB, recuperados por similaridade semântica, reordenados com re-rank e utilizados como contexto para geração da resposta.
Como não cabe todo o código aqui do arquivo .py eu vou por o link dele também à baixo: