← Voltar a RAG — Arquitetura de Ingestion e Retrieval

🔗 Ingestão → Retrieval

RAG — Arquitetura de Ingestion e Retrieval

Apresentação

7. Ligações com Retrieval

A arquitetura de ingestion deve alimentar diretamente retrieval.


Perguntas que o Retrieval Deve Poder Fazer

PerguntaMetadados necessários
Qual a versão ativa do documento?current_version, active_version
Que assets estão atualizados?last_ingested_at, status
Esta resposta deve usar latest only?valid_to = null, is_active
Há conflito entre versões?version, valid_from
Que fonte tem prioridade?source_priority

Metadados para Freshness-Aware Retrieval

Adicionar aos chunks / records indexados:

MetadadoDescrição
freshness_tsTimestamp de última atualização
versionVersão do asset
is_activeSe está na vista ativa
source_priorityPara resolver conflitos entre fontes
valid_from / valid_toJanela temporal

Fluxo Ingestion → Retrieval

Ingestion
    |
    +-- DocumentPipeline → chunks com metadata
    |
    +-- SQLPipeline → views/materializations com freshness
    |
    +-- GraphPipeline → projections ativas
    |
    v
Registry (versions, lineage, dependencies)
    |
    v
Retrieval
    |
    +-- Vector store: filtros por version, is_active
    +-- SQL tool: queries com valid_to IS NULL
    +-- Graph tool: apenas relações ativas
    |
    v
Resposta com citações versionadas

Exemplo de Query Freshness-Aware

-- Só linhas ativas (SCD Type 2)
SELECT * FROM budgets
WHERE valid_to IS NULL;

-- Ou com timestamp
SELECT * FROM budgets
WHERE valid_from <= :query_ts
  AND (valid_to IS NULL OR valid_to > :query_ts);

Router e Backend Selection

O router de retrieval pode usar o registry para:

  • Saber que documentos estão atualizados
  • Escolher entre SQL e document consoante freshness
  • Evitar misturar versões antigas com novas na mesma resposta

Zona de prática

Sem perguntas. Clica em Editar para adicionar.