← Voltar a RAG — Arquitetura de Ingestion e Retrieval

📊 Modelo Canónico

RAG — Arquitetura de Ingestion e Retrieval

Apresentação

2. Modelo Canónico

Todas as fontes passam por uma representação interna comum antes de ir para qualquer backend (vector DB, SQL, graph).


A. DocumentRecord

Para conteúdo textual (md, txt, pdf, yaml textualizado).

{
  "record_id": "doc_security_policy_v3",
  "logical_id": "security_policy",
  "version": 3,
  "content": "...",
  "format": "markdown",
  "title": "Security Policy",
  "source_path": "...",
  "checksum": "...",
  "valid_from": "...",
  "valid_to": null,
  "tags": ["policy", "security"]
}
CampoDescrição
record_idID único por versão
logical_idIdentificador estável do documento
versionNúmero de versão
contentConteúdo normalizado
formatmarkdown, text, pdf, etc.
valid_from / valid_toJanela de validade temporal

B. StructuredRecord

Para SQL, CSV e tabelas estruturadas.

{
  "record_id": "budget_finance_q1_v2",
  "entity_type": "budget",
  "logical_id": "budget_finance_q1",
  "version": 2,
  "fields": {
    "team_id": "team_finance",
    "quarter": "2026Q1",
    "allocated": 120000,
    "spent": 115000
  },
  "valid_from": "...",
  "valid_to": null
}
CampoDescrição
record_idID único por versão
entity_typeTipo de entidade (budget, incident, etc.)
logical_idBusiness key estável
fieldsCampos estruturados
valid_from / valid_toPara SCD Type 2

C. GraphRecord

Para nós e relações do grafo.

Nó:

{
  "record_id": "node_team_finance_v2",
  "record_type": "node",
  "logical_id": "team_finance",
  "version": 2,
  "labels": ["Team"],
  "properties": {
    "name": "Finance",
    "budget_owner": true
  },
  "valid_from": "...",
  "valid_to": null
}

Edge:

{
  "record_id": "edge_team_owns_service_001_v2",
  "record_type": "edge",
  "logical_id": "team_finance_owns_billing_api",
  "version": 2,
  "from_id": "team_finance",
  "to_id": "svc_billing_api",
  "relation": "TEAM_OWNS_SERVICE",
  "properties": {},
  "valid_from": "...",
  "valid_to": null
}
CampoDescrição
record_type"node" ou "edge"
from_id / to_idReferências para edges
relationTipo de relação
labelsLabels do nó (Neo4j-style)

Vantagens do Modelo Canónico

VantagemExplicação
ConsistênciaMesma semântica em todos os backends
Versioningvalid_from / valid_to em todo o lado
Change detectionDiff funciona sobre estrutura comum
ReprocessamentoSaber exatamente o que reprocessar
AuditoriaLinhagem e histórico uniforme

Zona de prática

Sem perguntas. Clica em Editar para adicionar.