@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