cerebro-vip INEMA.CLUB
inícioINEMA.VIBE

Apresentação completa do MegaRag, sistema RAG multimodal open source…

INEMA.VIBE · 2025-12-23 · ~14 min · ver no Telegram ↗

INEMA

Aqui vão HACKS práticos (atalhos reais) para montar, evoluir e operar um MegaRag sem sofrer 👇 Nada teórico — só o que economiza tempo, dinheiro e sanidade.


🔥 HACKS DE CONSTRUÇÃO (ganhar velocidade)

1) Clone repos “ruins” de propósito

Clone vários repos parecidos, mesmo mal escritos. Depois peça:

“Resuma os padrões bons, ruins e decisões arquiteturais desses repos”

➡️ O modelo aprende o que NÃO fazer também.


2) Crie o sistema ANTES do código

Antes de qualquer linha:

  • Gere um architecture.md
  • Gere um data-flow.md
  • Gere um query-modes.md

➡️ 70% dos bugs somem só com isso.


3) Chunking simples primeiro, inteligente depois

Comece com:

  • 600–800 tokens
  • overlap fixo (100)

Depois:

  • chunk por tópico (usando LLM)
  • chunk por tempo (vídeo/áudio)
  • chunk por estrutura (PDF: título, tabela, parágrafo)

➡️ Não tente ser esperto cedo demais.


4) Embedding barato sempre

Use embedding barato para indexar. Use modelo caro só na resposta final.

➡️ 90% do custo de RAG morre aqui.


🧠 HACKS DE QUALIDADE (respostas melhores)

5) Mix mode NÃO precisa ser sempre default

Regra prática:

  • Pergunta simples → Naive
  • “Quem é X?” → Local
  • “Como X se conecta com Y?” → Global
  • Pergunta complexa → Mix

➡️ Economiza tokens e latência.


6) Deduplicar chunk é obrigatório

Sempre:

  • hash do texto
  • remove chunks quase idênticos

➡️ Evita resposta repetitiva e confusa.


7) Cite menos, mas melhor

  • Máx: 3–5 chunks
  • Priorize:

  • chunks com entidade + relação

  • chunks de origem diferente

➡️ Mais credibilidade, menos ruído.


🧩 HACKS DE ENTIDADES & GRAFOS

8) Subject > Entity

Não trate tudo como entidade solta.

Exemplo:

  • Subject: Technology

  • Entities: AI, NLP, Transformers, Embeddings

➡️ Busca fica muito mais inteligente.


9) Grafo “burro” > grafo perfeito

Faça grafo simples:

  • entidade A → entidade B (verbo simples)

Não tente:

  • ontologia perfeita
  • RDF complexo

➡️ Funciona hoje, não em 6 meses.


10) Relação fraca também vale

“Relacionado a”, “mencionado com”, “contextual”

➡️ Essas relações salvam perguntas vagas.


⚡ HACKS DE PERFORMANCE

11) Cache tudo

  • Cache de embeddings
  • Cache de consultas frequentes
  • Cache de respostas finais (TTL curto)

➡️ RAG sem cache é suicídio financeiro.


12) Auto polling com backoff

Não fique pingando toda hora:

  • 1s → 3s → 5s → 10s

➡️ Menos carga, mesma UX.


13) Pré-processar arquivos grandes

Antes de subir:

  • comprima vídeo
  • normalize áudio
  • limpe PDF (OCR só se precisar)

➡️ Gemini/File API agradece.


💰 HACKS DE CUSTO

14) Limite por sessão

  • máx chunks por query
  • máx tokens por resposta
  • timeout de grafo

➡️ Usuário não quebra sua fatura.


15) Mix parcial

No Mix mode:

  • faça embedding search primeiro
  • só depois entidades/grafo se necessário

➡️ 50% mais barato, mesma resposta.


🛠️ HACKS DE PRODUTO / AGÊNCIA

16) White label rápido

  • tema por config
  • logo por env var
  • domínio custom

➡️ Vira produto vendável em 1 dia.


17) “Explain my answer” button

Botão que:

  • mostra chunks
  • mostra entidades
  • mostra relações usadas

➡️ Usuário confia + aprende.


18) Log perguntas ruins

Marque:

  • pergunta sem resposta boa
  • pergunta sem chunks relevantes

➡️ Isso vira backlog de melhoria.


🤖 HACKS COM LLM (Claude / Gemini / GPT)

19) Use o LLM como arquiteto

Perguntas boas:

