# Agent orchestration limits, user-visible status/source labels and Shopware query prompt wording. # Values mirror the current stable defaults; PHP fallbacks remain in AgentRunnerConfig. parameters: retriex.agent.config: commerce_history_budget_chars: 1000 product_search_knowledge_chunk_limit: 6 advisory_product_search_knowledge_chunk_limit: 9 optimized_shop_query_prefix_pattern: '/^(?:keywords?|suchquery|search\s*query|query)\s*:\s*/iu' messages: empty_prompt: '❌ Empty prompt.' analyze_request: 'Ich analysiere deine Anfrage...' check_internet_sources: 'Ich prüfe auf Internetquellen...' retrieve_knowledge: 'Ich hole relevante Daten aus meinem RAG-Wissen...' optimize_search: 'Ich optimiere die Recherche...' no_concrete_shop_query: 'Ich habe keine konkrete Shop-Suchanfrage erkannt. Bitte nenne das Produkt, Zubehör oder die Artikelnummer.' fetch_search_data_template: 'Ich rufe Recherchedaten ab (type: %s)' analyze_all_information: 'Ich analysiere alle Informationen...' thinking_while_streaming: 'Denke nach...' no_llm_data_received: '❌ Es wurden keine Daten vom LLM empfangen.' generic_internal_error: '❌ Bei der Verarbeitung der Anfrage ist ein interner Fehler aufgetreten.' debug_internal_error_prefix: '❌ Interner Fehler: ' source_labels: external_url: 'Externe URL' rag_knowledge: 'RAG Wissen' conversation_history: 'Chatverlauf' shop_system: 'Shopsystem' extended_shop_search: 'Erweiterte Shopsuche' used_sources_prefix: 'Genutzte Quellen: ' sources_prefix: 'Quellen: ' html: source_badge_template: '%s' error_template: |
Hinweis
%s
think_template: | %s info_template: "\n\n%s\n" debug_template: "\n\nDEBUG: %s\n" shop_prompt: intro: 'Generate a short search query for Shopware 6 from the following user input text.' output_format_block: |- Output format: Keyword1 Keyword2 Keyword3 recent_conversation_context_label: 'RECENT CONVERSATION CONTEXT' current_user_input_label: 'CURRENT USER INPUT' rules: - '- Output only the final search query.' - '- Always convert relevant search terms to their singular form.' - '- No introduction, no explanation, no quotation marks.' - '- Use only shop-relevant search terms from the user input for a shop search.' - '- Maximum 6 search terms, preferably fewer.' - '- Remove filler words, polite phrases, and irrelevant words.' - '- Preserve product names, brands, model numbers, and compound terms exactly if they are relevant.' - '- Preserve the language of the CURRENT USER INPUT for generic product/search terms; do not translate German search terms into English.' - '- For German user input, output German shop terms, for example "freies Chlor Messung" instead of "free chlorine measurement".' - '- Preserve domain terms from the current user input or resolved context in their original language.' - '- Numbers that belong to a product name or model must be preserved (e.g. Indikator 300, Testomat 808, Testomat 2000).' - '- Separate terms using spaces only.' - '- If a relevant product name is present, it must be placed at the beginning of the final search query.' - '- Try to always identify all products mentioned in the user input text, even in long prompts.' - '- Look for terms such as Testomat, Horiba, Tritromat, or words like indicator/Indikator.' - '- If the current user input is vague or referential, use the recent conversation context only as support.' - '- Do not output words that only describe conversation flow, such as "same", "again", "also", or "like above".' conversation_context_rules: - '- The current user input has highest priority.' - '- Use the recent conversation context only to resolve omitted references.' - '- Use it only for product carry-over, brand carry-over, model carry-over, or variant follow-ups.' - '- Do not revive older products unless the current user input clearly refers to them.' - '- If the current input starts a new topic, ignore older product context.' - '- Prefer the most recent product reference over older ones.' context_anchor_enrichment: enabled: true max_query_terms: 2 template: '{anchor} {query}' trigger_terms: - indikator - indikatortyp - indicator - reagenz - reagenzsatz - reagent - zubehör - zubehor - accessory anchor_patterns: - '/\b(?:indikator(?:typ)?|indicator(?:\s+type)?|reagenz(?:satz|typ)?|reagent(?:\s+set|\s+type)?|typ|type)\s+[A-Za-zÄÖÜäöüß]{0,8}\s*\d{1,5}(?:\s*[A-ZÄÖÜ]{1,4})?(?:\s*%)?\b/iu' meta_query_guard: enabled: true context_fallback_enabled: true context_fallback_question_limit: 12 context_fallback_history_budget_chars: 20000 context_fallback_use_full_history: true context_fallback_max_terms: 6 context_fallback_filter_terms: - mit - welche - welcher - welches - welchem - welchen - ist - sind - gut - geeignet - was - wie - wo - kann - koennen - können - konnte - könnte - ich - wir - man - nutzen - benutzen - verwenden - verwende - nehmen - zur - zum - für - fuer - messen - gemessen meta_only_terms: - shop - shopsuche - shop-suche - suche - suchen - such - finde - find - zeige - zeig - bitte - mal - im - in - nach - den - die - das - der - dem language_preservation: enabled: true language_markers: de: - ' ä ' - ' ö ' - ' ü ' - ' ß ' - ' der ' - ' die ' - ' das ' - ' ein ' - ' eine ' - ' einer ' - ' einen ' - ' welchem ' - ' welchen ' - ' welche ' - ' welcher ' - ' kann ' - ' nutzen ' - ' zur ' - ' für ' - ' fuer ' - ' messung ' - ' indikator ' - ' reagenz ' - ' chlor ' translation_replacements: de: free chlorine: 'freies chlor' free chlor: 'freies chlor' total chlorine: 'gesamtchlor' chlorine measurement: 'chlor messung' water hardness: 'wasserhärte' measurement: 'messung' measuring: 'messung' chlorine: 'chlor' indicator: 'indikator' indicators: 'indikatoren' reagent: 'reagenz' reagents: 'reagenzien' accessory: 'zubehör' accessories: 'zubehör'