← Voltar a RAG — Arquitetura de Ingestion e Retrieval
🔗 Ingestão → Retrieval
RAG — Arquitetura de Ingestion e RetrievalApresentação
7. Ligações com Retrieval
A arquitetura de ingestion deve alimentar diretamente retrieval.
Perguntas que o Retrieval Deve Poder Fazer
| Pergunta | Metadados 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:
| Metadado | Descrição |
|---|---|
freshness_ts | Timestamp de última atualização |
version | Versão do asset |
is_active | Se está na vista ativa |
source_priority | Para resolver conflitos entre fontes |
valid_from / valid_to | Janela 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.