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:
Из контейнера 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 роутера.
Проверить:
Известные проблемы¶
- Список моделей не документирован — обновить после ревью
- Нет мониторинга размера каталога
~/.ollama— может внезапно закончить диск - CPU-медленный для больших LLM (задача 7)
Связанные файлы¶
- rag-sync.md — как RAG использует Ollama для эмбеддингов
- openwebui.md — интеграция с OpenWebUI
- ragserver-workstation.md — общее описание сервера