RAG Showcase - Detailed Architecture

Atlas stack + plugin seam + seven RAG endpoints + provider-neutral model routing

1. User and evaluation surface 2. Atlas backend + rag-showcase plugin seam 3. Retrieval stores, workflows, and model services 4. Atlas model layer - LiteLLM routes to the configured provider source 1.1 Open WebUI multi-model chat comparison one prompt fans out to seven columns 1.2 Comparison harness compare/run_matrix.py demo/*.yaml x all approaches 1.3 Judge panel compare/judge.py shuffled, provider-neutral model scoring Atlas LiteLLM default · optional direct OpenAI endpoint 1.4 Corpora MultiHop-RAG subset + keyword docs corpus/subset (hand-curated, gitignored) corpus/graph_native (committed) corpus/cyber_threat_intel (committed) 2.1 LiteLLM Gateway OpenAI-compatible /v1 serves 19 Atlas-owned aliases 2.2 FastAPI backend BACKEND_PLUGINS_DIR=/app/plugins mounts backend_plugins/rag 2.3 Seven OpenAI-compatible approach endpoints vanilla-ragdense top-k hybrid-ragBM25 + dense contextual-ragenriched chunks graph-ragLightRAG KG agentic-ragReAct tool loop n8n-adaptive-ragworkflow bridge lazy-graph-ragconcept expansion deployed inside the Atlas FastAPI backend container; invoked via LiteLLM model aliases 2.4 Atlas ingestion jobs profile -> parse -> Chonkie -> embed base + LightRAG; local contextual post-step 2.5 Consumer model contract atlas.consumer.yml -> generated YAML owned aliases compiled before LiteLLM starts 3.1 Weaviate profile-scoped base + contextual collections dense, hybrid BM25+dense retrieval 3.2 TEI cross-encoder rerank top candidates 3.3 n8n Atlas-seeded Adaptive-RAG owned; classify -> route 3.4 LightRAG + Neo4j entity/relation extraction, KG storage query mode=hybrid, graph + vector retrieval optional TEI adapter · profile-scoped · batched ≤32 3.5 Lazy graph cache profile/revision concept graph dedicated JSON cache volume · no LightRAG/Neo4j configured chat model - generation roles LightRAG EXTRACT/KEYWORD/QUERY role models nomic-embed-text - 768-dim embeddings chat completions default judge calls model calls via LiteLLM Legend frontend / user surface backend / approach code retrieval or graph store model layer / LiteLLM routing n8n workflow path

1. Request surface

  • Open WebUI and the comparison harness both call the same LiteLLM models.
  • Every approach returns a uniform answer, source, and metrics payload.
  • The judge panel reads stored outputs and defaults to Atlas LiteLLM.

2. Plugin boundary

  • Atlas owns the infrastructure; rag-showcase adds a mounted FastAPI plugin.
  • atlas.consumer.yml owns aliases, the n8n workflow, and dataset ingestion profiles.
  • roles.yaml selects plugin roles; Atlas scopes model capabilities and request defaults.

3. Local model strategy

  • LiteLLM routes calls to whichever Atlas provider source is active.
  • Generation choices live in roles.yaml; model request defaults live in the Atlas catalog.
  • LightRAG EXTRACT, KEYWORD, and QUERY use Atlas LIGHTRAG_* inputs.