34 KiB
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/*.yamlist die zentrale Source of Truth für fachlich konfigurierbares Verhalten.config/packages/security.yamlist 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. |
query_cleanup_profile |
YAML-Cleanup-Profil für die generische Retrieval-Query-Bereinigung. |
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:
retrieval.yamlquery_enrichment.yamlvector.yamllanguage.yamlvocabulary.yaml
Für bessere Shop-Suche zuerst:
agent.yaml→shop_prompt.*,shop_runtime.*commerce.yaml→commerce_query.*,shop_matching.*search_repair.yamlgenre.yamlvocabulary.yaml
Für bessere Antwortqualität zuerst:
prompt.yaml→fact_grounding,measurement_evidence_guard,output_priority,numeric_value_focus,response_formatmodel.yamlagent.yaml→rag_evidence_guard,no_llm_fallbackchat-messages.yamlfür sichtbare Hinweise und Folgeaktionen
Für Rollen, Login und Adminzugriff zuerst:
config/packages/security.yamlsrc/Security/ApplicationRoles.php- Controller-Guards unter
src/Controller/Admin/ - 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.
300ohne300 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