2.5 KiB
2.5 KiB
Deploy vLLM
Цель: поднять первый OpenAI-compatible inference API на docker-gpu.cin.su.
1. Check GPU Host
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/check_gpu_host.ps1
Если SSH ругается на host key, см. docs/runbooks/gpu-host-preflight.md.
2. Prepare Env
Для реального запуска лучше создать локальный .env рядом с compose-файлом:
Copy-Item core/deploy/docker-gpu/vllm/.env.example core/deploy/docker-gpu/vllm/.env
Отредактировать:
VLLM_MODEL_IDVLLM_SERVED_MODEL_NAMEHOST_MODELS_DIRHOST_HF_CACHE_DIRHF_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 -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_vllm.ps1 -ConfigOnly
4. Deploy
С .env.example:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_vllm.ps1 -Pull
С реальным .env:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_vllm.ps1 -EnvFile core/deploy/docker-gpu/vllm/.env -Pull
5. Check Endpoint
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/check_vllm_endpoint.ps1
Или напрямую:
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
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 -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_vllm.ps1 -DockerHost ssh://USER@docker-gpu.cin.su -ConfigOnly