llm_lab_perso/api-server.bat
2025-04-21 17:36:30 +02:00

94 lines
2.8 KiB
Batchfile

@echo off
setlocal
echo === Lancement automatique du serveur API LLM Lab ===
REM 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...
REM 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 5 /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.
)
REM 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
)
REM Activation de l'environnement virtuel
call llmlab\Scripts\activate.bat
REM Vérification des dépendances API
pip show flask flask-cors > nul 2>&1
if ERRORLEVEL 1 (
echo Installation des dépendances manquantes...
pip install flask flask-cors
)
REM Affichage des informations
echo.
echo Serveur API en cours de démarrage sur http://localhost:8000
echo.
echo Endpoints disponibles:
echo - http://localhost:8000/v1/chat/completions (compatible OpenAI/Cursor)
echo - http://localhost:8000/v1/models (liste des modèles)
echo - http://localhost:8000/generate (API simplifiée pour Obsidian)
echo - http://localhost:8000/health (statut du serveur)
echo.
REM Vérifier si Ollama est prêt en testant l'API
echo Vérification des modèles Ollama disponibles...
curl -s http://localhost:11434/api/tags > models_temp.json 2>NUL
if %ERRORLEVEL% EQU 0 (
echo Ollama est prêt. Modèles disponibles:
REM Utiliser findstr pour extraire les noms des modèles (version simplifiée)
findstr /C:"\"name\":" models_temp.json
REM Supprimer le fichier temporaire
del models_temp.json
) else (
echo Ollama semble ne pas répondre. Les modèles pourraient ne pas être disponibles.
)
echo.
echo Appuyez sur Ctrl+C pour arrêter le serveur
echo.
REM Option pour exécuter en arrière-plan
if "%1"=="-b" goto background
if "%1"=="--background" goto background
REM Lancement normal du serveur API
python api_server.py
goto end
:background
REM Lancement en arrière-plan (minimisé)
start /min python api_server.py
echo Serveur API démarré en arrière-plan.
goto end
:end
REM Ce code ne sera exécuté qu'après l'arrêt du serveur
echo.
echo Serveur API arrêté.
echo.
REM Désactivation de l'environnement virtuel
call llmlab\Scripts\deactivate.bat
endlocal