Stufe 2: Antworttyp-Routing — Survey Map-Reduce + Rueckfrage-Regel (D13, M6)
- Planer liefert jetzt type: survey|specific. Survey-Fragen (Uebersicht ueber viele Dokumente) laufen ueber Map-Reduce: Retrieval auf survey_blocks=16 erweitert, ein Map-Call destilliert JE Block als Stichpunkte mit seiner KB-ID (MAP_SYSTEM_PROMPT), ein Reduce-Call synthetisiert die Endantwort. Grounding unveraendert: Zitier-Validierung strikt ueber die Retrieved-Union; leerer Map-Output -> Fallback auf Einzelantwort. - Systemprompt-Regel 9: haengt die Antwort wesentlich von nicht genanntem Kontext ab (Branche, Bundesland, Zeitraum), belegte allgemeine Aussage plus EINE Rueckfrage statt Verweigerung (API-first; Odoo-Chat kann die Rueckfrage als Follow-up nutzen). - Ergebnis: q-029 (WIKU-Survey, bisher hartnaeckigste Fehlverweigerung) geheilt - Teilantwort mit 5 belegten Heften; q-015 antwortet mit expliziter KV-Abhaengigkeit + Rueckfrage statt Branchen-Noise. - Eval (46 Fragen): Zitier-Praezision 97,8 %, Verweigerung 97,8 % (Gate erfuellt), erwartete Quelle 90,2 %, Latenz mean 34,2 s (Map-Reduce nur bei Survey-Fragen, ~95 s). Report lokal data/eval-qwen38-stage2.json. - Tests 57 -> 59 (Survey-Integration, Typ-Parsing).
This commit is contained in:
@@ -80,6 +80,8 @@ class Config:
|
||||
planner_model: str = "" # leer = Antwortmodell
|
||||
per_query_slots: int = 2 # Multi-Query: garantierte Kontext-Slots
|
||||
# je Sub-Query (Multi-Hop-Abdeckung)
|
||||
survey_blocks: int = 16 # Map-Reduce (Stufe 2): breiteres
|
||||
# Retrieval fuer Survey-Fragen
|
||||
temporal_boost: float = 0.0 # Bonus fuer kv-Eintraege im gefragten
|
||||
# Geltungsjahr (0 = nur FTS-Tag-Signal)
|
||||
|
||||
@@ -115,6 +117,7 @@ class Config:
|
||||
planner_num_predict=_env_int("PV_PLANNER_NUM_PREDICT", d.planner_num_predict),
|
||||
planner_model=_env_str("PV_PLANNER_MODEL", d.planner_model),
|
||||
per_query_slots=_env_int("PV_PER_QUERY_SLOTS", d.per_query_slots),
|
||||
survey_blocks=_env_int("PV_SURVEY_BLOCKS", d.survey_blocks),
|
||||
temporal_boost=_env_float("PV_TEMPORAL_BOOST", d.temporal_boost),
|
||||
port=_env_int("PV_PORT", d.port),
|
||||
)
|
||||
Reference in New Issue
Block a user