Как сохранить модели 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.
Готовы запустить?
Запустить GPU-сервер