From 12a5ab0bb38e52b6a0d1bf2e2f794491a69fbdaa Mon Sep 17 00:00:00 2001 From: team 1 Date: Wed, 18 Feb 2026 11:41:58 +0100 Subject: [PATCH] fix unused config for model --- .env | 1 - config/services.yaml | 1 - .../Admin/ModelGenerationConfigController.php | 2 +- src/Infrastructure/OllamaClient.php | 25 +++++++++---------- .../ModelGenerationConfigRepository.php | 4 +-- src/Service/ModelGenerationConfigManager.php | 2 -- src/Service/ModelGenerationConfigProvider.php | 6 ++--- 7 files changed, 17 insertions(+), 24 deletions(-) diff --git a/.env b/.env index 64203d8..4484b38 100644 --- a/.env +++ b/.env @@ -21,7 +21,6 @@ APP_SECRET=09333662211af45850ff13d68a40f8e3 ###> AI Agent Core ### AI_LLM_API_URL=http://192.168.178.143:11434/api/generate -AI_LLM_MODEL=mto-model AI_LLM_TIMEOUT=600 AI_HISTORY_DIR=var/agent-history diff --git a/config/services.yaml b/config/services.yaml index 3275c52..d4eefba 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -77,7 +77,6 @@ services: App\Infrastructure\OllamaClient: arguments: $apiUrl: '%env(AI_LLM_API_URL)%' - $model: '%env(AI_LLM_MODEL)%' $timeoutSeconds: 600 $configProvider: '@App\Service\ModelGenerationConfigProvider' diff --git a/src/Controller/Admin/ModelGenerationConfigController.php b/src/Controller/Admin/ModelGenerationConfigController.php index e17c5ff..c161867 100644 --- a/src/Controller/Admin/ModelGenerationConfigController.php +++ b/src/Controller/Admin/ModelGenerationConfigController.php @@ -21,7 +21,7 @@ class ModelGenerationConfigController extends AbstractController { $this->denyAccessUnlessGranted('ROLE_KNOWLEDGE_ADMIN'); - $configs = $repository->findBy([], ['modelName' => 'ASC', 'version' => 'DESC']); + $configs = $repository->findBy([], ['active' => 'DESC', 'modelName' => 'ASC', 'version' => 'DESC']); return $this->render('admin/model_config/list.html.twig', [ 'configs' => $configs, diff --git a/src/Infrastructure/OllamaClient.php b/src/Infrastructure/OllamaClient.php index bac6718..3258c56 100644 --- a/src/Infrastructure/OllamaClient.php +++ b/src/Infrastructure/OllamaClient.php @@ -14,11 +14,11 @@ use Throwable; final class OllamaClient { private ?ModelGenerationConfig $cachedConfig = null; + private $config = null; public function __construct( private string $apiUrl, - private string $model, - private int $timeoutSeconds, + private string $timeoutSeconds, private ModelGenerationConfigProvider $configProvider ) {} @@ -27,9 +27,9 @@ final class OllamaClient */ public function stream(string $prompt): Generator { - $config = $this->getConfig(); + $this->config = $this->getConfig(); - if ($config->isStream()) { + if ($this->config->isStream()) { yield from $this->streamInternal($prompt); return; } @@ -166,7 +166,7 @@ final class OllamaClient private function buildPayload(string $prompt, bool $stream): string { return json_encode([ - 'model' => $this->model, + 'model' => $this->config->getModelName(), 'prompt' => $prompt, 'stream' => $stream, 'options' => $this->buildOptions() @@ -178,14 +178,13 @@ final class OllamaClient */ private function buildOptions(): array { - $config = $this->getConfig(); - + $this->config = $this->getConfig(); return [ - 'temperature' => $config->getTemperature(), - 'top_k' => $config->getTopK(), - 'top_p' => $config->getTopP(), - 'repeat_penalty' => $config->getRepeatPenalty(), - 'num_ctx' => $config->getNumCtx(), + 'temperature' => $this->config->getTemperature(), + 'top_k' => $this->config->getTopK(), + 'top_p' => $this->config->getTopP(), + 'repeat_penalty' => $this->config->getRepeatPenalty(), + 'num_ctx' => $this->config->getNumCtx(), ]; } @@ -195,7 +194,7 @@ final class OllamaClient private function getConfig(): ModelGenerationConfig { if ($this->cachedConfig === null) { - $this->cachedConfig = $this->configProvider->getActiveForModel($this->model); + $this->cachedConfig = $this->configProvider->getActiveForModel(); } return $this->cachedConfig; diff --git a/src/Repository/ModelGenerationConfigRepository.php b/src/Repository/ModelGenerationConfigRepository.php index 91298cf..d7fd0a9 100644 --- a/src/Repository/ModelGenerationConfigRepository.php +++ b/src/Repository/ModelGenerationConfigRepository.php @@ -15,12 +15,10 @@ final class ModelGenerationConfigRepository extends ServiceEntityRepository parent::__construct($registry, ModelGenerationConfig::class); } - public function findActiveForModel(string $modelName): ?ModelGenerationConfig + public function findActiveForModel(): ?ModelGenerationConfig { return $this->createQueryBuilder('c') - ->andWhere('c.modelName = :model') ->andWhere('c.active = true') - ->setParameter('model', $modelName) ->orderBy('c.version', 'DESC') ->setMaxResults(1) ->getQuery() diff --git a/src/Service/ModelGenerationConfigManager.php b/src/Service/ModelGenerationConfigManager.php index c40b079..fed0a0d 100644 --- a/src/Service/ModelGenerationConfigManager.php +++ b/src/Service/ModelGenerationConfigManager.php @@ -21,9 +21,7 @@ final class ModelGenerationConfigManager $this->em->wrapInTransaction(function () use ($config) { - // Alle aktiven für dieses Modell deaktivieren $activeConfigs = $this->repository->findBy([ - 'modelName' => $config->getModelName(), 'active' => true ]); diff --git a/src/Service/ModelGenerationConfigProvider.php b/src/Service/ModelGenerationConfigProvider.php index 85c29fd..825bc3d 100644 --- a/src/Service/ModelGenerationConfigProvider.php +++ b/src/Service/ModelGenerationConfigProvider.php @@ -16,9 +16,9 @@ final class ModelGenerationConfigProvider { } - public function getActiveForModel(string $modelName): ModelGenerationConfig + public function getActiveForModel(): ModelGenerationConfig { - $config = $this->repository->findActiveForModel($modelName); + $config = $this->repository->findActiveForModel(); if ($config !== null) { return $config; @@ -28,7 +28,7 @@ final class ModelGenerationConfigProvider // Safe Enterprise Default Fallback // ------------------------------ return new ModelGenerationConfig( - modelName: $modelName, + modelName: 'mto-model', version: 0, stream: false, temperature: 0.1,