VORTEXRAG: a 7-layer RAG framework that fights semantic drift & context poisoning — built on Weaviate

Hi Weaviate community :waving_hand:
I built VORTEXRAG, an open-source RAG framework that tackles two failure modes I kept hitting in production RAG: semantic drift (retrieved chunks slowly wander off-topic) and context poisoning (one bad chunk corrupts the whole answer).
Repo: GitHub - vignesh2027/VORTEXRAG: 7-layer RAG framework that eliminates semantic drift + context poisoning. Faithfulness 0.94 vs 0.71 Naive RAG. +13.6 EM on multi-hop QA. · GitHub

Why I built it

Standard “embed → top-k → stuff into prompt” pipelines break down on multi-hop and long-context queries. VORTEXRAG adds guardrails at every stage instead of just at retrieval.

The 7 layers

  1. Ingestion & chunking — structure-aware splitting
  2. Embedding — pluggable embedding models
  3. Vector storageWeaviate as the backing store
  4. Retrieval — hybrid (dense + keyword) search
  5. Re-ranking — relevance scoring to cut drift
  6. Context validation — poisoning detection before generation
  7. Generation — grounded answer synthesis with citations

How Weaviate fits in

I use Weaviate for [hybrid search / named vectors / multi-tenancy — pick what you actually use] because [your reason]. Schema and client setup are in the repo under [path].

Looking for feedback on

  • Whether the context-validation layer is worth the latency cost
  • Best Weaviate config for the re-ranking stage
    Would love thoughts from folks running Weaviate in production.
1 Like

@varnesh This is a massive contribution. The shift from “naive RAG” to guarded, multi-layer validation is exactly where enterprise pipelines have to go.

Regarding your question on Layer 6 (Context validation latency): I actually built a decoupled edge proxy (KU-Gateway) specifically to handle this layer deterministically.

Instead of using an LLM to validate the context (which adds massive latency and token cost), the proxy intercepts the Weaviate payload and runs a mathematical temporal decay function ($e^{-\\lambda t}$). It hard-gates “poisoned” or stale context based on a pure math threshold and drops it before the synthesis stage, generating a 5-step Ops trace.

Because it’s just math at the edge, the latency cost is practically zero compared to LLM-based validation, and it cuts token burn by ~50%.

Have you looked into deterministic/mathematical gating for Layer 6 instead of semantic validation? Massive respect for open-sourcing this framework.