Files
RAGcore-Public/docs/01_ARCHITECTURE/SYSTEM_ARCHITECTURE.md
T

1.9 KiB

System Architecture

Stijl

V1 is een modulaire monoliet met twee procesrollen uit hetzelfde codebase/image:

  • ragcore-app: HTTP API, beheerinterface, retrieval- en answerorchestratie;
  • ragcore-worker: ingestion-, synchronisatie-, embedding- en onderhoudsjobs.

Externe stateful services zijn PostgreSQL en Qdrant. Ollama is optioneel en kan reeds centraal bestaan.

Clients / MCP / UI
        |
  Reverse proxy + OIDC
        |
    ragcore-app ---------------- Model provider
       |          |    \---- Qdrant (derived retrieval index)
       |
   PostgreSQL (control plane + jobs)
       |
   ragcore-worker ---- immutable blobs / parsed artifacts

Waarom geen microservices

  • Eén server en beperkte initiële belasting.
  • Eenvoudiger transacties, upgrades, debugging en restore.
  • Minder netwerk- en deploymentcontracten.
  • Modulaire grenzen maken latere extractie mogelijk wanneer metingen dat rechtvaardigen.

Requestpaden

API -> authorization -> query analysis -> dense/sparse retrieval -> hybrid RRF-fusion -> citations -> response

V1 voert geen reranker uit: de gefuseerde volgorde is de productieranking. Een toekomstige optionele reranker vereist een apart, gevalideerd provider- en evaluatiebesluit.

Answer

Search -> context assembly -> answerability -> provider policy -> grounded generation -> claim/citation validation -> response

Ingestion

source sync -> immutable acquisition -> security gate -> parse -> normalize -> chunk -> embed -> shadow index -> validate -> publish

Betrouwbaarheidsgrenzen

  • Internet, uploads en repositories zijn onbetrouwbare input.
  • Reverse proxy/OIDC valideert mensidentiteit; RAGCore autoriseert resources.
  • Service tokens identificeren applications maar geven alleen expliciete grants.
  • Qdrant is niet publiek en vertrouwt alleen RAGCore.
  • Modelproviders ontvangen uitsluitend policy-toegestane context.