Atlas stack + plugin seam + six RAG endpoints + provider-neutral model routing
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 is offline and reads stored matrix outputs.
2. Plugin boundary
Atlas owns the infrastructure; rag-showcase adds a mounted FastAPI plugin.
register_models.py makes each approach appear as a LiteLLM model.
roles.yaml and models.yaml keep model choice and request properties scoped.
3. Local model strategy
LiteLLM routes calls to whichever Atlas provider source is active.
Generation choices live in roles.yaml; model request properties live in models.yaml.
LightRAG EXTRACT, KEYWORD, and QUERY use Atlas LIGHTRAG_* inputs.
Approach endpoints are mounted in the Atlas FastAPI backend container from backend_plugins/rag, registered into LiteLLM as model aliases, and invoked by Open WebUI or compare/run_matrix.py through LiteLLM /v1/chat/completions.