“Se isso quebrar em produção, onde quebra primeiro?” “Qual parte é overengineering?” “Onde posso cortar custo sem perder qualidade?”

➡️ Melhor que review humano.


20) Prompt versionado

  • system_prompt_v1
  • system_prompt_v2

➡️ Nunca perca um prompt bom.


🧨 HACK FINAL (mentalidade)

21) RAG não é busca. É sistema

Se você pensar em RAG como:

  • “só vetor” → resposta medíocre
  • pipeline + decisão + contexto → resposta premium

➡️ É isso que diferencia brinquedo de produto.


Aqui vai o passo a passo direto (bem “receita de bolo”) para montar um MegaRag :

  1. Clonar repos de referência (fase 0)
  • Clone 3–4 repos open source que já façam partes do que você quer (ex.: parsing docs, RAG, vídeo).
  • Rode no seu ambiente: /init
  • Peça para o modelo criar um claude.md com o entendimento desses repos (para “absorver” padrões).
  1. Criar o projeto (frontend + backend)
  • Escolha NextJS (porque já entrega UI + API routes).
  • Estruture pastas: UI (dashboard/chat/explorer) + API (upload/query/chat/list).
  1. Subir Supabase (base do sistema)
  • Criar projeto no Supabase.
  • Ativar/usar:

  • Storage (bucket de documentos)

  • Postgres + PGVector
  • Edge Functions (processamento/rotas)
  1. Criar tabelas essenciais
  • documents (arquivo, tipo, status, metadata)
  • chunks (texto do chunk, embedding, doc_id, offsets/tempo)
  • entities (entidade, tipo/subject, doc_id/chunk_id)
  • relations (origem, destino, tipo relação, evidência)
  1. Montar o upload (UI + API)
  • UI: drag & drop multi-arquivo.
  • API: recebe arquivo → salva no Storage → cria registro em documents com status=pending.
  1. Auto-router por tipo de arquivo
  • Detecta: txt, pdf/docx, png/jpg, mp4, mp3.
  • Encaminha para a “lane” correta (processamento específico).
  1. Implementar as 5 lanes de processamento
  • Lane 1 (TXT): ler → chunking (ex.: 800 tokens, overlap 100) → salvar chunks.
  • Lane 2 (PDF/DOCX): parser estilo Dockling → extrair texto/tabelas → Gemini descreve tabelas → chunking → salvar.
  • Lane 3 (IMAGEM): Gemini Vision descreve → chunking da descrição → salvar.
  • Lane 4 (VÍDEO): upload no Gemini File API → esperar processamento → extrair frame/texto → chunking → salvar.
  • Lane 5 (ÁUDIO): upload no Gemini File API → transcrever → chunking por tempo → salvar.
  1. Gerar embeddings e salvar no PGVector
  • Para cada chunk (texto final):

  • gerar embedding (Gemini embeddings)

  • salvar em chunks.embedding
  1. Extrair entidades e relações
  • Para cada chunk:

  • extrair entidades (pessoas, empresas, conceitos etc.)

  • agrupar por subjects
  • criar relações entre entidades
  • Salvar em entities e relations.
  1. Auto polling no frontend
  • Depois do upload, a UI consulta periodicamente o Supabase:

  • quando documents.status = processed, libera para busca/chat.

  1. Construir o Explorer
  • Tela para ver:

  • lista de documentos

  • chunks (visualizar conteúdo/tempo)
  • entidades e relações do documento
  1. Implementar os 5 modos de consulta
  • Naive: embedding → busca vetorial em chunks → top N → resposta.
  • Local: busca em entities (match + relevância) → chunks ligados → resposta.
  • Global: navega relações (relations) a partir de uma entidade → retorna conexões + chunks.
  • Hybrid: mistura Local (entidades) + Global (relações).
  • Mix (default): embedding + chunks + entidades + relações + chunks relacionados → dedup → resposta com citações.
  1. Chat com histórico + citações
  • Salvar sessões/mensagens no DB.
  • Em cada resposta:

  • anexar citações (chunk_id + trecho + score)

  • mostrar ranking de relevância e link clicável pro chunk.
  1. Admin panel
  • Dashboard com:

  • total docs, chunks, entidades, relações, chats

  • distribuição de entidades
  • uploads recentes
  • Página de grafo (visualização básica do knowledge graph).
  1. Configurações
  • Tela para:

  • escolher modelo Gemini

  • definir system prompt do chat
  • colocar Gemini API Key + secrets do Supabase
  1. Deploy
  • Front/NextJS: Vercel ou similar.
  • Backend/FastAPI (se separado): deploy em serviço simples.
  • Confirmar env vars (Supabase URL/KEY + Gemini key).

