first update to external config values

This commit is contained in:
team 1
2026-04-24 13:13:56 +02:00
parent 868f9a8857
commit 26ec0afc5c
11 changed files with 292 additions and 187 deletions

View File

@@ -1,55 +1,69 @@
imports:
- { resource: 'retriex/runtime.yaml' }
- { resource: 'retriex/index.yaml' }
- { resource: 'retriex/vector.yaml' }
- { resource: 'retriex/commerce.yaml' }
- { resource: 'retriex/model.yaml' }
- { resource: 'retriex/prompt.yaml' }
- { resource: 'retriex/agent.yaml' }
- { resource: 'retriex/retrieval.yaml' }
# ------------------------------------------------------------
# Parameters
# ------------------------------------------------------------
parameters:
mto.root: '%kernel.project_dir%'
mto.root: '%retriex.root%'
mto.kernel.dir: '%mto.root%'
mto.locks.dir: '%mto.knowledge.root%/locks'
mto.locks.dir: '%retriex.locks.dir%'
mto.knowledge.root: '%mto.root%/var/knowledge'
mto.knowledge.root: '%retriex.knowledge.root%'
mto.knowledge.ndjson: '%mto.knowledge.root%/index.ndjson'
mto.knowledge.index_meta: '%mto.knowledge.root%/index_meta.json'
mto.knowledge.vector_index: '%mto.knowledge.root%/vector.index'
mto.knowledge.vector_index_meta: '%mto.knowledge.root%/vector.index.meta.json'
mto.runtime.meta: '%mto.knowledge.root%/index_runtime.json'
mto.knowledge.upload: '%mto.knowledge.root%/uploads'
mto.knowledge.ndjson: '%retriex.knowledge.ndjson%'
mto.knowledge.index_meta: '%retriex.knowledge.index_meta%'
mto.knowledge.vector_index: '%retriex.knowledge.vector_index%'
mto.knowledge.vector_index_meta: '%retriex.knowledge.vector_index_meta%'
mto.runtime.meta: '%retriex.knowledge.runtime_meta%'
mto.knowledge.upload: '%retriex.knowledge.upload%'
mto.knowledge.tags_ndjson: '%mto.knowledge.root%/tags.ndjson'
mto.knowledge.vector_tags_index: '%mto.knowledge.root%/vector_tags.index'
mto.knowledge.vector_tags_index_meta: '%mto.knowledge.root%/vector_tags.index.meta.json'
mto.knowledge.tags_ndjson: '%retriex.knowledge.tags_ndjson%'
mto.knowledge.vector_tags_index: '%retriex.knowledge.vector_tags_index%'
mto.knowledge.vector_tags_index_meta: '%retriex.knowledge.vector_tags_index_meta%'
mto.vector.script_dir: '%mto.root%/python/vector'
mto.vector.script_dir: '%retriex.vector.script_dir%'
mto.vector.ingest_tags_script: '%mto.vector.script_dir%/vector_ingest_tags.py'
mto.vector.search_tags_script: '%mto.vector.script_dir%/vector_search_tags.py'
mto.vector.ingest_tags_script: '%retriex.vector.ingest_tags_script%'
mto.vector.search_tags_script: '%retriex.vector.search_tags_script%'
mto.tags.rebuild_lock: '%mto.locks.dir%/tag_rebuild.lock'
mto.tags.rebuild_lock: '%retriex.tags.rebuild_lock%'
mto.vector.data.upload.path: '%mto.knowledge.upload%'
mto.index.chunk_size: 250
mto.index.chunk_overlap: 50
mto.index.embedding_model: 'intfloat/multilingual-e5-base'
mto.index.embedding_dimension: 768
mto.index.scoring_version: 1
mto.index.chunk_size: '%retriex.index.chunk_size%'
mto.index.chunk_overlap: '%retriex.index.chunk_overlap%'
mto.index.embedding_model: '%retriex.index.embedding_model%'
mto.index.embedding_dimension: '%retriex.index.embedding_dimension%'
mto.index.scoring_version: '%retriex.index.scoring_version%'
mto.vector.python_bin: '%kernel.project_dir%/.venv/bin/python3'
mto.vector.ingest_script: '%mto.vector.script_dir%/vector_ingest.py'
mto.vector.search_script: '%mto.vector.script_dir%/vector_search.py'
mto.vector.timeout: 600
mto.vector.service_url: 'http://127.0.0.1:8090'
mto.vector.python_bin: '%retriex.vector.python_bin%'
mto.vector.control_script: '%retriex.vector.control_script%'
mto.vector.ingest_script: '%retriex.vector.ingest_script%'
mto.vector.search_script: '%retriex.vector.search_script%'
mto.vector.timeout: '%retriex.vector.timeout%'
mto.vector.service_url: '%retriex.vector.service_url%'
mto.vector.host: '%retriex.vector.host%'
mto.vector.port: '%retriex.vector.port%'
mto.commerce.enabled: true
mto.commerce.max_shop_results: '%env(SHOPWARE_STORE_API_MAX_RESULT)%'
mto.commerce.shop_timeout: 5
mto.commerce.store_api_base_url: '%env(SHOPWARE_STORE_API_BASE_URL)%'
mto.commerce.sales_channel_access_key: '%env(SHOPWARE_SALES_CHANNEL_ACCESS_KEY)%'
mto.commerce.enabled: '%retriex.commerce.enabled%'
mto.commerce.max_shop_results: '%retriex.commerce.max_shop_results%'
mto.commerce.shop_timeout: '%retriex.commerce.shop_timeout%'
mto.commerce.store_api_base_url: '%retriex.commerce.store_api_base_url%'
mto.commerce.sales_channel_access_key: '%retriex.commerce.sales_channel_access_key%'
mto.commerce.search_repair.enabled: '%retriex.commerce.search_repair.enabled%'
mto.commerce.search_repair.max_queries: '%retriex.commerce.search_repair.max_queries%'
mto.commerce.search_repair.min_primary_results_without_repair: '%retriex.commerce.search_repair.min_primary_results_without_repair%'
mto.commerce.search_repair.enabled: true
mto.commerce.search_repair.max_queries: 3
mto.commerce.search_repair.min_primary_results_without_repair: 2
# ------------------------------------------------------------
@@ -80,10 +94,35 @@ services:
# AI Agent Infrastructure
# ------------------------------------------------------------
# ------------------------------------------------------------
# RetrieX Config Facades
# ------------------------------------------------------------
App\Config\ModelGenerationDefaultsConfig:
arguments:
$modelName: '%retriex.model.default_name%'
$stream: '%retriex.model.default_stream%'
$temperature: '%retriex.model.default_temperature%'
$topK: '%retriex.model.default_top_k%'
$topP: '%retriex.model.default_top_p%'
$repeatPenalty: '%retriex.model.default_repeat_penalty%'
$numCtx: '%retriex.model.default_num_ctx%'
$retrievalMaxChunks: '%retriex.model.default_retrieval_max_chunks%'
$retrievalVectorTopK: '%retriex.model.default_retrieval_vector_top_k%'
App\Config\PromptBuilderConfig:
arguments:
$config: '%retriex.prompt.config%'
App\Config\AgentRunnerConfig:
arguments:
$config: '%retriex.agent.config%'
App\Infrastructure\OllamaClient:
arguments:
$apiUrl: '%env(AI_LLM_API_URL)%'
$timeoutSeconds: 600
$timeoutSeconds: '%retriex.llm.timeout_seconds%'
$configProvider: '@App\Service\ModelGenerationConfigProvider'
# ------------------------------------------------------------
@@ -120,6 +159,12 @@ services:
App\Commerce\CommerceQueryParser: ~
App\Config\SearchRepairConfig:
arguments:
$enabled: '%retriex.commerce.search_repair.enabled%'
$maxRepairQueries: '%retriex.commerce.search_repair.max_queries%'
$minPrimaryResultsWithoutRepair: '%retriex.commerce.search_repair.min_primary_results_without_repair%'
App\Commerce\SearchRepairService: ~
App\Shopware\ShopwareCriteriaBuilder: ~
@@ -167,6 +212,9 @@ services:
arguments:
$serviceUrl: '%mto.vector.service_url%'
$agentLogger: '@monolog.logger.agent'
$minScore: '%retriex.vector.search.min_score%'
$maxLimit: '%retriex.vector.search.max_limit%'
$timeoutSeconds: '%retriex.vector.search.http_timeout%'
App\Vector\VectorIndexBuilder:
arguments:
@@ -215,8 +263,20 @@ services:
arguments:
$serviceUrl: '%mto.vector.service_url%'
$agentLogger: '@monolog.logger.agent'
$minScore: '%retriex.vector.tags.min_score%'
$defaultLimit: '%retriex.vector.tags.default_limit%'
$maxLimit: '%retriex.vector.tags.max_limit%'
$timeoutSeconds: '%retriex.vector.tags.http_timeout%'
App\Tag\TagRoutingService: ~
App\Tag\TagRoutingService:
arguments:
$defaultTopK: '%retriex.vector.tag_routing.default_topk%'
$minBestScore: '%retriex.vector.tag_routing.min_best_score%'
$maxScoreDropFromBest: '%retriex.vector.tag_routing.max_score_drop_from_best%'
$maxRoutingTags: '%retriex.vector.tag_routing.max_routing_tags%'
$maxCandidateDocs: '%retriex.vector.tag_routing.max_candidate_docs%'
$multiTagBonusPerExtraTag: '%retriex.vector.tag_routing.multi_tag_bonus_per_extra_tag%'
$maxMultiTagBonus: '%retriex.vector.tag_routing.max_multi_tag_bonus%'
App\Tag\TagVectorIndexHealthService:
arguments:
@@ -237,6 +297,23 @@ services:
arguments:
$lockFilePath: '%mto.tags.rebuild_lock%'
App\Command\VectorControlCommand:
arguments:
$vectorPythonBin: '%mto.vector.python_bin%'
$vectorControlScript: '%mto.vector.control_script%'
$defaultHost: '%mto.vector.host%'
$defaultPort: '%mto.vector.port%'
$timeoutSeconds: '%mto.vector.timeout%'
App\Command\SystemRebuildCommand:
arguments:
$projectDir: '%mto.root%'
$vectorPythonBin: '%mto.vector.python_bin%'
$vectorControlScript: '%mto.vector.control_script%'
$vectorHost: '%mto.vector.host%'
$vectorPort: '%mto.vector.port%'
$vectorTimeoutSeconds: '%mto.vector.timeout%'
# ------------------------------------------------------------
# Admin Utilities
# ------------------------------------------------------------
@@ -250,4 +327,4 @@ services:
arguments:
$indexNdjsonPath: '%mto.knowledge.ndjson%'
$vectorIndexPath: '%mto.knowledge.vector_index%'
$vectorMetaPath: '%mto.knowledge.vector_index_meta%'
$vectorMetaPath: '%mto.knowledge.vector_index_meta%'