@echo off setlocal echo ===== Optimisation d'Ollama pour Windows 11 Pro ===== echo. REM Vérifier si on est en mode administrateur net session >nul 2>&1 if %errorLevel% NEQ 0 ( echo Ce script doit être exécuté en tant qu'administrateur. echo Veuillez le relancer avec un clic droit - "Exécuter en tant qu'administrateur" exit /b 1 ) REM Vérifier si Ollama est installé where ollama >nul 2>&1 if %errorLevel% NEQ 0 ( echo Ollama ne semble pas être installé ou n'est pas dans le PATH. echo Veuillez installer Ollama depuis https://ollama.com/download/windows exit /b 1 ) REM Vérifier si le service Ollama est en cours d'exécution sc query "Ollama" | find "STATE" | find "RUNNING" >nul 2>&1 if %errorLevel% NEQ 0 ( echo Le service Ollama n'est pas en cours d'exécution. echo Démarrage du service... net start Ollama if %errorLevel% NEQ 0 ( echo Impossible de démarrer le service Ollama. echo Veuillez vérifier l'installation d'Ollama. exit /b 1 ) ) REM Créer le fichier de configuration Ollama optimal echo Création d'un fichier de configuration optimisé pour Ollama... mkdir "%USERPROFILE%\.ollama" 2>nul REM Détection du nombre de cœurs CPU for /f "tokens=2 delims==" %%i in ('wmic cpu get NumberOfCores /value ^| find "NumberOfCores"') do set "CPU_CORES=%%i" REM Détection de la mémoire RAM en GB for /f "tokens=2 delims==" %%i in ('wmic OS get TotalVisibleMemorySize /value ^| find "TotalVisibleMemorySize"') do set "RAM_KB=%%i" set /a "RAM_GB=%RAM_KB% / 1024 / 1024" REM Configuration adaptative en fonction des ressources set /a "NUM_THREADS=%CPU_CORES%" if %NUM_THREADS% GTR 16 set "NUM_THREADS=16" set /a "BATCH_SIZE=512" if %RAM_GB% GTR 32 set /a "BATCH_SIZE=1024" set /a "CTX_SIZE=8192" if %RAM_GB% GTR 48 set /a "CTX_SIZE=16384" echo {> "%USERPROFILE%\.ollama\config.json" echo "gpu_layers": -1,>> "%USERPROFILE%\.ollama\config.json" echo "num_ctx": %CTX_SIZE%,>> "%USERPROFILE%\.ollama\config.json" echo "num_thread": %NUM_THREADS%,>> "%USERPROFILE%\.ollama\config.json" echo "num_batch": %BATCH_SIZE%,>> "%USERPROFILE%\.ollama\config.json" echo "num_gpu": 100>> "%USERPROFILE%\.ollama\config.json" echo }>> "%USERPROFILE%\.ollama\config.json" echo. echo Configuration créée avec les paramètres suivants: echo - Nombre de threads: %NUM_THREADS% echo - Taille de contexte: %CTX_SIZE% echo - Taille de batch: %BATCH_SIZE% echo - Utilisation maximale du GPU REM Redémarrer le service Ollama pour appliquer les changements echo. echo Redémarrage du service Ollama pour appliquer les paramètres... net stop Ollama timeout /t 3 /nobreak >nul net start Ollama echo. echo Optimisation terminée! Ollama devrait maintenant fonctionner avec des performances optimales. REM Test de connectivité echo. echo Test de la connexion à Ollama... timeout /t 2 /nobreak >nul curl -s http://localhost:11434/api/tags >nul 2>&1 if %errorLevel% EQU 0 ( echo Connexion réussie! Ollama est prêt à être utilisé. ) else ( echo Avertissement: Impossible de se connecter à Ollama. echo Veuillez vérifier que le service est bien démarré. ) endlocal