bonolive ~/portfolio
EN
Voltar para todos os projetos

Assistente de Conhecimento RAG

Um assistente auto-hospedável que responde perguntas sobre documentos internos com citações — OpenAI na nuvem, Ollama on-premise.

Problema
Os times repetiam as mesmas perguntas porque as respostas ficavam perdidas entre wikis, PDFs e histórico de chat.
Solução
Um pipeline com recuperação aumentada sobre PostgreSQL/pgvector e um serviço FastAPI, intercambiável entre modelos OpenAI e Ollama local.
Impacto
Reduziu o tempo até a resposta de perguntas internas comuns de minutos de busca para uma única resposta fundamentada e com fontes.
Stack
  • Python
  • FastAPI
  • PostgreSQL
  • pgvector
  • OpenAI
  • Ollama
  • Redis

Contexto

O conhecimento interno estava espalhado por wikis, PDFs exportados e meses de histórico de chat. As pessoas perdiam tempo real redescobrindo respostas que já existiam em algum lugar.

Arquitetura

Os documentos são divididos em trechos, embeddados e armazenados em PostgreSQL com pgvector. Um serviço FastAPI cuida da recuperação (busca por similaridade + reranking) e da geração, com uma fina abstração que troca o provedor do modelo entre OpenAI e um runtime Ollama local — então o mesmo deploy funciona em nuvem ou totalmente on-premise. O Redis faz cache das consultas e embeddings mais quentes para manter a latência baixa.

Detalhes

  • As respostas sempre citam os trechos de origem, para que o usuário possa verificar.
  • A ingestão é incremental — só os documentos alterados são reembeddados.
  • A abstração de provedor evita lock-in: troque para modelos locais em dados sensíveis.

Próximos passos

Adicionar harnesses de avaliação da qualidade das respostas e um ciclo de feedback que promove respostas frequentemente confirmadas para um cache mais rápido.