llm_lab_perso/lancer-unifie.bat
2025-04-21 17:36:30 +02:00

80 lines
2.8 KiB
Batchfile

@echo off
echo === Lancement du serveur API unifié pour Cursor et Obsidian ===
:: Configuration de l'environnement pour Windows
SET PYTHONIOENCODING=utf-8
SET PYTHONLEGACYWINDOWSSTDIO=1
SET CURSOR_MODEL=codellama:13b-python
SET OBSIDIAN_MODEL=llama2:13b
SET PORT=7000
:: Vérifier si Ollama est en cours d'exécution
echo Vérification d'Ollama...
tasklist /FI "IMAGENAME eq ollama.exe" 2>NUL | find /I /N "ollama.exe" >NUL
if %ERRORLEVEL% NEQ 0 (
echo Ollama n'est pas en cours d'exécution, tentative de démarrage...
:: Vérifier si Ollama est installé
if exist "C:\Program Files\Ollama\ollama.exe" (
echo Démarrage d'Ollama...
start "" /min "C:\Program Files\Ollama\ollama.exe"
echo Attente de l'initialisation d'Ollama...
timeout /t 10 /nobreak >NUL
) else (
echo Impossible de trouver Ollama. Veuillez l'installer depuis https://ollama.com/download/windows
echo Le serveur API va démarrer, mais les modèles pourraient ne pas être disponibles.
)
) else (
echo Ollama est déjà en cours d'exécution.
)
:: Vérification si l'environnement virtuel existe
if not exist "llmlab" (
echo L'environnement virtuel n'existe pas. Veuillez exécuter setup_env.bat pour le créer.
exit /b 1
)
:: Activation de l'environnement virtuel
call llmlab\Scripts\activate.bat
:: Vérification des dépendances API
pip show flask flask-cors requests > nul 2>&1
if ERRORLEVEL 1 (
echo Installation des dépendances manquantes...
pip install flask flask-cors requests
)
:: Préchargement des modèles
echo Préchargement des modèles pour faciliter les basculements...
python -c "from utils.ollama_manager import ollama_manager; ollama_manager.preload_models(['%CURSOR_MODEL%', '%OBSIDIAN_MODEL%']); print('Préchargement lancé en arrière-plan.')"
:: Affichage des informations
echo.
echo Serveur API unifié en cours de démarrage sur http://localhost:%PORT%
echo.
echo [Configuration pour Cursor]
echo - Ouvrez Cursor
echo - Allez dans Settings > AI
echo - Sélectionnez 'Custom endpoint'
echo - Entrez l'URL: http://localhost:%PORT%/v1
echo.
echo [Configuration pour Obsidian]
echo - Installez le plugin Text Generator dans Obsidian
echo - Allez dans les paramètres du plugin
echo - Sélectionnez "Custom endpoint"
echo - Entrez l'URL: http://localhost:%PORT%/generate
echo - Méthode: POST
echo - Endpoint: /generate
echo.
echo [Mode unifié]
echo Le serveur détectera automatiquement le type de requête et basculera entre les modèles
echo - %CURSOR_MODEL% pour les requêtes de code (Cursor)
echo - %OBSIDIAN_MODEL% pour les requêtes de texte (Obsidian)
echo.
:: Démarrage du serveur API
echo Démarrage du serveur unifié... (Ctrl+C pour arrêter)
python api_server.py --port %PORT%
:: Désactivation de l'environnement virtuel en cas d'arrêt
call deactivate