Se você me disser se quer isso para rodar local (Docker) ou Vercel, eu adapto esse passo a passo já com comandos e estrutura de pastas (bem direto também).

multimodalidade via Gemini


15. Custos e Performance

  • Uso de Gemini 2.0 para reduzir custos.
  • Modo Mix é mais caro (mais tokens).
  • Custos dependem do volume e modelo escolhido.

16. Filosofia e Conclusão

  • RAG não deveria mais ser feito em no-code para sistemas sérios.
  • Sistemas RAG de alto nível exigem:

  • Camadas

  • Controle
  • Flexibilidade
  • Construir isso em ferramentas como n8n levaria muito mais tempo.
  • Projeto feito em 4–5 dias, sem escrever código manualmente:

  • Apenas prompts + configuração de APIs.

  • Repositório com README extremamente didático, inclusive para iniciantes.

17. Mensagem Final

  • O MegaRag não é perfeito, mas é uma base sólida.
  • A ideia é:

  • Usar

  • Estender
  • Melhorar
  • Transformar de “bom” em “incrível”
  • Um presente para quem quer construir RAG de verdade em 2026+.

Resumo Geral – MegaRag System

1. Contexto e Motivação

  • Ferramentas como Ragie e Vectorize oferecem RAG como serviço, mas:

  • São caixa-preta (sem controle de chunking ou estratégia de busca).

  • Têm custo recorrente.
  • O objetivo foi criar uma alternativa open, controlável, extensível e sem lock-in.

2. O que é o MegaRag

  • Um sistema RAG multimodal completo.
  • Aceita múltiplos arquivos ao mesmo tempo:

  • MP4, MP3, PNG, PDF, DOCX, TXT.

  • Processa automaticamente, gera:

  • Chunks

  • Entidades
  • Relações
  • Grafos de conhecimento
  • Tudo consultável via chat com múltiplos modos de busca.

3. Upload e Processamento

  • Drag & drop de vários arquivos simultaneamente.
  • Sistema de fila + auto polling:

  • Verifica no Supabase quando o processamento termina.

  • Cada tipo de arquivo segue uma linha (lane) específica de processamento.

4. Linhas de Processamento (Lanes)

  1. Texto: leitura → chunking → armazenamento.
  2. Documentos (PDF/DOCX):
  • Dockling parser
  • Texto + tabelas
  • Tabelas descritas pelo Gemini
  • Chunking + embeddings 3. Imagens (PNG):

  • Gemini Vision descreve

  • Descrição vira chunks 4. Vídeo (MP4):

  • Upload no Gemini File API

  • Extração frame a frame
  • Chunking semântico 5. Áudio (MP3):

  • Upload no Gemini File API

  • Transcrição
  • Chunking por tempo

5. Exploração dos Dados

  • Explorer / Data Explorer:

  • Visualização de documentos

  • Chunks detalhados (tempo, conteúdo)
  • Entidades extraídas
  • Relações entre entidades
  • Cada chunk pode ser inspecionado individualmente.

6. Entidades e Relações

  • Extração automática de:

  • Pessoas, conceitos, tecnologias, lugares etc.

  • Entidades agrupadas por assuntos (subjects).
  • Relações semânticas entre entidades:

  • Base para buscas avançadas e grafos.


7. Modos de Consulta (5 modos RAG)

  1. Naive
  • Similaridade semântica pura
  • Rápido, superficial 2. Local

  • Busca por entidades específicas 3. Global

  • Exploração de relações (X → Y) 4. Hybrid

  • Entidades + relações 5. Mix (padrão)

  • Chunks + entidades + relações

  • Deduplicação
  • Retorno com citações
  • Mais lento, mais completo

8. Chat Inteligente

  • Chat com:

  • Histórico persistente

  • Seleção do modo de busca
  • Citações por chunk
  • Ranking de relevância
  • Referências clicáveis (rastreabilidade total)
  • Respostas usam Gemini como LLM principal.

9. Knowledge Graph

  • Mini grafo de conhecimento:

  • Nós = entidades

  • Arestas = relações
  • Visualização básica, mas funcional.
  • Serve como base para evoluções mais avançadas.

10. Painel Administrativo (Admin)

  • Dashboard com:

  • Total de documentos

  • Total de chunks, entidades e relações
  • Sessões de chat
  • Distribuição de entidades
  • Uploads recentes
  • Gestão de documentos, entidades e relações.
  • Pensado para white label.

