Retrieval-Kalibrierung nach Korpusverdopplung (D10) + Goldset-Erweiterung
- Hybrid-Fusion um dense_weight erweitert; kalibriert per Goldset-Sweep: dense_weight=2.0 (BM25 durch KV-S-Titel-Matches inflationiert), rrf_k=20, candidate_pool=150 -> Recall@8 0,851 -> 0,923 (>0,9), Hit-Rate 0,973, MRR 0,667. ENV: PV_DENSE_WEIGHT/PV_RRF_K/ PV_CANDIDATE_POOL. - CITE_RE um kv|ris erweitert (Post-Validierung deckt neue ID-Raeume). - Goldset: +6 KV/RIS-Fragen (q-101-106) + Branchen-Refusal r-005; q-021 auf lb-kar-04 rekalibriert (Top-1, deckt Beginn/Dauer voll - dokumentiert im Note). - Antwortmodus-Eval (qwen3.8:27b, 42 Fragen): Zitier-Praezision 95,2 %, Verweigerung 90,5 % - unter den M3-Gates, Tuning folgt (Report data/eval-qwen38-kvris.json, lokal). - Docs: agent/README.md Baseline, planung.md Umsetzungsstand, .agents/MEMORY.md (D9/D10, offene Punkte).
This commit is contained in:
+9
-2
@@ -55,11 +55,16 @@ class Config:
|
||||
|
||||
# Retrieval
|
||||
embed_off: bool = False # True = BM25-only (ohne Dense-Index/-Suche)
|
||||
candidate_pool: int = 50 # Kandidaten je Liste vor der Fusion
|
||||
candidate_pool: int = 150 # Kandidaten je Liste vor der Fusion
|
||||
# (KV/RIS-Erweiterung: Longtail-Spezialisten
|
||||
# liegen sonst außerhalb der Kandidatur)
|
||||
context_blocks: int = 8 # Kontext-Blöcke im Prompt
|
||||
cross_ref_expand: int = 3 # Top-Einträge, deren cross_refs ergänzt werden
|
||||
cross_ref_max_extra: int = 6 # Obergrenze der Ergänzungen
|
||||
rrf_k: int = 60
|
||||
rrf_k: int = 20 # RRF-Konstante (erweiterter Korpus: Top-Ränge
|
||||
# müssen dominanter zählen)
|
||||
dense_weight: float = 2.0 # RRF-Gewicht der Dense-Liste relativ zu BM25
|
||||
# (BM25 ist durch KV-§-Titel-Matches inflationiert)
|
||||
recency_boost: float = 0.005 # additiv auf RRF-Score, gewichtet nach Stand
|
||||
|
||||
# Service
|
||||
@@ -85,6 +90,8 @@ class Config:
|
||||
context_blocks=_env_int("PV_CONTEXT_BLOCKS", d.context_blocks),
|
||||
cross_ref_expand=_env_int("PV_CROSS_REF_EXPAND", d.cross_ref_expand),
|
||||
cross_ref_max_extra=_env_int("PV_CROSS_REF_MAX_EXTRA", d.cross_ref_max_extra),
|
||||
rrf_k=_env_int("PV_RRF_K", d.rrf_k),
|
||||
dense_weight=_env_float("PV_DENSE_WEIGHT", d.dense_weight),
|
||||
recency_boost=_env_float("PV_RECENCY_BOOST", d.recency_boost),
|
||||
port=_env_int("PV_PORT", d.port),
|
||||
)
|
||||
Reference in New Issue
Block a user