# Deploy vLLM Цель: поднять первый OpenAI-compatible inference API на `docker-gpu.cin.su`. ## 1. Check GPU Host ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File scripts/check_gpu_host.ps1 ``` Если SSH ругается на host key, см. `docs/runbooks/gpu-host-preflight.md`. ## 2. Prepare Env Для реального запуска лучше создать локальный `.env` рядом с compose-файлом: ```powershell Copy-Item core/deploy/docker-gpu/vllm/.env.example core/deploy/docker-gpu/vllm/.env ``` Отредактировать: - `VLLM_MODEL_ID` - `VLLM_SERVED_MODEL_NAME` - `HOST_MODELS_DIR` - `HOST_HF_CACHE_DIR` - `HF_TOKEN`, если модель закрытая На Windows GPU-хосте используйте проверенный образ `VLLM_IMAGE=vllm/vllm-openai:v0.10.2`. С драйвером CUDA 12.8 новые образы могут не стартовать из-за требования CUDA 13. После обновления драйвера до CUDA 13.x образ `latest` проходит CUDA-проверку, но vLLM 0.23.0 на Docker Desktop/WSL падает при старте движка с `UVA is not available`. Файл `.env` не коммитится. ## 3. Validate Compose Без запуска: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_vllm.ps1 -ConfigOnly ``` ## 4. Deploy С `.env.example`: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_vllm.ps1 -Pull ``` С реальным `.env`: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_vllm.ps1 -EnvFile core/deploy/docker-gpu/vllm/.env -Pull ``` ## 5. Check Endpoint ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File scripts/check_vllm_endpoint.ps1 ``` Или напрямую: ```powershell python scripts/check_inference_endpoint.py --base-url http://docker-gpu.cin.su:8000 --expected-model qwen3-4b-instruct --print python scripts/smoke_chat.py --base-url http://docker-gpu.cin.su:8000 --model qwen3-4b-instruct ``` ## 6. Stop ```powershell docker --host ssh://test@docker-gpu.cin.su compose --env-file core/deploy/docker-gpu/vllm/.env -f core/deploy/docker-gpu/vllm/compose.yaml down ``` Если для GPU-хоста нужен явный пользователь, передайте его в параметре: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_vllm.ps1 -DockerHost ssh://USER@docker-gpu.cin.su -ConfigOnly ```