Files
MtoRagSystem/CONFIG_PARAMS.md
2026-05-11 19:05:52 +02:00

34 KiB
Raw Blame History

CONFIG_PARAMS.md

RetrieX v1.6.0 Konfigurationsparameter und Tuning-Leitfaden

Diese Datei beschreibt die wichtigsten Konfigurationsflächen des aktuellen Systems. Fachliche Listen, Promptregeln, Intent-Signale, Sprachbereinigung, Shopquery-Logik und UI-Texte sollen weiterhin bevorzugt in YAML gepflegt werden, nicht als neue Domain-Sonderlogik im PHP-Core.

Grundregel

  • config/retriex/*.yaml ist die zentrale Source of Truth für fachlich konfigurierbares Verhalten.
  • config/packages/security.yaml ist die zentrale Source of Truth für Firewalls, Rollen und Access-Control.
  • PHP-Code soll Konfiguration lesen, validieren und ausführen, aber keine neuen fachlichen Tokenlisten oder Business-Regeln verstecken.

1. YAML-Dateien im Überblick

Datei Zweck
config/retriex/agent.yaml AgentRunner-Orchestrierung, Follow-up-Kontext, Shopruntime, Guards, No-LLM-Fallback, UI-Produktionsdaten
config/retriex/chat-messages.yaml User-sichtbare Chat-, SSE-, Frontend-, Agent-, Status-, Follow-up- und Fehlermeldungen
config/retriex/commerce.yaml Shopware-Anbindung, Commerce-Query-Parsing, Reference Resolver, Shop-Matching und Produkt-Ranking
config/retriex/genre.yaml Genre-native Source of Truth für fachliche Adaption, Product Roles, Query Runtime, Context Resolution, Search Repair
config/retriex/governance.yaml Regression-Baselines, Source-of-Truth-Guards, Pflichtprofile, Core-Pattern-Audit
config/retriex/index.yaml Chunking-, Embedding-, Indexformat- und Vector-Backend-Metadaten
config/retriex/intent.yaml Commerce-, Katalog-, Light-, Sales- und technische Intent-Erkennung
config/retriex/language.yaml Stopwords, Protected Terms, Normalisierung, Cleanup-Profile und Sprachrauschen
config/retriex/model.yaml Default-Modellparameter, Kontextfenster, Retrieval-Limits und LLM-Timeouts
config/retriex/prompt.yaml Promptbudget, Promptsektionen, Shop-Ergebnisformat, Fact-Grounding, Output-Regeln
config/retriex/query_enrichment.yaml Query-Erweiterungen und Synonymregeln für Retrieval
config/retriex/retrieval.yaml Retrieval-Schwellen, RRF, Dokumentbegrenzung, exakte Auswahlpfade, Inventar
config/retriex/runtime.yaml Pfade, Knowledge-Dateien, Locks und Gesprächskontext-Limits
config/retriex/search_repair.yaml Repair-Queries, exakte Zubehörcodes, direkte Attributsuchen, Repair-Ranking
config/retriex/vector.yaml Python-/Vector-Service-Pfade, Host/Port, HTTP-Timeouts, Tag-Routing-Limits
config/retriex/vocabulary.yaml Zentrales Vocabulary für Geräte, Zubehör, Agent, Prompt, Search Repair, Retrieval und Shop

2. config/retriex/agent.yaml

Parameter / Bereich Bewirkt
commerce_history_budget_chars Begrenzt, wie viel Chatverlauf für Commerce-/Shop-Kontext genutzt wird.
product_search_knowledge_chunk_limit Begrenzt RAG-Chunks bei normalen Produkt-/Shopfragen.
advisory_product_search_knowledge_chunk_limit Begrenzt RAG-Chunks bei beratenden Produktauswahlfragen.
optimized_shop_query_prefix_pattern Entfernt LLM-Präfixe wie query: aus optimierten Shopqueries.
optimized_shop_query_trim_characters Trimmt unerwünschte Randzeichen optimierter Shopqueries.
input_normalization.* LLM-basierte Vor-Normalisierung, Länge, Skip-Patterns, Prompt und Fuzzy-Routing.
follow_up_context.strong_reference_patterns Erkennt referenzielle Folgefragen wie „mit welchem Indikator“, „dieser Wert“.
follow_up_context.explicit_commercial_signal_terms Erkennt Preis-, Shop-, Kauf- und Artikelnummer-Folgefragen.
follow_up_context.commercial_table_follow_up.* Erkennt Folgefragen nach Preis-/Shop-Tabellen und baut Kontextqueries.
follow_up_context.history_*_pattern Extrahiert relevante Vorfragen aus dem Chatverlauf.
follow_up_context.reference_anchor.* Extrahiert technische Anker wie Testomat-Modell, Messwert oder Produktbezug.
final_answer_guard.* Begrenzt wiederholte oder zu lange finale Antworten.
shop_runtime.query_cleanup.current_input_preservation.* Erhält wichtige Tokens aus der aktuellen Nutzereingabe in der Shopquery.
shop_runtime.query_cleanup.stopword_cleanup.* Entfernt Sprach-, Bedien- und Relationsrauschen aus Shopqueries.
shop_runtime.query_cleanup.positive_token_filter.* Erlaubt positives Filtern auf produktnahe Tokens, Code-Patterns und Varianten-Tokens.
shop_runtime.attribute_cleanup.* Bereinigt direkte Attribut-/Zubehörsuchen, z. B. Kabel-/Puffer-/Sensorfragen.
shop_runtime.context_resolution.history_anchor_enrichment.* Reichert kurze referenzielle Shopqueries mit Verlaufankern an.
shop_runtime.context_resolution.meta_query_guard.* Verhindert Meta-Queries wie „suche im Shop“ ohne konkreten Produktanker.
shop_runtime.context_resolution.rag_anchor_enrichment.* Ergänzt Shopqueries aus RAG-Ankern, z. B. bei exakten Messwerten.
shop_runtime.result_identity.* Prüft primäre Produktidentität und verhindert zu breite Direct-Product-Ergebnisse.
shop_runtime.answer_constraints.* Steuert direkte Antwortfilter, z. B. nach Längenangaben.
rag_evidence_guard.* Prüft, ob RAG-Treffer und Antwort ausreichende fachliche Evidenz liefern.
no_llm_fallback.* Fallback-Verhalten, wenn kein LLM verfügbar ist oder keine sichere Synthese möglich ist.
production_ui.shop_results.max_cards Anzahl sichtbarer Shopkarten.
shop_prompt.* LLM-Regeln zur Erzeugung kurzer Shopware-Suchqueries.

3. config/retriex/chat-messages.yaml

Parameter / Bereich Bewirkt
sse.empty_prompt Meldung bei leerem Prompt.
sse.job_* Meldungen für Job-Anlage, fehlende Jobs, stale Jobs und Jobfehler.
sse.claim.* Meldungen für abgelaufene, gesperrte, laufende oder abgeschlossene Stream-Jobs.
sse.storage.* Fehlermeldungen für Stream-Job-Dateispeicher.
frontend.document.title Browser-/Dokumenttitel.
frontend.ui.* Header, Footer, Buttons, Optionen und Eingabeplatzhalter im Chat.
frontend.assistant.* Loader-, Abbruch- und History-Meldungen im Frontend.
frontend.source_chips.* Labels für sichtbare Quellenchips.
frontend.run_meta.* Status-/Meta-Texte für abgeschlossene oder unterbrochene Antworten.
frontend.stream.* Frontend-Meldungen bei Streamunterbrechung oder Retry-Fällen.
frontend.guards.* Frontend-Guards gegen unkonkrete Shopantworten.
agent.messages.* Statusmeldungen während Analyse, Retrieval, Shop-Suche und Antwortgenerierung.
agent.final_answer_guard.* Nutzerhinweise bei gekürzten Antworten.
agent.no_llm_fallback.messages.* Vorgefertigte No-LLM-/No-Data-/Shop-Unavailable-Antworten.
agent.production_ui.stage_labels.* Statusphasen wie „Shop wird durchsucht“ oder „Antwort wird generiert“.
agent.production_ui.confidence_labels.* Beleglage-/Confidence-Labels im UI.
agent.production_ui.text.* UI-Texte für Statuskarten, Shop-Meta, Shop-Ergebnisse und Hinweise.
agent.production_ui.templates.* Templates für Trefferzahlen, Relevanz und History-Hinweise.
agent.production_ui.follow_up_actions.* Folgeaktionen wie „Im Shop suchen“, „Preis anzeigen“, „Nur Zubehör anzeigen“.
agent.source_labels.* Labels für RAG, Chatverlauf, Shop, externe URL und erweiterte Shopsuche.
agent.html.* HTML-Templates für Badges, Fehler, Think- und Info-Ausgaben.

Wichtig für v1.6.0: Follow-up-Actions können über Felder wie material_query_template, hide_when_material_query_matches_current, hide_when_answer_matches_any, target_role oder requires_answer_anchor kontextsensitiv versteckt werden.


4. config/retriex/commerce.yaml

Parameter / Bereich Bewirkt
retriex.commerce.enabled Schaltet Shop-/Commerce-Anbindung grundsätzlich ein/aus.
retriex.commerce.max_shop_results Maximale Shopware-Trefferzahl.
retriex.commerce.shop_timeout Timeout für Shopware-Anfragen.
store_api_base_url Store-API-Basis-URL.
sales_channel_access_key Store-API-Zugriffsschlüssel.
retriex.commerce.search_repair.* Globale Steuerung, wann Repair-Suchqueries nachgeschoben werden.
retriex.commerce_query.config.cleanup_profile Sprachbereinigung für Commerce-Queries.
known_brands Markenbegriffe, die beim Query Parsing erhalten bleiben.
phrases_to_remove Entfernt Bedienphrasen aus Shopqueries.
filter_search_tokens Entfernt irrelevante Tokens aus Shopqueries.
search_control_tokens Tokens zur Steuerung von Suchabsicht, nicht als Produktinhalt.
search_token_corrections Korrigiert bekannte Tippfehler, z. B. Pool-/Schwimmbad-Kontext.
search_token_canonical_map Vereinheitlicht Varianten, Plural/Singular oder Sprachvarianten.
vocabulary_views.semantic_shop_search_tokens Bindet semantische Shop-Suchbegriffe aus vocabulary.yaml an.
normalization.* Regex-Normalisierung für Commerce-Query-Text.
limits.* Tokenlängen, Kontextfenster und maximale Shop-Suchtoken.
patterns.* Regex-Logik für Preise, Modelle, Zubehör, History-Kontext, Messwerte.
commerce_reference_resolver.conversation_product_patterns Findet Produkte/Modelle im Chatverlauf.
commerce_reference_resolver.focus_term_patterns Erkennt Fokusbegriffe wie Indikator, Reagenz, Zubehör, Filter.
shop_matching.vocabulary_views.* Bindet Geräte-/Zubehörrollen aus vocabulary.yaml an Shop-Matching.
shop_matching.role_guard.* Steuert Geräte-/Zubehörfilterung bei Device- und Accessory-Queries.
shop_matching.scores.* Gewichtung für Produktnummer, Name, Hersteller, Token-Overlap, Verfügbarkeit und Rollenbonus/-Penalty.
shop_matching.patterns.* Normalisierung und Tokenisierung für Shop-Matching.
shop_matching.price.* Preisformatierung und Preisnormalisierung.
shop_matching.custom_fields.* Mapped Shopware-Custom-Fields auf Produktmetadaten.
shop_matching.description.* Beschreibungscleanup und Längenlimit.
shop_matching.highlight.* Highlighttexte für Verfügbarkeit und Produktnummer.
shop_matching.deduplication.separator Key-Separator für Shop-Deduplizierung.

5. config/retriex/genre.yaml

Parameter / Bereich Bewirkt
id, label, mode, description Beschreiben das aktive Fachgenre bzw. die Domänenadaption.
adaptation_surface.* Dokumentiert und strukturiert die fachlichen Anpassungsflächen.
configuration_values.product_roles.* Geräte-/Zubehörrollen und Rollenvokabular.
configuration_values.product_attributes.* Produktattribute, Messparameter und relevante fachliche Terme.
configuration_values.brands_and_canonical_terms.* Marken, Kanonisierung und produktnahe Standardterme.
configuration_values.intent_and_routing.* Intent-/Routing-nahe Genrewerte.
configuration_values.context_resolution.* History-, Referenz- und Produktlistenanker.
configuration_values.shop_query_runtime.* Query-Preservation, Stopword-Cleanup, Positive Filter, Generic Device Anchors.
configuration_values.result_identity_and_answer_policy.* Produktidentität und Antwortpolicy.
configuration_values.search_repair.* Repair-Begriffe, Zubehörcode-Terme und direkte Produktsuchen.
configuration_values.retrieval_and_language.* Retrieval- und Language-Anbindung.
configuration_values.shop_data_mapping.* Shopdaten-Mapping.
configuration_values.governance_and_regression.* Regression- und Governance-Anker.

Wichtig: genre.yaml ist in v1.6.0 eine zentrale Entlastung des PHP-Cores. Domainnahe Logik wie Produktfamilienstarts, Geräteanker oder erhaltenswerte Tokens soll hier bzw. über angebundene Vocabulary-Views gepflegt werden.


6. config/retriex/governance.yaml

Parameter / Bereich Bewirkt
regression_baseline.* Definiert geschützte Regressionstokens und Pflichtmarker für stabile Flows.
vocabulary.protected_short_model_tokens Schützt kurze Modell-/Fachtokens vor falscher Cleanup-Entfernung.
genre_source_of_truth.* Steuert Genre-Source-of-Truth, Legacy-Hash-Guards und Runtime-Resolved-Paths.
language.protected_stopword_terms Begriffe, die trotz Stopword-Logik nicht entfernt werden dürfen.
language.required_cleanup_profiles Pflichtprofile, die in language.yaml existieren müssen.
language.required_profile_term_defaults Default-Pflichtbegriffe je Profil.
language.required_profile_terms Effektive Pflichtbegriffe für Regression Guardrails.
core_pattern_audit.* Audit auf verdächtige hardcodierte Listen/Patterns im PHP-Core.

7. config/retriex/index.yaml

Parameter Bewirkt
chunk_size Standardgröße für Wissenschunks beim Indexing.
chunk_overlap Überlappung zwischen Chunks.
embedding_model Fallback-/Metadatenmodell für Embeddings.
embedding_dimension Erwartete Embedding-Dimension.
scoring_version Versionierung des Scoring-/Indexformats.
index_format Indexformat, aktuell NDJSON.
vector_backend Vector-Backend, aktuell FAISS.

8. config/retriex/intent.yaml

Parameter / Bereich Bewirkt
intent.commerce.strong_signals Starke Shop-/Produktabsicht.
non_product_commerce_signals Kommerzsignale, die nicht automatisch Produktsuche bedeuten.
advisory_signals Beratungssignale wie Empfehlung oder Eignung.
advisory_product_selection_patterns Muster für Produktauswahlfragen.
price_terms, color_terms, size_* Preis-, Farb- und Größenintents.
support_diagnostic_patterns Trennt Support-/Diagnosefragen von Shopfragen.
explicit_commerce_intent_patterns Explizite Commerce-Absichten.
technical_factual_knowledge.* Erkennt technische Wissensfragen, die nicht als reine Shopfrage laufen sollen.
patterns.* Regex für SKU, Preis, Größe, Farbe und Modellprodukte.
labels.* Interne Intent-Signallabels.
scores.* Gewichtung der Intent-Signale.
intent.catalog.* Schwellenwerte für Katalog-/Listenintents.
intent.light.* Leichte Listen-/Mengenfrage-Erkennung.
intent.sales.* Sales-, Vergleichs-, Einwand-, Implementierungs- und ROI-Fragen.

9. config/retriex/language.yaml

Parameter / Bereich Bewirkt
words Legacy-/Basis-Stopwords.
protected_terms Begriffe, die nie generisch entfernt werden sollen.
normalization.ascii_transliteration Umlaut-/ASCII-Normalisierung.
normalization.word_separator_chars Worttrenner-Normalisierung.
normalization.dash_equivalents Unicode-Dash-/Bindestrich-Normalisierung.
stopword_groups.de_core Allgemeine deutsche Stopwords.
stopword_groups.conversation Dialog-/Bedienwörter.
stopword_groups.pronouns Pronomen für Referenz-/Cleanup-Logik.
stopword_groups.user_instruction_terms Bedienphrasen-Tokens wie „zeige“ oder „suche“.
stopword_groups.response_style Präsentations-/Antwortstilwörter.
stopword_groups.question_terms Fragewörter für Cleanup.
stopword_groups.usage_terms generische Nutzungs-/Anwendungswörter.
stopword_groups.shop_relation_noise Shopquery-Rauschen wie Relations-/Mess-/Satzwörter.
stopword_groups.reference_fillers Füllwörter bei Folgefragen.
phrase_groups.user_instruction Ganze Bedienphrasen, die aus Queries entfernt werden können.
stopword_group_sets.* Wiederverwendbare Gruppen-Sets.
phrase_group_sets.* Wiederverwendbare Phrasen-Sets.
meta_term_groups.* Präsentations- und Retrieval-Referenzwörter.
cleanup_profiles.commerce_query Cleanup-Profil für Shop-/Commerce-Queries.
cleanup_profiles.rag_evidence Cleanup-Profil für RAG-Evidence-Prüfung.
cleanup_profiles.retrieval_reference_cleanup Cleanup-Profil für Retrieval-Referenzauflösung.
cleanup_profiles.shop_context_fallback Cleanup-Profil für Shop-Follow-up-Kontextfallback.

10. config/retriex/model.yaml

Parameter Bewirkt
default_name Standard-LLM-Modellname.
default_stream Standard-Streamingverhalten.
default_temperature Kreativität/Varianz der Modellantwort.
default_top_k Sampling-Top-K.
default_top_p Sampling-Top-P.
default_repeat_penalty Wiederholungsstrafe.
default_num_ctx Standard-Kontextfenster.
default_retrieval_max_chunks Standardanzahl RAG-Chunks.
default_retrieval_vector_top_k Standardanzahl Vector-Kandidaten.
guardrail_min_num_ctx Untergrenze für Kontextfenster.
guardrail_max_retrieval_chunks Obergrenze für Chunk-Anzahl.
guardrail_max_vector_top_k Obergrenze für Vector-Kandidaten.
retriex.llm.timeout_seconds Timeout für LLM-Aufrufe.
retriex.llm.num_predict Vorhersage-/Output-Limit für LLM-Aufrufe.

11. config/retriex/prompt.yaml

Parameter / Bereich Bewirkt
budget.* Promptbudget, Outputreserve und Sicherheitsreserve.
shop_results.* Wie Shopprodukte in den LLM-Prompt geschrieben werden.
shop_results.fields.* Feldlabels für Produktnummer, Preis, Hersteller, Rollenkompatibilität usw.
vocabulary_views.* Bindet technische Produkt-, Geräte- und Zubehörbegriffe aus vocabulary.yaml.
sections.* Überschriften der Promptsektionen.
conversation_context.intro_lines Regeln für Chatverlauf im Prompt.
shop_search.source_line Quellenzeile für Shop-Suchquery.
role_guard.* Gerät/Zubehör-Rollenprüfung im Prompt.
measurement_evidence_guard.* Schutz gegen falsche Eignungsaussagen bei Messparametern.
measurement_evidence_guard.rule_templates.* Konkrete Regeltexte für Evidence-Prüfung.
output_priority.* Prioritätsregeln für Antwortaufbau.
numeric_value_focus.* Fokussiert numerische Werte wie Grenzwerte.
fallback_escalation.* Regeln je Confidence-/Evidence-State.
parameter_parsing.* Trennt mehrere Parameter wie „pH und Redox“.
response_format.* Antwortformat-Regeln mit/ohne Shopdaten.
language.rules Sprachregeln für die Modellantwort.
fact_grounding.* Fact-Grounding-Regeln gegen Halluzinationen.
retrieved_knowledge.source_line Quellenzeile für Dokumentwissen.
url_content.source_line Quellenzeile für URL-Inhalte.
technical_product_model_pattern Regex zur Erkennung technischer Produktmodelle.

12. config/retriex/query_enrichment.yaml

Parameter Bewirkt
max_expansions Maximale Anzahl Query-Erweiterungen.
rules.* Synonym-/Erweiterungsregeln für Retrieval, z. B. Wasserhärte → Resthärte.

13. config/retriex/retrieval.yaml

Parameter / Bereich Bewirkt
hard_max_chunks Harte Obergrenze zurückgegebener Chunks.
hard_max_vectork Harte Obergrenze Vector-Kandidaten.
hard_max_keywordk Harte Obergrenze Keyword-Kandidaten.
vector_score_threshold Mindestscore für Vector-Treffer.
threshold_floor, threshold_ceil Dynamischer Score-Korridor.
list_bonus Bonus für Listen-/Tabellenrelevanz.
rrf_k Konstante für Reciprocal Rank Fusion.
keyword_topk_multiplier Multiplikator für Keyword-Kandidaten.
keyword_score_threshold Mindestscore für Keyword-Treffer.
keyword_rrf_weight Gewichtung von Keyword-Treffern in der Fusion.
scoped_vector_rrf_weight Gewichtung gescopter Vektortreffer.
scoped_keyword_rrf_weight Gewichtung gescopter Keywordtreffer.
empty_rrf_fallback_topn Fallback-Anzahl, wenn Fusion leer bleibt.
max_chunks_per_doc Maximalchunks pro Dokument.
min_chunk_distance Mindestabstand zwischen ausgewählten Chunks.
dominant_doc_* Bevorzugung dominanter Dokumente bei klarer Trefferlage.
exact_document_max_chunks Maximalchunks bei exaktem Dokumentfokus.
focused_product_* Fokussierte Produktauswahl im Retrieval.
catalog_list_shortcut_patterns Direkte Katalog-/Listenrouten.
exact_selection_* Präzisionslogik für Tabellen, Indikatoren, Grenzwerte und Messbereiche.
exact_detail_tokens Detailfrage-Tokens für gezielte Retrievalauswahl.
generic_exact_selection_cleanup_profile Cleanup-Profil für generische exakte Auswahl.
generic_exact_selection_tokens Tokens für generische exakte Auswahlfragen.
vocabulary_views.* Bindet zentrale Retrieval-Vocabulary-Views an.
retriex.retrieval.inventory Inventar-/Katalogdaten für Retrieval-Logik.

14. config/retriex/runtime.yaml

Parameter / Bereich Bewirkt
retriex.root Projektwurzel.
retriex.knowledge.root Knowledge-Verzeichnis.
retriex.knowledge.ndjson Pfad zu index.ndjson.
retriex.knowledge.index_meta Pfad zu index_meta.json.
retriex.knowledge.vector_index Pfad zu vector.index.
retriex.knowledge.vector_index_meta Pfad zu vector.index.meta.json.
retriex.knowledge.runtime_meta Pfad zu index_runtime.json.
retriex.knowledge.upload Upload-Verzeichnis.
retriex.knowledge.tags_ndjson Pfad zu tags.ndjson.
retriex.knowledge.vector_tags_index Pfad zu vector_tags.index.
retriex.knowledge.vector_tags_index_meta Pfad zu vector_tags.index.meta.json.
retriex.locks.dir Lock-Verzeichnis.
retriex.tags.rebuild_lock Lock für Tag-Rebuild.
retriex.context.config.max_visible_regular_lines Reguläre sichtbare History-Lines, aktuell 25.
retriex.context.config.max_full_lines Full-Context-History-Lines, aktuell 500.

15. config/retriex/search_repair.yaml

Parameter / Bereich Bewirkt
strict_requested_accessory_code_repair Erzwingt präzisere Repair-Logik bei angefragtem Zubehörcode.
prefer_prompt_anchored_model_for_requested_accessory_code Bevorzugt Modellanker aus Prompt/Verlauf bei Zubehörcode-Repair.
direct_product_attribute_lookup.* Direkte Attributsuchen wie „Anschlusskabel pH/Redox länger 20m“.
requested_accessory_code_fallback_query_templates Fallback-Query-Templates für Zubehörcodes.
requested_accessory_code_proximity_window Zeichenfenster für Nähe zwischen Modell und Zubehörcode.
specific_model_candidate_patterns Modellkandidaten-Erkennung.
limits.top_product_log_limit Logging-/Debug-Begrenzung für Topprodukte.
sanitize_trim_character_codes Zeichen, die aus Repair-Queries getrimmt werden.
product_key_separator Separator für Produktkeys.
scores.* Gewichtung der Repair-Rankinglogik.
patterns.* Regex-Erkennung für Modelle, Zubehörcodes, Zubehör-/Bundle-Begriffe.

16. config/retriex/vector.yaml

Parameter / Bereich Bewirkt
script_dir Verzeichnis der Python-Vector-Skripte.
python_bin Python-Binary.
control_script Script zur Service-Steuerung.
ingest_script Script für Hauptindex-Ingest.
search_script Script für Hauptindex-Suche.
ingest_tags_script Script für Tag-Index-Ingest.
search_tags_script Script für Tag-Suche.
host, port, service_url Vector-Service-Adresse.
timeout Prozess-/Service-Timeout.
search.min_score Mindestscore für Vector-Suche.
search.max_limit Maximales Suchlimit.
search.http_timeout HTTP-Timeout für Vector-Suche.
tags.* Score-, Limit- und Timeoutwerte für Tag-Suche.
tag_routing.* Top-K, Mindestscore, Score-Drop, Candidate-Docs und Multi-Tag-Bonus.

17. config/retriex/vocabulary.yaml

Parameter / Bereich Bewirkt
classes.device Zentrale Gerätebegriffe.
classes.accessory Zentrale Zubehörbegriffe.
classes.requested_accessory_code_terms Begriffe für angefragte Zubehör-/Indikatorcodes.
classes.shop_meta_terms Meta-Terme für Shop-Follow-ups.
classes.direct_product_attribute_stop_terms Stop-Terme für direkte Attributsuchen.
classes.input_normalization_fuzzy_routing_terms Fuzzy-Routing-Terme für Eingabenormalisierung.
classes.agent_* Agent-nahe Vokabulare für Follow-ups, Fallbacks und Query Preservation.
views.shop.* Shop-Views für Geräte-, Zubehör-, Fokus- und Produktrollen.
views.retrieval.* Retrieval-Views für Produkt-, Modell-, Reagenz-, Dokument- und Geräteterme.
views.search_repair.* Search-Repair-Views für direkte Produktsuchen und Zubehörcodes.
views.prompt.* Prompt-Views für technische Produkt- und Zubehörbegriffe.
views.agent.* Agent-Views für Runtime-, Follow-up- und Fallbacklogik.
maps.prompt.* Mapping für Prompt-Evidence-Regeln.
maps.agent.* Mapping für Agent-Evidence- und Query-Logik.
maps.shop.* Mapping für Shop-Fokusvarianten und Rollen.

18. config/packages/security.yaml

Diese Datei liegt nicht unter config/retriex, ist aber für v1.6.0 zentral.

Bereich Bewirkt
providers.app_user_provider Gemeinsamer User-Provider über App\Entity\User.
firewalls.admin Admin-Firewall für ^/admin, inklusive Login, Logout, Remember-Me, User-Checker und Access-Denied-Handler.
firewalls.chat Chat-Firewall für /, /chat, /ask-jobs, /ask-sse, /history, /chat-messages/frontend.
firewalls.main Öffentliche/statische Restfläche.
role_hierarchy Rollenvererbung für Super Admin, Knowledge Admin, Editor, Admin Area und Chat User.
access_control Konkrete serverseitige Route-zu-Rolle-Matrix.
access_denied_handler Einheitliche 403-Seite für falsche Bereichs-/Rollenwechsel.
user_checker Sperrt deaktivierte Benutzer beim Login.

Wichtig: ROLE_USER ist nur technische Basisrolle. Sie darf nicht als Bereichsberechtigung für Chat oder Admin verwendet werden.


19. Wichtigste Stellschrauben für Antwortqualität

Datei Bereich Wirkung
prompt.yaml fact_grounding.* Verhindert unbelegte Behauptungen.
prompt.yaml measurement_evidence_guard.* Schützt Messparameter-/Eignungsaussagen.
prompt.yaml output_priority.* Priorisiert Antwortaufbau.
prompt.yaml numeric_value_focus.* Hält Grenzwerte und exakte Zahlen im Fokus.
model.yaml default_num_ctx, num_predict Kontext- und Antwortbudget.
retrieval.yaml hard_max_chunks, threshold_*, focused_product_* Menge und Qualität des RAG-Kontexts.
language.yaml cleanup_profiles.* Qualität der Query- und Evidence-Bereinigung.
vocabulary.yaml views.prompt.*, views.retrieval.* Fachbegriffe und sichere Matching-Begriffe.

20. Wichtigste Stellschrauben für RAG-Suchergebnisse

Datei Bereich Wirkung
retrieval.yaml vector_score_threshold, threshold_floor, threshold_ceil Relevanzschwelle für Treffer.
retrieval.yaml rrf_k, keyword_rrf_weight, scoped_*_weight Fusion von Keyword-, globaler und gescopter Suche.
retrieval.yaml max_chunks_per_doc, min_chunk_distance Diversität und Redundanz der Chunks.
retrieval.yaml exact_selection_* Präzision bei Tabellen-/Indikator-/Grenzwertfragen.
query_enrichment.yaml rules.* Synonyme und Query-Erweiterungen.
vector.yaml search.min_score, tag_routing.* Vector- und Tagrouting-Schwellen.
index.yaml chunk_size, chunk_overlap Granularität des Index.
language.yaml cleanup_profiles.retrieval_reference_cleanup Referenzbereinigung bei Folgefragen.

21. Shop-Suche und Shop-Ranking

Datei Bereich Wirkung
agent.yaml shop_prompt.* Erzeugt kurze Shop-Suchqueries.
agent.yaml shop_runtime.query_cleanup.* Entfernt Noise und erhält wichtige aktuelle Tokens.
agent.yaml shop_runtime.context_resolution.* Löst referenzielle Shop-Folgefragen über Verlauf/RAG.
agent.yaml shop_runtime.result_identity.* Filtert auf primäre Produktidentität.
commerce.yaml search_token_corrections Tippfehlerkorrekturen für Shopqueries.
commerce.yaml search_token_canonical_map Token-Kanonisierung.
commerce.yaml shop_matching.scores.* Ranking für Shopprodukte.
commerce.yaml shop_matching.role_guard.* Hauptgerät-/Zubehör-Abgrenzung.
search_repair.yaml requested_accessory_code_* Exakte Indikator-/Reagenz-/Zubehörcode-Reparatur.
genre.yaml shop_query_runtime.* Domänenspezifische Shopquery-Preservation und Generic Device Anchors.
vocabulary.yaml views.shop.*, views.search_repair.* Geräte-/Zubehör-/Repair-Vokabular.

22. Intent- und Routing-Optimierung

Datei Bereich Wirkung
intent.yaml intent.commerce.* Commerce-Erkennung.
intent.yaml intent.catalog.* Katalog-/Listenrouten.
intent.yaml intent.light.* leichte Listen-/Mengenfrage-Erkennung.
intent.yaml intent.sales.* Sales-, ROI-, Vergleichs- und Einwandfragen.
agent.yaml input_normalization.* Tippfehler- und Routing-Normalisierung.
agent.yaml follow_up_context.* Folgefrage-Erkennung und Kontextmaterialisierung.
genre.yaml intent_and_routing.* Genre-nahe Routingkonfiguration.

23. Sprachbereinigung und Vocabulary

Datei Bereich Wirkung
language.yaml protected_terms Schützt kritische Kurztokens wie Modell-/Mess-/Code-Terme.
language.yaml stopword_groups.shop_relation_noise Entfernt Relationstokens wie Mess-/Satzrauschen aus Shopqueries.
language.yaml cleanup_profiles.commerce_query Hauptprofil für Shopquery-Cleanup.
language.yaml cleanup_profiles.rag_evidence Hauptprofil für Evidence-Cleanup.
vocabulary.yaml classes.* Wiederverwendbare Fachwortklassen.
vocabulary.yaml views.* Kontextbezogene Views auf Fachwortklassen.
vocabulary.yaml maps.* Mapping-Tabellen für Varianten, Synonyme und Fokusbegriffe.
genre.yaml configuration_values.*.vocabulary_views Bindet Genre-Konfiguration an zentrale Vocabulary-Views.

24. UI-, Chat- und Follow-up-Tuning

Datei Bereich Wirkung
chat-messages.yaml frontend.ui.* Texte für Chatoberfläche.
chat-messages.yaml frontend.stream.* Retry-/Stream-Hinweise.
chat-messages.yaml agent.production_ui.stage_labels.* Statuskarten-Phasen.
chat-messages.yaml agent.production_ui.confidence_labels.* Beleglage-Labels.
chat-messages.yaml agent.production_ui.follow_up_actions.* Folgeaktions-Chips und Sichtbarkeitsregeln.
agent.yaml production_ui.shop_results.max_cards Maximal sichtbare Shopkarten.
templates/chat/index.html.twig Struktur Icons und Text-Spans für Chatbuttons.
public/assets/js/base.js Verhalten Frontend-Streaming, UI-Karten und Message-Mapping.

25. Security-, Rollen- und Admin-Tuning

Datei Bereich Wirkung
config/packages/security.yaml role_hierarchy Rollenvererbung.
config/packages/security.yaml access_control Serverzugriff je Route.
src/Security/ApplicationRoles.php assignableChoices() Rollen, die UI/Console zuweisen dürfen.
src/Security/ActiveUserChecker.php Loginprüfung Blockiert deaktivierte Benutzer.
src/Security/ActiveUserSessionSubscriber.php Sessionprüfung Meldet deaktivierte eingeloggte Benutzer ab.
src/Security/AccessDeniedHandler.php 403 Handling Rendert Bereichs-/Rollenfehler.
templates/admin/base.html.twig Navigation Blendet Adminbereiche rollengerecht aus.
templates/admin/user/* Userverwaltung Benutzerliste, Anlage, Bearbeitung.

26. Sekundär relevant, aber nicht primär zum fachlichen Tuning

Datei Bereich Einschätzung
governance.yaml regression_baseline.* Schutz gegen Regressionen; nur bewusst ändern.
governance.yaml core_pattern_audit.* Developer-/Audit-Regeln, keine direkte Suchqualität.
runtime.yaml Pfade zu Knowledge/Index/Locks Infrastruktur, nicht fachliche Qualität.
vector.yaml Host, Port, Script-Pfade, Timeouts Betrieb/Performance, nicht fachliche Qualität.
commerce.yaml API-URL, Access-Key, Timeout Verfügbarkeit/Performance der Shopdaten.
chat-messages.yaml reine UI-Texte UX-relevant, fachlich nur indirekt.

27. Empfohlene Tuning-Reihenfolge

Für bessere RAG-Suchergebnisse zuerst:

  1. retrieval.yaml
  2. query_enrichment.yaml
  3. vector.yaml
  4. language.yaml
  5. vocabulary.yaml

Für bessere Shop-Suche zuerst:

  1. agent.yamlshop_prompt.*, shop_runtime.*
  2. commerce.yamlcommerce_query.*, shop_matching.*
  3. search_repair.yaml
  4. genre.yaml
  5. vocabulary.yaml

Für bessere Antwortqualität zuerst:

  1. prompt.yamlfact_grounding, measurement_evidence_guard, output_priority, numeric_value_focus, response_format
  2. model.yaml
  3. agent.yamlrag_evidence_guard, no_llm_fallback
  4. chat-messages.yaml für sichtbare Hinweise und Folgeaktionen

Für Rollen, Login und Adminzugriff zuerst:

  1. config/packages/security.yaml
  2. src/Security/ApplicationRoles.php
  3. Controller-Guards unter src/Controller/Admin/
  4. Admin-Templates unter templates/admin/

28. Pflichtchecks nach Konfigurationsänderungen

php bin/console cache:clear
php bin/console lint:yaml config/packages/security.yaml config/retriex
php bin/console lint:twig templates
php bin/console mto:agent:config:validate
php bin/console mto:agent:regression:test
php bin/console mto:agent:config:audit-source --details
php bin/console mto:agent:config:audit-patterns --details

Bei Änderungen an Shopquery-, Follow-up- oder Vocabulary-Regeln zusätzlich manuell prüfen:

  • exakte Indikator-/Zubehörcodes, z. B. 300 ohne 300 S
  • Mehrprodukt-Follow-ups mit Einzelqueries
  • Preis-Folgeaktionen nach mehreren sichtbaren Produkten
  • schwache referenzielle Shopfragen mit History-Anker
  • direkte Produktnamen wie chlor select sensor
  • Modellkürzel wie testomat lab cl
  • Tippfehlerkorrektur mit erhaltenem Anwendungskontext