2.0 KiB
2.0 KiB
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.yamlcore/deploy/docker-gpu/vllm/.env.exampleregistry/model-cards/qwen3-4b-instruct-2507.yaml
Prepare
На GPU-хосте:
docker --context default version
С локальной машины, если настроен Docker context:
docker --host ssh://test@docker-gpu.cin.su info
Configure
Скопировать .env.example в .env на стороне deployment-каталога и указать:
VLLM_MODEL_IDVLLM_SERVED_MODEL_NAMEHOST_MODELS_DIRHOST_HF_CACHE_DIRHF_TOKEN, только если нужен доступ к закрытой модели
Не коммитить .env.
Run
docker compose --env-file .env -f core/deploy/docker-gpu/vllm/compose.yaml up -d
Check
curl http://docker-gpu.cin.su:8000/v1/models
Пример запроса:
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-скриптом из корня проекта:
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.