11. API

  • Endpoints prontos:

  • Upload de documentos

  • Query (todos os modos)
  • Chat
  • Listagem de documentos
  • Compatível com:

  • n8n

  • Claude Code workflows
  • MCP server
  • FastAPI

12. Stack Tecnológica

  • Frontend: NextJS, React, TypeScript
  • Backend: NextJS + FastAPI
  • Banco e Infra: Supabase (PGVector, Storage, Edge Functions)
  • IA:

  • Gemini 2.0 (embeddings)

  • Gemini Vision
  • Gemini File API
  • Apenas 2 serviços externos: Supabase + Gemini

13. Fase 0 – Estratégia “Gênio Preguiçoso”

  • Clonagem de repositórios open source:

  • Dockling

  • LightRAG
  • RAG Anything
  • Video RAG
  • Claude Code analisa tudo e cria um modelo mental completo antes do código.
  • Prompts documentados e organizados no repositório.

14. Arquitetura Geral

  • Cliente (Dashboard, Chat, Explorer)
  • API (Upload, Query, Chat)
  • Roteador de processamento por tipo de arquivo
  • Armazenamento e vetorização no Supabase
  • LLM e

github.com/inematds/MegaRAG ↗

vectorize.io ↗

ragie.ai ↗

github.com/promptadvisers/megarag ↗

conhecimento

Cada fragmento é analisado para identificar entidades (pessoas, lugares, coisas, conceitos). As entidades são categorizadas por assuntos. Os relacionamentos entre entidades são mapeados. Isso é o que alimenta os modos avançados de busca.

A visualização do grafo de conhecimento é básica. Dá para melhorar muito. Mas funciona e mostra como tudo se conecta.

Fase 4 – Os cinco modos de consulta

  • Modo Naive: gera embedding → busca fragmentos → retorna os 5 melhores. Rápido, mas superficial.
  • Modo Mix (padrão): gera embedding → busca fragmentos → busca entidades → busca relacionamentos → encontra fragmentos relacionados → remove duplicatas → retorna com citações. Mais lento, mas completo.

Os outros três modos ficam em algum ponto intermediário, dependendo do que você precisa.

Fase 5 – Interface de chat e painel administrativo

Chat com histórico persistente, citações de fonte com pontuação de relevância e referências clicáveis para rastrear exatamente de onde cada resposta veio.

O painel administrativo mostra estatísticas dos documentos, distribuição de entidades, uploads recentes e o explorador do grafo de conhecimento.


Stack tecnológica

Tudo o que você precisa é Supabase e uma chave de API do Gemini. Só isso.

  • Frontend: NextJS, React, TypeScript
  • Backend: NextJS, Supabase, Dockling (inspiração), FastAPI
  • Embeddings: Gemini 2.0 (barato e funciona)
  • Armazenamento: Supabase Storage + Postgres com PGVector
  • Processamento: Gemini File API para vídeo e áudio

Tentei reduzir ao máximo o número de serviços necessários. Dois serviços. Fim.


Por que isso importa

Vou dizer algo que pode ser controverso. Do jeito que vejo 2026 em diante, não vejo muitos casos de uso em que ainda faça sentido usar ferramentas no-code para RAG.

RAG muda muito. Para ser realmente de classe mundial, RAG precisa de muitas camadas. Seja com Claude Code, Windsurf, Cursor ou qualquer IDE, eu não acho mais que RAG deva ser feito com workflows no-code. E eu sustento essa afirmação.

Construir um sistema tão sofisticado com essa flexibilidade levaria uma eternidade no n8n. Para mim, levou 4–5 dias de madrugadas. Mas foi possível — e eu literalmente não escrevi código algum. Só inseri algumas chaves de API nos secrets do banco de dados. E só.


O que você pode fazer com isso

  • White label para clientes
  • Adicionar um pipeline de pré-processamento
  • Transformar em um servidor MCP
  • Conectar a API ao n8n ou a workflows do Claude Code
  • Evoluir a visualização do grafo de conhecimento
  • Transformar de “bom” em “incrível”

É perfeito? Não. Não testei isso em produção a ponto de dizer que matei uma indústria multibilionária. Mas causei um impacto. E você pode pegar o que eu construí, encontrar os bugs e torná-lo infinitamente melhor.

Sistema Final Claude Code de 2025 – O Sistema MegaRag 🗄️ Este é o último sistema Claude Code de 2025, e provavelmente o melhor. Acho que acidentalmente reconstruí dois produtos SaaS. Ops 🤷🏽‍♂️

