Files
llm/docs/runbooks/deploy-vllm.md
T

83 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
```