WFGY/ProblemMap/GlobalFixMap/Eval/eval_rag_precision_recall.md
2025-08-29 20:09:02 +08:00

7.8 KiB
Raw Blame History

Eval RAG Precision & Recall — Guardrails and Fix Patterns

This page defines how to measure precision and recall in RAG pipelines under the WFGY framework. It sets acceptance thresholds, common pitfalls, and structural fixes to keep evaluations meaningful and reproducible.


Open these first


Acceptance targets

  • Precision ≥ 0.75 at citation level
  • Recall ≥ 0.70 of gold anchor snippets
  • ΔS(question, retrieved) ≤ 0.45 for majority of pairs
  • λ remains convergent across 3 paraphrases and 2 random seeds
  • Evaluations must be auditable & reproducible with JSON logs

Why precision/recall break in RAG

  1. Goldset drift Anchors no longer align with the corpus after updates. → Fix: refresh goldsets with goldset_curation.md.

  2. Retrieval contract missing Snippet payloads do not include section IDs or offsets. → Fix: enforce Data Contracts.

  3. Precision false positives Semantically near matches but wrong factual anchor. → Fix: rerank with Rerankers.

  4. Recall false negatives Correct snippet exists but chunking or index prevents surfacing. → Fix: re-chunk corpus with chunking-checklist.md.

  5. Evaluation noise Different seeds or paraphrases give unstable results. → Fix: clamp λ variance with variance_and_drift.md.


Quick workflow

  1. Load goldset Each gold QA item must cite snippet_id, section_id, source_url.

  2. Run retrieval Collect top-k results (k = 5, 10, 20).

  3. Log ΔS & λ For each query and paraphrase, record ΔS values and λ states.

  4. Compute metrics

    • Precision = correct citations / total citations
    • Recall = correct citations / gold references
  5. Regression gate Block deploy if precision < 0.75 or recall < 0.70.


Example JSON log

{
  "question": "What causes hallucination re-entry?",
  "gold": ["hallucination-reentry"],
  "retrieved": ["hallucination-reentry", "entropy-drift"],
  "precision": 0.50,
  "recall": 1.00,
  "ΔS": 0.38,
  "λ_state": "→"
}

Common pitfalls

  • Evaluating only precision → recall collapses unnoticed.
  • Counting fuzzy hits as correct → ΔS may be high, but factually wrong.
  • No paraphrases tested → λ instability hidden.
  • Relying on one seed → fragile numbers that dont generalize.

🔗 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