Files
llm/docs/runbooks/first-vllm-inference.md
T

73 lines
2.0 KiB
Markdown

# 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.