- eval_retrieval.py: --judge MODEL lets an OpenAI model decide whether the
top-5 chunks answer each question, regardless of source and page; reports
Answer@5, answer-level MRR and agreement with the page check; verdicts are
cached in eval/judge_cache.json
- On the curated goldset, gpt-6-luna rates pypdf and Docling equal
(Answer@5 0.93 each, MRR 0.90 vs 0.92), so the chat stays on pypdf for now
- local_rag.py: chunks 2000/400, chunk headers off by default, OpenAI model
gpt-6-luna; server.py loads ./vectorstore_pypdf_2000
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>