7 мин чтения
Ollama и vLLM на арендованном GPU: чат и API за 10 минут
Пошагово: запуск модели в Ollama с чатом и API и vLLM с OpenAI-совместимым сервером на арендованной видеокарте. Команды, проверка и типичные ошибки.
Есть два пути. Ollama — проще: скачивает квантизованные модели одной командой и даёт чат и простой API. vLLM — для продакшн-нагрузки: быстрый батчинг и OpenAI-совместимый API. Начните с Ollama, перейдите на vLLM, когда упрётесь в скорость.
Ollama: чат и API
Арендуйте сервер с 24 ГБ и шаблоном Ollama + Open WebUI. Откройте чат из карточки сервера, затем в терминале скачайте модель:
ollama pull qwen2.5:7b
ollama run qwen2.5:7b "Напиши функцию сортировки на Python"API слушает порт 11434 на самом сервере. Проверка с того же сервера:
curl http://localhost:11434/api/generate -d '{"model":"qwen2.5:7b","prompt":"Привет","stream":false}'Чтобы обращаться к API из своего приложения, пробрасывайте порт через SSH-туннель: он не открывает модель в интернет.
ssh -L 11434:localhost:11434 <пользователь>@<адрес сервера> -p <порт>vLLM: OpenAI-совместимый сервер
Шаблон vLLM поднимает API на порту 8000. Запуск модели командой vllm serve; параметр --max-model-len ограничивает контекст и экономит память:
vllm serve Qwen/Qwen2.5-7B-Instruct --port 8000 --max-model-len 8192Клиенты OpenAI SDK работают без изменений: укажите base_url с адресом сервера и портом 8000 и любой ключ. Ключ защищает API только если вы его задали на сервере, поэтому не открывайте порт без авторизации.
Типичные ошибки
- Модель не влезла в память: уменьшите контекст, возьмите квантизованную версию или карту побольше.
- API недоступен снаружи: по умолчанию Ollama слушает только localhost. Используйте SSH-туннель вместо открытия порта.
- Скачивание долгое: веса крупных моделей занимают десятки гигабайт. Запускайте pull в screen или tmux.
Когда закончили, остановите сервер. Диск с моделью тарифицируется и при остановке, поэтому удалите то, что не нужно, или держите модель на сервере только на время работы.