This commit is contained in:
team 1
2026-05-06 10:05:56 +02:00
parent e18abf4135
commit 68bfbd7802
11 changed files with 388 additions and 8 deletions

View File

@@ -149,6 +149,24 @@ parameters:
generic_internal_error: '❌ Bei der Verarbeitung der Anfrage ist ein interner Fehler aufgetreten.'
debug_internal_error_prefix: '❌ Interner Fehler: '
final_answer_guard:
enabled: true
# Prevents runaway final answers caused by repeated LLM output. This is a
# runtime safety guard and does not change retrieval, ranking or product matching.
max_output_chars: 12000
truncation_message: |2-
Hinweis: Die Antwort wurde gekürzt, weil eine wiederholte oder zu lange Ausgabe erkannt wurde. Bitte starten Sie bei Bedarf eine präzisere Nachfrage.
repeated_line:
enabled: true
min_output_chars: 1200
min_line_chars: 16
max_line_repetitions: 3
trailing_window_lines: 220
ignore_patterns:
- '/^\s*(?:produkt(?:-|\s)?nummer|artikel(?:-|\s)?nummer|preis|verfügbar|verfuegbar|url|quellen?)\b/iu'
- '/^\s*(?:status|query|intent|datenbasis|shop(?:-|\s)?suche)\b/iu'
rag_evidence_guard:
cleanup_profile: rag_evidence
# Legacy/domain override list. Generic German stopwords are provided by

View File

@@ -172,6 +172,10 @@ parameters:
- suche
- such
- suchen
- schaue
- schau
- schauen
- nachschauen
- finde
- find
- finden

View File

@@ -15,3 +15,6 @@ parameters:
retriex.model.guardrail_max_vector_top_k: 200
retriex.llm.timeout_seconds: 300
# Hard upper bound for generated output tokens. Prevents runaway repeated answers
# before they can become very long streamed or blocking responses.
retriex.llm.num_predict: 2048

View File

@@ -215,6 +215,7 @@ parameters:
- '- If RAG knowledge and shop data are both available but do not explicitly support the same technical suitability, start with the uncertainty instead of selecting a product confidently.'
nur_shop_treffer_kein_belastbares_fachwissen:
- '- Start the answer by making the fallback clear: "Aus den Shopdaten ergeben sich folgende Treffer; technische Eignung bitte prüfen."'
- '- If the user directly asks for accessories, cables, electrodes, buffers, kits, sets, indicators, reagents, or consumables and matching shop hits are present, do not start with a missing main-device or missing measuring-device sentence; start directly with the accessory shop hits.'
- '- Do not present shop-only matches as verified technical suitability unless the shop text explicitly states that suitability.'
- '- Do not say that RAG knowledge confirms the result. Say that no belastbares RAG-Fachwissen was available for this selection.'
keine_belastbaren_daten:
@@ -279,6 +280,7 @@ parameters:
accessory_rules:
- '- If the user directly asks for accessories, cables, electrodes, buffers, kits, sets, indicators, reagents, or consumables, answer the accessory request first instead of reframing it as a request for a measuring device.'
- '- For direct accessory shop searches, do not introduce Testomat, measuring-device, or main-device caveats unless the user asks for a device or the provided sources explicitly require a device context.'
- '- For direct accessory shop searches with matching shop hits, never begin with a missing-device statement; begin with the accessory hits or a short shop-only fallback sentence.'
- '- If the shop product name itself explicitly contains the requested accessory type and parameter, such as pH/Redox, treat it as a commercial accessory match and list the exact shop fields. Do not demand separate proof that the accessory itself measures the parameter.'
- '- If the user asks for a matching accessory for a named main device, separate the answer into: main device and matching accessory.'
- '- The main device must come first only when a main device is explicitly requested or named.'