This commit is contained in:
team 1
2026-05-02 19:17:59 +02:00
parent 72241c1d00
commit 0fc34f4bc0
8 changed files with 940 additions and 23 deletions

View File

@@ -8,6 +8,113 @@ parameters:
optimized_shop_query_prefix_pattern: '/^(?:keywords?|suchquery|search\s*query|query)\s*:\s*/iu'
optimized_shop_query_trim_characters: " \t\n\r\0\x0B\"'`"
input_normalization:
enabled: true
max_input_chars: 500
max_output_chars: 700
max_added_tokens: 2
max_length_ratio_percent: 150
heartbeat_message: 'Ich prüfe die Eingabe auf Tippfehler…'
output_prefix_pattern: '/^(?:normalisiert|korrigiert|corrected|normalized)\s*:\s*/iu'
skip_patterns:
- '/https?:\/\//iu'
- '/\bwww\./iu'
- '/```/u'
prompt:
intro: 'Normalize the following user input for RetrieX routing before intent detection.'
output_format_block: |-
Output format:
<normalized user input>
current_user_input_label: 'USER INPUT'
rules:
- '- Output only the normalized user input.'
- '- Correct only obvious typing mistakes, transposed letters, missing umlauts, spacing, and punctuation that clearly preserve the same meaning.'
- '- Do not add product names, model numbers, article numbers, measurement values, parameters, brands, or application areas that are not already present in the input.'
- '- Preserve product names, model numbers, article numbers, chemical symbols, units, pH, Redox, ORP, and measurement values exactly unless only letter casing is corrected.'
- '- Preserve the input language; do not translate German into English or English into German.'
- '- Preserve vague references such as "der indikator", "das gerät", "suche im shop", or "dazu" without resolving them from context.'
- '- If the input is already clear or you are uncertain, return the original input unchanged.'
- '- No introduction, no explanation, no quotation marks.'
fuzzy_routing:
enabled: true
min_token_length: 4
medium_token_length: 7
long_token_length: 11
max_distance_short: 1
max_distance_medium: 2
max_distance_long: 3
min_similarity_percent: 72
# Canonical routing terms only, not typo variants.
# The code fuzzy-matches user tokens against these terms when the LLM leaves
# an obvious routing typo unchanged.
terms:
- shop
- suche
- suchen
- such
- finde
- finden
- kostet
- kosten
- preis
- preise
- preiswert
- preiswerte
- günstig
- guenstig
- kaufen
- bestellen
- produkt
- produkte
- artikel
- sku
- online
- analysegerät
- analysegeraet
- messgerät
- messgeraet
- handmessgerät
- handmessgeraet
- pockettester
- analysator
- analyzer
- indikator
- indikatoren
- reagenz
- reagenzien
- verbrauchsmaterial
- zubehör
- zubehoer
- ersatzteil
- ersatzteile
- anschlusskabel
- kabel
- sensorkabel
- elektrode
- elektrodenkabel
- puffer
- kalibrierpuffer
- kalibrierlösung
- kalibrierloesung
- kalibrierung
- lösung
- loesung
- messen
- messung
- überwachen
- ueberwachen
- kontrollieren
- schwimmbad
- pool
- becken
- wasseranalyse
- geeignet
- passend
- empfehlung
- empfehlen
- empfiehl
follow_up_context:
strong_reference_patterns:
- '/\bder\s+wert\b/u'

View File

@@ -110,8 +110,6 @@ parameters:
- preise
- preisen
- kostet
- kpstet
- ksotet
- kosten
- ua
- also
@@ -144,8 +142,6 @@ parameters:
indicatoren: indikatoren
schwinnbad: schwimmbad
schwimbad: schwimmbad
kpstet: kostet
ksotet: kostet
search_token_canonical_map:
indikatoren: indikator

View File

@@ -14,8 +14,6 @@ parameters:
- sku
- kaufen
- kostet
- kpstet
- ksotet
- suche
- such
- finde
@@ -54,8 +52,6 @@ parameters:
- online
- kaufen
- kostet
- kpstet
- ksotet
- suche
- such
- finde
@@ -79,6 +75,7 @@ parameters:
- '/\bwelche(?:r|s|n|m)?\s+(?:testomat(?:en)?|pockettester|pocket\s+tester|analysegerät|analysegeraet|messgerät|messgeraet|analysator|analyzer)\b.*\b(?:kann|können|koennen|misst|messen|überwacht|ueberwacht|eignet|geeignet|passt|gut|empfehl)\b.*\b(?:messen|messung|überwach(?:en|ung)?|ueberwach(?:en|ung)?)\b/u'
- '/\b(?:testomat(?:en)?|pockettester|pocket\s+tester|analysegerät|analysegeraet|messgerät|messgeraet|analysator|analyzer)\b.*\b(?:für|fuer)\b.*\b(?:messung|messen|überwachung|ueberwachung)\b/u'
- '/\b(?:ich\s+)?(?:würde|wuerde|möchte|moechte|will|brauche|benötige|benoetige)\b.{0,80}\b(?:messen|messung|überwachen|ueberwachen|kontrollieren)\b/u'
- '/\b(?:ich\s+)?(?:suche|finde)\b.{0,120}\b(?:lösung|loesung|gerät|geraet|messgerät|messgeraet|handmessgerät|handmessgeraet|pockettester|analysegerät|analysegeraet|analysator|produkt|artikel)\b.{0,120}\b(?:messen|messung|überwachen|ueberwachen|kontrollieren|wasseranalyse|schwimmbad|pool|becken)\b/u'
- '/\b(?:messen|messung|überwachen|ueberwachen|kontrollieren)\b.{0,80}\b(?:schwimmbad|pool|becken|wasseranalyse)\b/u'
price_terms:
- euro
@@ -88,8 +85,10 @@ parameters:
- preis
- kosten
- kostet
- kpstet
- ksotet
- preiswert
- preiswerte
- günstig
- guenstig
color_terms:
- schwarz
- weiß
@@ -144,8 +143,6 @@ parameters:
- '/\bpreis\b/u'
- '/\bkosten\b/u'
- '/\bkostet\b/u'
- '/\bkpstet\b/u'
- '/\bksotet\b/u'
- '/\bkaufen\b/u'
- '/\bbestellen\b/u'
- '/\bprodukt\b/u'