mirror of
https://github.com/Ladebeze66/llm_lab_perso.git
synced 2025-12-13 09:06:50 +01:00
94 lines
3.1 KiB
Batchfile
94 lines
3.1 KiB
Batchfile
@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 |