Há alguns meses, eu mostrei o Ragie, uma ferramenta de RAG como serviço, plug and play. Depois veio o Vectorize, que explodiu este ano. Ambos cobram mensalidade. Ambos são caixas-pretas. Você não consegue controlar como os dados são fragmentados (chunking). Você não consegue ver o que acontece por baixo do capô.

Então eu construí o meu próprio. E talvez eu tenha ido um pouco longe demais.

  • 🎥 Vídeo anexado mostrando exatamente como construí tudo isso ao longo de 4–5 dias de madrugadas (das 00h às 04h, virando a noite). Você vai me ver sofrer, depurar erros e descobrir as coisas em tempo real.
  • 👉 Clique à direita do vídeo original quando abrir este post.

🔗 Repositório GitHub: MegaRag


O que eu construí

Um sistema RAG multimodal que lida com qualquer tipo de arquivo. Arraste e solte MP4s, MP3s, PNGs, PDFs, arquivos DocX, arquivos de texto — tudo ao mesmo tempo. Ele processa, fragmenta (chunking), extrai entidades, mapeia relacionamentos, constrói grafos de conhecimento e permite consultar tudo através de cinco modos diferentes de busca.

Pense no Vectorize, mas sendo dono dele. Pense no Ragie, mas sem caixa-preta (e sem mensalidade).


Lista de funcionalidades

Suporte a arquivos

  • Vídeos MP4 (extração de texto quadro a quadro)
  • Áudio MP3 (transcrição e fragmentação)
  • PNG / imagens (Gemini Vision descreve e fragmenta)
  • PDFs, DocX e arquivos de texto (parsing inspirado no Dockling)

Cinco modos de consulta

  • Mix: visão completa — fragmentos + entidades + relacionamentos
  • Hybrid: busca por entidades combinada com busca por relacionamentos
  • Local: encontrar entidades específicas (pessoas, empresas, lugares)
  • Global: explorar conexões (como X está relacionado a Y)
  • Naive: busca clássica por similaridade semântica

Interface

  • Chat com histórico persistente e citações
  • Referências de fonte com ranking de relevância
  • Explorador de dados com visualização de fragmentos
  • Navegador de entidades em todos os documentos
  • Visualização de grafo de conhecimento (básica, mas funcional)
  • Painel administrativo com dashboard e estatísticas
  • Modo escuro (obviamente)

API

  • Endpoint para upload de documentos
  • Endpoint de consulta com os cinco modos
  • Endpoint de chat
  • Endpoint de listagem de documentos
  • Pronto para n8n, workflows do Claude Code ou seu próprio servidor MCP

O processo

Fase 0 – O movimento do gênio preguiçoso

Esse é o segredo. Clonei quatro repositórios open source no meu ambiente do Claude Code: Dockling, LightRAG, RAG Anything e Video RAG. Não usei nenhum diretamente. Queria que o Claude Code se inspirasse no que já funciona e combinasse as melhores ideias em algo novo.

Depois rodei /init e disse:

“Crie um claude.md com seu entendimento de todos esses repositórios.”

Assim, o Claude passou a ter um modelo mental completo de RAG multimodal antes mesmo de escrever uma única linha de código.

Fase 1 – Configuração do Supabase

Configurei o MCP do Supabase. É um dos poucos MCPs que ainda uso. Meu velho confiável. US$10/mês, faz tudo: edge functions, queries, tabelas, PGVector para embeddings. Todo o trabalho sujo.

Fase 2 – Linhas de processamento de arquivos

Cada tipo de arquivo tem sua própria linha de processamento:

  • Linha 1 (Texto): leitura do arquivo → fragmentação por tokens → armazenamento. Pronto.
  • Linha 2 (Documentos): PDF/DocX → parser Dockling → blocos de texto + tabelas → Gemini descreve as tabelas → fragmentação → embeddings.
  • Linha 3 (Imagens): Gemini Vision descreve a imagem → fragmentação da descrição → embeddings.
  • Linha 4 (Vídeo): upload para a Gemini File API → aguarda processamento → extração quadro a quadro → fragmentação.
  • Linha 5 (Áudio): Gemini File API → transcrição → fragmentação.

Fase 3 – Extração de entidades e grafos de

MegaRAG - SaaS WhiteLabel

chatgpt.com ↗

1

Recursos

↑ voltar ao topo · ver no Telegram ↗