first update to external config values

This commit is contained in:
team 1
2026-04-24 13:17:53 +02:00
parent 26ec0afc5c
commit 00d5dc5ef6
14 changed files with 897 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
# Agent orchestration limits and user-visible source/progress labels.
# Values mirror the current 1.4.2 defaults.
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'

View File

@@ -0,0 +1,12 @@
# Commerce / Shopware Store API configuration.
# The existing Commerce and Shopware services stay unchanged; these values only centralize wiring.
parameters:
retriex.commerce.enabled: true
retriex.commerce.max_shop_results: '%env(SHOPWARE_STORE_API_MAX_RESULT)%'
retriex.commerce.shop_timeout: 5
retriex.commerce.store_api_base_url: '%env(SHOPWARE_STORE_API_BASE_URL)%'
retriex.commerce.sales_channel_access_key: '%env(SHOPWARE_SALES_CHANNEL_ACCESS_KEY)%'
retriex.commerce.search_repair.enabled: true
retriex.commerce.search_repair.max_queries: 3
retriex.commerce.search_repair.min_primary_results_without_repair: 2

10
config/retriex/index.yaml Normal file
View File

@@ -0,0 +1,10 @@
# Fallback ingest/index configuration.
# DB based IngestProfile remains authoritative when an active profile exists.
parameters:
retriex.index.chunk_size: 250
retriex.index.chunk_overlap: 50
retriex.index.embedding_model: 'intfloat/multilingual-e5-base'
retriex.index.embedding_dimension: 768
retriex.index.scoring_version: 1
retriex.index.index_format: 'ndjson'
retriex.index.vector_backend: 'faiss'

17
config/retriex/model.yaml Normal file
View File

@@ -0,0 +1,17 @@
# Default model generation values used only when no DB value/user input overrides them.
parameters:
retriex.model.default_name: 'mto-model'
retriex.model.default_stream: false
retriex.model.default_temperature: 0.1
retriex.model.default_top_k: 20
retriex.model.default_top_p: 0.8
retriex.model.default_repeat_penalty: 1.05
retriex.model.default_num_ctx: 4096
retriex.model.default_retrieval_max_chunks: 25
retriex.model.default_retrieval_vector_top_k: 25
retriex.model.guardrail_min_num_ctx: 512
retriex.model.guardrail_max_retrieval_chunks: 200
retriex.model.guardrail_max_vector_top_k: 200
retriex.llm.timeout_seconds: 600

View File

@@ -0,0 +1,18 @@
# Prompt budget and prompt rendering limits.
# Existing prompt wording/rules remain in PromptBuilderConfig for this minimal-invasive round.
parameters:
retriex.prompt.config:
budget:
chars_per_token: 4
history_padding_chars: 400
output_reserve_ratio: 0.25
output_reserve_min_tokens: 768
output_reserve_max_tokens: 6000
safety_reserve_ratio: 0.05
safety_reserve_min_tokens: 256
safety_reserve_max_tokens: 1024
min_prompt_budget_tokens: 1024
shop_results:
max_results_in_prompt: 24
detailed_max_count: 5
technical_product_keyword_match_threshold: 2

View File

@@ -0,0 +1,28 @@
# Current 1.4.2 retrieval constants documented as configuration inventory.
# In this round these values are exposed by config dump/validation; the retriever logic remains unchanged.
parameters:
retriex.retrieval.inventory:
hard_max_chunks: 6
hard_max_vectork: 18
hard_max_keywordk: 36
vector_score_threshold: 0.83
threshold_floor: 0.75
threshold_ceil: 0.90
list_bonus: 1.35
rrf_k: 50
keyword_topk_multiplier: 2.0
keyword_score_threshold: 0.35
keyword_rrf_weight: 1.15
scoped_vector_rrf_weight: 1.20
scoped_keyword_rrf_weight: 1.30
empty_rrf_fallback_topn: 1
max_chunks_per_doc: 2
min_chunk_distance: 2
dominant_doc_window: 6
dominant_doc_min_hits: 3
dominant_doc_max_chunks: 4
exact_document_max_chunks: 6
focused_product_window: 8
focused_product_min_score: 10.0
focused_product_min_gap: 4.0
focused_product_max_chunks: 4

View File

@@ -0,0 +1,19 @@
# RetrieX runtime paths.
# Keep these values customer/project specific and keep service wiring generic.
parameters:
retriex.root: '%kernel.project_dir%'
retriex.knowledge.root: '%retriex.root%/var/knowledge'
retriex.knowledge.ndjson: '%retriex.knowledge.root%/index.ndjson'
retriex.knowledge.index_meta: '%retriex.knowledge.root%/index_meta.json'
retriex.knowledge.vector_index: '%retriex.knowledge.root%/vector.index'
retriex.knowledge.vector_index_meta: '%retriex.knowledge.root%/vector.index.meta.json'
retriex.knowledge.runtime_meta: '%retriex.knowledge.root%/index_runtime.json'
retriex.knowledge.upload: '%retriex.knowledge.root%/uploads'
retriex.knowledge.tags_ndjson: '%retriex.knowledge.root%/tags.ndjson'
retriex.knowledge.vector_tags_index: '%retriex.knowledge.root%/vector_tags.index'
retriex.knowledge.vector_tags_index_meta: '%retriex.knowledge.root%/vector_tags.index.meta.json'
retriex.locks.dir: '%retriex.knowledge.root%/locks'
retriex.tags.rebuild_lock: '%retriex.locks.dir%/tag_rebuild.lock'

View File

@@ -0,0 +1,31 @@
# Vector runtime configuration shared by Symfony and vector control commands.
parameters:
retriex.vector.script_dir: '%retriex.root%/python/vector'
retriex.vector.python_bin: '%retriex.root%/.venv/bin/python3'
retriex.vector.control_script: '%retriex.vector.script_dir%/vector_control.py'
retriex.vector.ingest_script: '%retriex.vector.script_dir%/vector_ingest.py'
retriex.vector.search_script: '%retriex.vector.script_dir%/vector_search.py'
retriex.vector.ingest_tags_script: '%retriex.vector.script_dir%/vector_ingest_tags.py'
retriex.vector.search_tags_script: '%retriex.vector.script_dir%/vector_search_tags.py'
retriex.vector.host: '0.0.0.0'
retriex.vector.port: 8090
retriex.vector.service_url: 'http://127.0.0.1:%retriex.vector.port%'
retriex.vector.timeout: 600
retriex.vector.search.min_score: 0.30
retriex.vector.search.max_limit: 200
retriex.vector.search.http_timeout: 10
retriex.vector.tags.min_score: 0.72
retriex.vector.tags.default_limit: 8
retriex.vector.tags.max_limit: 50
retriex.vector.tags.http_timeout: 10
retriex.vector.tag_routing.default_topk: 8
retriex.vector.tag_routing.min_best_score: 0.72
retriex.vector.tag_routing.max_score_drop_from_best: 0.08
retriex.vector.tag_routing.max_routing_tags: 5
retriex.vector.tag_routing.max_candidate_docs: 80
retriex.vector.tag_routing.multi_tag_bonus_per_extra_tag: 0.05
retriex.vector.tag_routing.max_multi_tag_bonus: 0.15