# SplatRAG 3+ Visualizer: SciFact 0.8804 / 0.7624 with 5,000 slang rows in the same memory

> Source: <https://discuss.huggingface.co/t/splatrag-3-visualizer-scifact-0-8804-0-7624-with-5-000-slang-rows-in-the-same-memory/179039#post_1>
> Published: 2026-08-21 03:57:20+00:00

splatRAG 3 teaser — SciFact, poisoned store

Local Gaussian-splat memory. Append-only cold log. BM25 + 64-d HNSW. The 3-d field is PCA of those 64-d vectors — the picture, not the index.

SciFact (BEIR test, 300 claims, k=10) on a store that also holds 5,000 Urban Dictionary rows, dreamed together:

┌───────────────┬────────┬─────────┐

│ │ R@10 │ nDCG@10 │

├───────────────┼────────┼─────────┤

│ Floors we set │ 0.88 │ 0.75 │

├───────────────┼────────┼─────────┤

│ This run │ 0.8804 │ 0.7624 │

└───────────────┴────────┴─────────┘

Handshake: splatrag handshake --k 10 --no-ingest. Eval filters domain=scifact so slang cannot rank as a false positive. The science documents still sat in the same field as the junk.

The old public SplatRagBench hybrid 0.7822 nDCG@10 is the first 50 claims (Nomic). Honest full-300 on that binary was 0.6664.

What moved v3 over the floors: RRF (BM25×1.3, k=10) on the top 30, then a third RRF arm from the query’s full 4096-d Qwen3-Embedding-8B cosine. 64-d was already in hybrid; the leftover 4032 dimensions were sitting unused. Pure cosine rerank of that pool died (0.7174). SciFact is still lexical first.

Basins pack in 64-d (k-NN, cosine 0.80). 3-d union-find had mashed 4,035 papers into one unlabeled well.

Below is example of AI’s memory. On below you see one big color cause basins still need to settle.
