Backup #2025

ID2025
Dateipfad/var/www/dev.campus.systemische-tools.de/src/Infrastructure/AI/ModelConfig.php
Version7
Typ modified
Größe2.6 KB
Hash0cbda97f711bfdf1a3257024e35a3d4e0dcc3460de5885b245d85211cda99346
Datum2025-12-28 23:21:31
Geändert vonclaude-code-hook
GrundClaude Code Pre-Hook Backup vor Edit-Operation
Datei existiert Ja

Dateiinhalt

<?php

declare(strict_types=1);

namespace Infrastructure\AI;

// @responsibility: Legacy-Interface für Modell-Konfiguration (delegiert an ModelRegistry)

/**
 * @deprecated Use ModelRegistry via DI instead. This class will be removed in a future version.
 *             Views still use this temporarily until they are refactored.
 */
final class ModelConfig
{
    /**
     * Get all available chat models.
     *
     * @return array<string, string> [model_key => display_name]
     */
    public static function getAll(): array
    {
        return ModelRegistry::getInstance()->getChatModels();
    }

    /**
     * Get vision-capable models.
     *
     * @return array<string, string> [model_key => display_name]
     */
    public static function getVisionModels(): array
    {
        return ModelRegistry::getInstance()->getVisionModels();
    }

    /**
     * Get display label for a model ID.
     */
    public static function getLabel(string $modelId): string
    {
        return ModelRegistry::getInstance()->getLabel($modelId);
    }

    /**
     * Check if a model ID is valid.
     */
    public static function isValid(string $modelId): bool
    {
        $registry = ModelRegistry::getInstance();

        // Check in registry first
        if ($registry->isValid($modelId)) {
            return true;
        }

        // Fallback: accept any claude- or ollama: prefixed model
        return str_starts_with($modelId, 'claude-')
            || str_starts_with($modelId, 'ollama:');
    }

    /**
     * Validate and return model, or default if invalid.
     */
    public static function validate(string $modelId): string
    {
        return self::isValid($modelId) ? $modelId : self::getDefaultModel();
    }

    /**
     * Check if model is a local (Ollama) model.
     */
    public static function isLocal(string $modelId): bool
    {
        return str_starts_with($modelId, 'ollama:');
    }

    /**
     * Get default chat model.
     */
    public static function getDefaultModel(): string
    {
        return ModelRegistry::getInstance()->getDefaultChatModel();
    }

    /**
     * Get default vision model.
     */
    public static function getDefaultVisionModel(): string
    {
        return ModelRegistry::getInstance()->getDefaultVisionModel();
    }

    /**
     * Force refresh of model cache (e.g., after Ollama sync).
     */
    public static function clearCache(): void
    {
        ModelRegistry::clearCache();
    }

    /**
     * Sync models from Ollama.
     *
     * @return array Sync results
     */
    public static function syncFromOllama(): array
    {
        return ModelRegistry::getInstance()->syncFromOllama();
    }
}

Vollständig herunterladen

Aktionen

Herunterladen

Andere Versionen dieser Datei

ID Version Typ Größe Datum
2025 7 modified 2.6 KB 2025-12-28 23:21
1304 6 modified 2.5 KB 2025-12-25 13:29
790 5 modified 2.6 KB 2025-12-23 08:06
679 4 modified 2.6 KB 2025-12-23 07:39
442 3 modified 2.4 KB 2025-12-22 10:14
433 2 modified 1.9 KB 2025-12-22 10:11
425 1 modified 1.8 KB 2025-12-22 10:00

← Zurück zur Übersicht