Облачный сервер для Ollama в Европе: руководство по своему AI в ЕС
Ollama - самый быстрый способ поднять локальную LLM: одна команда устанавливает среду выполнения, загружает модель и публикует API, совместимый с OpenAI. Для европейских команд запуск Ollama на облачном сервере в ЕС означает, что весь инференс AI остаётся под юрисдикцией ЕС и требования GDPR выполняются, а разработчики получают простоту управляемого сервиса.
Это руководство описывает, как развернуть Ollama на облачном сервере DCXV в ЕС, какие модели использовать под разные нагрузки и какой производительности ждать.
Зачем запускать Ollama на облачном сервере в ЕС
Локальный запуск Ollama на ноутбуках разработчиков годится для проб, но продакшен-функциям AI нужен сервер: постоянная доступность, ускорение на GPU, общий доступ для нескольких сервисов и стабильные точки API, к которым ваши приложения могут обращаться надёжно.
Именно хостинг в ЕО важен потому, что Ollama выступает точкой инференса для ваших приложений. Каждый запрос ваших пользователей проходит через этот сервер. По GDPR, если такие запросы содержат персональные данные - а в большинстве реальных приложений они их содержат, - инференс должен происходить на инфраструктуре под юрисдикцией ЕС. Облачный сервер DCXV в ЕС с Ollama даёт вам соответствующую требованиям приватную точку AI, которая никогда не направляет данные на инфраструктуру США.
Выбор подходящей модели под вашу задачу
Ollama поддерживает сотни моделей. Для продакшен-развёртываний в ЕС:
- llama3.1:8b - лучший универсальный вариант для чата, пересказа, вопросов и ответов. Работает на CPU или GPU. 4-5 ГБ VRAM при Q4.
- llama3.1:70b - качество близко к GPT-4. Нужно 40 ГБ VRAM и больше. Используйте на серверах A100 или H100.
- mistral:7b - быстрая, экономная, отлично подходит для структурированного вывода и вызова функций.
- nomic-embed-text - модель эмбеддингов для конвейеров RAG. Дружелюбна к CPU, 274 МБ.
- codellama:13b - генерация и разбор кода. Хорошо идёт на одном GPU с 16 ГБ.
- phi3:mini - модель Microsoft на 3,8B. Очень быстрая на CPU, полезна для классификации.
Минимальные требования к серверу для Ollama
- Только CPU (небольшие модели, 7B Q4) - 8 vCPU, 16 ГБ RAM, 100 ГБ NVMe SSD
- Продакшен на CPU (параллельные запросы, 7B Q4) - 16 vCPU, 32 ГБ RAM, 200 ГБ NVMe SSD
- Начальный GPU (7B-13B в FP16) - 4 vCPU, 16 ГБ RAM, 16-24 ГБ VRAM, 200 ГБ NVMe
- Продакшен на GPU (модели 34B и выше) - 8 vCPU, 64 ГБ RAM, 40-80 ГБ VRAM, 500 ГБ NVMe
Рекомендуемая конфигурация DCXV
Облачные серверы DCXV работают на инфраструктуре ЕС уровня Tier III с приватной сетью. Для Ollama в продакшене:
- Сервер на CPU, 16 vCPU / 32 ГБ RAM - отдаёт модели 7B на 18-28 токенах в секунду, подходит для внутренних инструментов и пакетных задач
- Сервер с GPU, 16-24 ГБ VRAM - отдаёт модели 7B-13B на 80-120 токенах в секунду, подходит для функций, которые видит пользователь
- Сервер с GPU, 80 ГБ VRAM - отдаёт модели 70B на 25-40 токенах в секунду, класс GPT-4 для продакшен-API
Напишите на sales@dcxv.com, чтобы собрать готовые под Ollama инстансы с GPU или CPU в дата-центрах ЕС.
Команды для быстрой установки
# Установка Ollama на Ubuntu 22.04
curl -fsSL https://ollama.com/install.sh | sh
# Проверка установки
ollama --version
# Запуск службы Ollama (после установки запускается сама)
sudo systemctl status ollama
# Загрузка нужных моделей
ollama pull llama3.1:8b # 4,7 ГБ - общего назначения
ollama pull mistral:7b # 4,1 ГБ - быстрая, структурированный вывод
ollama pull nomic-embed-text # 274 МБ - эмбеддинги для RAG
ollama pull codellama:13b # 7,4 ГБ - задачи с кодом
# Список загруженных моделей
ollama list
# Быстрая проверка
ollama run llama3.1:8b "In one sentence, what is GDPR?"
# Настройка Ollama на работу в приватной сети
# Правьте /etc/systemd/system/ollama.service
# Добавьте под [Service]:
# Environment="OLLAMA_HOST=0.0.0.0:11434"
# Environment="OLLAMA_NUM_PARALLEL=4" # одновременные запросы
# Environment="OLLAMA_MAX_LOADED_MODELS=2" # моделей держать в памяти
sudo systemctl daemon-reload
sudo systemctl restart ollama
# Проверка, что API доступен с сервера приложений
curl http://10.0.0.5:11434/api/tags
# Использование совместимого с OpenAI API из вашего приложения
# Список доступных моделей
curl http://10.0.0.5:11434/v1/models
# Ответ в чате (подстановка вместо SDK OpenAI)
curl http://10.0.0.5:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.1:8b",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Summarize GDPR Article 5 in 3 bullet points."}
]
}'
# Эмбеддинги для RAG
curl http://10.0.0.5:11434/v1/embeddings \
-H "Content-Type: application/json" \
-d '{"model": "nomic-embed-text", "input": "EU data residency requirements"}'
# Дополнительно: закрыть Ollama обратным прокси (nginx)
sudo apt install -y nginx
cat > /etc/nginx/sites-available/ollama << 'EOF'
server {
listen 443 ssl;
server_name ai.yourdomain.eu;
location / {
proxy_pass http://127.0.0.1:11434;
proxy_set_header Host $host;
# Здесь для продакшена добавьте проверку заголовка авторизации
}
}
EOF
sudo ln -s /etc/nginx/sites-available/ollama /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
Какое квантование загружать
Каждая модель выше выходит в нескольких сборках, и тег решает, какая часть исходных весов доживёт до вас. ollama pull llama3.1:8b даёт Q4_K_M - те самые 4,7 ГБ из команд выше, - и этот выбор по умолчанию чаще верный, чем нет:
| Сборка | Модели 8B нужно | Чем вы платите | Когда загружать |
|---|---|---|---|
| Q4_K_M | около 4,7 ГБ | Малым, что заметно в чате или пересказе | По умолчанию, и верно для большинства работ |
| Q5_K_M | около 5,7 ГБ | Почти ничем, что вы заметите | Память свободна и вы всё равно её хотите |
| Q8_0 | около 8,5 ГБ | Ничем, что стоит назвать | Структурированный вывод, который обязан разбираться каждый раз |
| fp16 | около 16 ГБ | Ничем, это исходные веса | Сравнение с эталоном или дообучение |
Планировать надо не по размеру файла, а по размеру файла плюс окно контекста. Модель на 4,7 ГБ с контекстом 32k может запросить ещё два-три гигабайта под кеш KV, и именно так модель 7B на машине, где "16 ГБ более чем хватит", уходит в своп.
Ожидаемые показатели производительности
Сервер на CPU (16 vCPU), llama3.1:8b Q4_K_M:
- Генерация на один запрос - 18-28 токенов в секунду
- Одновременные запросы (OLLAMA_NUM_PARALLEL=4) - 6-10 токенов в секунду на запрос
- Пропускная способность эмбеддингов (nomic-embed-text) - 250-400 векторов в секунду
Сервер с GPU (16 ГБ VRAM), llama3.1:8b FP16:
- Генерация на один запрос - 80-120 токенов в секунду
- Одновременные запросы (4 параллельно) - 50-80 токенов в секунду на запрос
- Время до первого токена - 100-250 мс
Сервер с GPU (24 ГБ VRAM), mistral:7b FP16:
- Генерация на один запрос - 100-150 токенов в секунду
- Задержка структурированного вывода JSON - обычно 200-400 мс
Это ожидания для оборудования такого класса, а не измерения из нашей лаборатории. Считайте их отправной точкой для расчёта и измеряйте собственную нагрузку: реальные цифры зависят от ваших данных, ваших запросов и вашей настройки гораздо сильнее, чем от провайдера.
Итог
Ollama на облачном сервере DCXV в ЕС даёт вашей команде приватную точку AI с соблюдением GDPR, управлять которой так же просто, как любым другим сервисом. Установка занимает менее пяти минут, модели загружаются одной командой, а совместимый с OpenAI API означает, что любое приложение на SDK OpenAI работает без правок кода. Напишите в DCXV, чтобы поднять сервер на CPU или GPU в дата-центре ЕС.
