WFGY/ProblemMap/GlobalFixMap/RAG_VectorDB/metric_mismatch.md
2025-09-05 11:43:21 +08:00

8.4 KiB
Raw Blame History

Metric Mismatch — Guardrails and Fix Pattern

🧭 Quick Return to Map

You are in a sub-page of RAG_VectorDB.
To reorient, go back here:

Think of this page as a desk within a ward.
If you need the full triage and all prescriptions, return to the Emergency Room lobby.

Use this page when nearest neighbors look similar in cosine space but your VectorDB runs L2 or dot, or the reverse.
This failure appears often in FAISS, Milvus, pgvector, Weaviate, Redis, Vespa, and similar stores.


Open these first


Core acceptance

  • ΔS(question, retrieved) ≤ 0.45
  • Coverage ≥ 0.70 for the target section
  • λ remains convergent across three paraphrases and two seeds
  • Store metric matches embedding training metric (cosine ↔ cosine, L2 ↔ L2, dot ↔ dot)

Typical breakpoints and the right fix


Store defaults reference

Store Default metric Notes
FAISS L2 (can set IP or cosine) Normalize vectors before cosine search
Milvus L2 / IP Cosine requires explicit normalization
pgvector L2 / cosine / IP Must choose at index creation
Weaviate cosine Dot/IP optional
Redis-Vector cosine Normalize mandatory
Vespa dot Needs scaling to emulate cosine

Fix in 60 seconds

  1. Log current metric
    Run a probe query (SELECT metric FROM index_metadata). Verify it matches embedding doc.

  2. Check normalization
    If metric=cosine but vectors are raw, ΔS will inflate. Normalize to unit length.

  3. Re-index with explicit metric
    Drop and rebuild index with the same metric as embedding training.

  4. Hybrid sanity check
    If using BM25+dense, reweight so ΔS ≤ 0.45 and coverage ≥ 0.70.


Copy-paste test query

-- Example: pgvector
SELECT id, embedding <=> query_embedding
FROM documents
ORDER BY embedding <=> query_embedding
LIMIT 5;

Ensure <=> operator matches the chosen metric (cosine, L2, or IP).


🔗 Quick-Start Downloads (60 sec)

Tool Link 3-Step Setup
WFGY 1.0 PDF Engine Paper 1 Download · 2 Upload to your LLM · 3 Ask “Answer using WFGY + <your question>”
TXT OS (plain-text OS) TXTOS.txt 1 Download · 2 Paste into any LLM chat · 3 Type “hello world” — OS boots instantly

🧭 Explore More

Module Description Link
WFGY Core WFGY 2.0 engine is live: full symbolic reasoning architecture and math stack View →
Problem Map 1.0 Initial 16-mode diagnostic and symbolic fix framework View →
Problem Map 2.0 RAG-focused failure tree, modular fixes, and pipelines View →
Semantic Clinic Index Expanded failure catalog: prompt injection, memory bugs, logic drift View →
Semantic Blueprint Layer-based symbolic reasoning & semantic modulations View →
Benchmark vs GPT-5 Stress test GPT-5 with full WFGY reasoning suite View →
🧙‍♂️ Starter Village 🏡 New here? Lost in symbols? Click here and let the wizard guide you through Start →

👑 Early Stargazers: See the Hall of Fame — Engineers, hackers, and open source builders who supported WFGY from day one.

GitHub stars WFGY Engine 2.0 is already unlocked. Star the repo to help others discover it and unlock more on the Unlock Board.

WFGY Main   TXT OS   Blah   Blot   Bloc   Blur   Blow