Как сохранить модели LLM и историю чата между сеансами

Процесс модели, контейнер и арендованный инстанс имеют разный жизненный цикл. Остановка инференса не удаляет веса, а сохранение файлов на инстансе не является внешней резервной копией. Перед завершением работы уточните, что именно вы останавливаете.

Где лежат данные

Вариант из инструкций Модели Что ещё сохранить
Нативный скрипт Ollama $HOME/llm-data/ollama, если не задан OLLAMA_MODELS Настройки запуска, имя/digest модели, промпты и результаты
Стандартный Linux-сервис Ollama Обычно /usr/share/ollama/.ollama/models systemd override и права сервисного пользователя
Наш Compose-файл ./data/ollama относительно проекта Compose ./data/open-webui с данными интерфейса
Нативный vLLM $HOME/llm-data/huggingface через HF_HOME Версии окружения и аргументы запуска
Локальный Open WebUI, вариант A Модели остаются на GPU-сервере $HOME/llm-webui/data и файл ключа в каталоге запуска

Процесс от root и сервис от пользователя ollama могут использовать разные кеши. Если после смены способа запуска список моделей опустел, сначала проверьте пользователя и каталог.

Остановка, перезапуск и удаление

Действие Результат
ollama stop MODEL Модель выгружается из памяти; API и файлы остаются
Остановка нативного процесса API недоступен; веса сохраняются
docker compose stop Процессы останавливаются; bind mount остаётся
Приостановка инстанса Вычисления прекращаются; хранение может оставаться платным
Удаление инстанса Данные инстанса удаляются; нужна отдельная копия для восстановления

Актуальные условия описаны в документации по жизненному циклу инстанса. Закрытие браузера, SSH-туннеля или программы модели не останавливает сам сервер.

Копия перед удалением или обновлением

В первую очередь сохраните собственные промпты, шаблоны, настройки и историю. Публичные веса иногда можно скачать снова, но тег способен измениться: запишите digest/checksum. Собственная дообученная модель может не иметь другой копии.

Для согласованной копии базы Compose-стека сначала остановите его. Из каталога с compose.yaml:

docker compose stop
tar -czf llm-stack-backup.tgz compose.yaml data

Следующую команду выполните на своём компьютере, заменив SSH-реквизиты и путь:

scp -P SSH_PORT root@GPU_HOST:/absolute/path/llm-stack-backup.tgz ./

Проверьте скачанный архив командой tar -tzf llm-stack-backup.tgz. Копия на том же арендованном диске исчезнет вместе с ним. Архив с весами бывает большим: заранее проверьте свободное место.

Для продолжения на прежнем инстансе выполните docker compose start. Для восстановления на другом извлеките архив в пустой каталог, проверьте настройки и права, затем выполните docker compose up -d. Убедитесь, что доступны и модель, и история, прежде чем удалять резервную копию. Для отката версии интерфейса нужна совместимая копия базы.

Перенос нативного кеша Ollama

Сначала остановите сервер. Скопируйте весь каталог моделей, затем задайте OLLAMA_MODELS именно серверному процессу, а не только терминалу клиента. Пользователь сервера должен иметь права чтения и записи. Для systemd переменная задаётся через override с последующим перезапуском.

Указание нового пути не переносит старые файлы автоматически. По инструкции Ollama проверьте запуск и наличие ожидаемой модели.

Повторное подключение

Проверьте состояние инстанса, запустите движок с сохранёнными настройками и восстановите SSH-туннель. Процесс из старого терминала не запускается автоматически после перезагрузки. Restart policy Compose требует работающего Docker daemon.

Отправьте один реальный запрос и проверьте GPU. Если API работает, а история пропала, ищите каталог данных интерфейса: он отделён от весов модели.

Источники: хранение Ollama, переменные кеша Hugging Face, конфигурация Open WebUI.

Все инструкции по запуску своей LLM.

Готовы запустить?

Запустить GPU-сервер