Labels (default: ModelConfig::getAll()) * @param string $selected Ausgewähltes Modell (default: ModelConfig::DEFAULT_MODEL) * @param string $name Form-Feldname (default: 'model') * @param string $variant 'default', 'inline' oder 'compact' * @param string $id Optional: HTML ID für das Select * @param bool $saveToLocalStorage Speichert Änderungen in localStorage (default: true) * @param string $localStorageKey Key für localStorage (default: 'pipeline_model') */ use Infrastructure\AI\ModelConfig; $models ??= ModelConfig::getAll(); $selected ??= ModelConfig::DEFAULT_MODEL; $name ??= 'model'; $variant ??= 'default'; $id ??= 'model-' . uniqid(); $saveToLocalStorage ??= true; $localStorageKey ??= 'pipeline_model'; $class = match ($variant) { 'inline' => 'form-select form-select--inline model-select', 'compact' => 'form-select form-select--compact model-select', default => 'form-select model-select', }; // Gruppiere Modelle nach Provider $anthropicModels = []; $ollamaModels = []; foreach ($models as $modelId => $label) { if (str_starts_with($modelId, 'ollama:')) { $ollamaModels[$modelId] = $label; } else { $anthropicModels[$modelId] = $label; } } ?>