Перейти к содержанию

Ollama — LLM и embedding сервер на ragserver

Автоматически составлено агентом 06.08.2026 из rag-sync.md, ragserver-workstation.md. Требует ревью: список моделей и их размеры нужно проверить командой ollama list на сервере.

Быстрая справка

Параметр Значение
Тип запуска host systemd (НЕ docker!)
Systemd unit /etc/systemd/system/ollama.service
Bind 192.168.1.200:11434 (не localhost!)
Модели ~/.ollama/models (юзер oswold) или /usr/share/ollama/.ollama/models
Логи journalctl -u ollama -f
Роль Сервер LLM + embeddings для Open WebUI

Почему на хосте, а не в docker

  • Прямой доступ к GPU (если появится) — в докере нужны NVIDIA Container Toolkit
  • Проще управлять моделями — команды ollama pull/list/rm работают напрямую
  • Автостарт при загрузке — systemd надёжнее docker restart policies
  • Меньше overhead — не тратим CPU на docker network stack

Systemd unit (пример)

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
Type=simple
User=ollama
Group=ollama
ExecStart=/usr/local/bin/ollama serve
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=192.168.1.200:11434"
Environment="OLLAMA_KEEP_ALIVE=5m"

[Install]
WantedBy=default.target

Ключевой момент: OLLAMA_HOST=192.168.1.200:11434 — иначе Ollama слушает 127.0.0.1:11434 и docker-контейнеры до неё не достучатся.

Команды на каждый день

# Список загруженных моделей
ollama list

# Загрузить новую модель
ollama pull llama3.2:3b

# Удалить модель
ollama rm llama3.2:3b

# Показать инфо о модели
ollama show nomic-embed-text --modelfile

# Тестовый запрос
curl http://192.168.1.200:11434/api/tags | jq
curl http://192.168.1.200:11434/api/embeddings -d '{
  "model": "nomic-embed-text",
  "prompt": "тестовая строка"
}' | jq '.embedding | length'  # должно вернуть 768

# Статус systemd
sudo systemctl status ollama
sudo journalctl -u ollama -f  # live логи

Известные модели (снимок 05.08.2026)

⚠ Список требует ревью — запусти ollama list на ragserver и обнови.

Модель Тип Размер (примерно) Роль
nomic-embed-text:latest embedding ~275 MB Векторизация KB для RAG (768-dim)

Скорее всего есть ещё LLM модели — уточнить.

Где хранятся модели

Возможные локации (зависит от того как ставили Ollama):

  • Ставили через install script (curl | sh): /usr/share/ollama/.ollama/models
  • Ставили от юзера oswold: /home/oswold/.ollama/models

Проверить:

ls -la /usr/share/ollama/.ollama/models 2>/dev/null
ls -la /home/oswold/.ollama/models 2>/dev/null
sudo systemctl cat ollama | grep -i "User\|home"

Размер каталога ~/.ollama может расти до десятков GB — периодически чистить неиспользуемые модели.

Как обновлять модели

# Обновить конкретную модель на latest
ollama pull nomic-embed-text

# Массовое обновление всех
ollama list --format json | jq -r '.[].name' | while read m; do
  ollama pull "$m"
done

Осторожно: новая версия модели может иметь другую размерность → сломает существующие эмбеддинги в Qdrant.

Как чистить старые слои

# Показать что занимает место
du -sh ~/.ollama/models/*
sudo du -sh /usr/share/ollama/.ollama/models/*

# Удалить модель полностью
ollama rm llama3.2:3b

Интеграция с Open WebUI

  • OpenWebUI ходит в Ollama по адресу из env: OLLAMA_BASE_URL=http://192.168.1.200:11434
  • Список моделей автообновляется в UI через GET /api/tags
  • Для embeddings в RAG используется RAG_EMBEDDING_MODEL=nomic-embed-text:latest

Производительность (i3-7100U без GPU)

  • nomic-embed-text: ~0.5-1 сек на чанк (текст ~1000 символов)
  • 7B LLM: ~5-15 токенов/сек генерации
  • 13B LLM: ~2-5 токенов/сек (медленно для интерактива)

Задача 7 в TODO — купить GPU или мигрировать RAG на CPU-эффективный движок (sentence_transformers).

Проверка что Ollama доступна

Из ragserver:

curl -s http://192.168.1.200:11434/api/version | jq

Из контейнера rag-openwebui:

sudo docker exec rag-openwebui curl -s http://host.docker.internal:11434/api/version
# или через host IP
sudo docker exec rag-openwebui curl -s http://192.168.1.200:11434/api/version

Если возвращает пустоту — проверь OLLAMA_HOST в systemd и firewall.

Firewall / доступ

Ollama слушает на 192.168.1.200:11434 — доступна: - Всем в LAN 192.168.1.0/24 - Всем контейнерам через docker network bridge → host

Внешний доступ: только через VPN AmneziaWG. Порт 11434 НЕ должен быть открыт наружу через WAN роутера.

Проверить:

sudo ss -tlnp | grep 11434
sudo ufw status | grep 11434  # если есть UFW

Известные проблемы

  • Список моделей не документирован — обновить после ревью
  • Нет мониторинга размера каталога ~/.ollama — может внезапно закончить диск
  • CPU-медленный для больших LLM (задача 7)

Связанные файлы