# First vLLM Inference Цель: поднять первый OpenAI-compatible inference API на `docker-gpu.cin.su`. Основной runbook запуска: `docs/runbooks/deploy-vllm.md`. Preflight GPU-хоста: `docs/runbooks/gpu-host-preflight.md`. ## Files - `core/deploy/docker-gpu/vllm/compose.yaml` - `core/deploy/docker-gpu/vllm/.env.example` - `registry/model-cards/qwen3-4b-instruct-2507.yaml` ## Prepare На GPU-хосте: ```powershell docker --context default version ``` С локальной машины, если настроен Docker context: ```powershell docker --host ssh://test@docker-gpu.cin.su info ``` ## Configure Скопировать `.env.example` в `.env` на стороне deployment-каталога и указать: - `VLLM_MODEL_ID` - `VLLM_SERVED_MODEL_NAME` - `HOST_MODELS_DIR` - `HOST_HF_CACHE_DIR` - `HF_TOKEN`, только если нужен доступ к закрытой модели Не коммитить `.env`. ## Run ```powershell docker compose --env-file .env -f core/deploy/docker-gpu/vllm/compose.yaml up -d ``` ## Check ```powershell curl http://docker-gpu.cin.su:8000/v1/models ``` Пример запроса: ```powershell curl http://docker-gpu.cin.su:8000/v1/chat/completions ` -H "Content-Type: application/json" ` -d '{"model":"qwen3-4b-instruct","messages":[{"role":"user","content":"Привет. Ответь коротко."}]}' ``` Или smoke-скриптом из корня проекта: ```powershell python scripts/smoke_chat.py --base-url http://docker-gpu.cin.su:8000 --model qwen3-4b-instruct ``` ## Notes - Сначала используем одну текстовую модель. - Первая модель: `Qwen/Qwen3-4B-Instruct-2507`. - Первый запуск ограничен `VLLM_MAX_MODEL_LEN=32768`, чтобы снизить риск OOM. - Для 1С позже подключим RAG и LoRA/adapters отдельно. - Большие модели и cache лежат вне git.