Запустить локальную LLM с памятью чатов и RAG можно без программирования. Для первой рабочей сборки достаточно Docker, Open WebUI и одной модели Ollama. В результате вы получите интерфейс, похожий на обычный AI-чат, сохранённую историю разговоров и возможность задавать вопросы по своим PDF, инструкциям и заметкам.
Ниже — один основной путь, который проще всего повторить новичку. Сначала мы запустим всё в одном контейнере, затем загрузим модель и подключим документы. Отдельные векторные базы, плагины и программный код на первом этапе не нужны.
Что получится после настройки
- локальная модель, работающая на вашем компьютере;
- веб-интерфейс Open WebUI по адресу
http://localhost:3000; - сохранение чатов и настроек после перезагрузки;
- база знаний с вашими документами и RAG-поиском;
- возможность работать без интернета после первоначальной загрузки компонентов.
Сначала разберёмся в трёх понятиях
Локальная LLM — языковая модель, которая выполняет генерацию на вашем компьютере, а не на сервере облачного провайдера. Ollama скачивает модель, запускает её и предоставляет интерфейс для других программ.
История чатов — сохранённые сообщения и настройки. Она позволяет открыть старый разговор после перезапуска. Это не означает, что новый чат автоматически знает содержание всех предыдущих диалогов.
RAG (Retrieval-Augmented Generation) — поиск подходящих фрагментов в документах перед ответом модели. RAG не переобучает LLM. Система находит релевантный текст, добавляет его в контекст и просит модель ответить на его основе.
Что понадобится
- Windows, macOS или Linux;
- Docker Desktop или Docker Engine;
- минимум 10–15 ГБ свободного места для образов и первой модели;
- доступ в интернет во время установки и скачивания модели;
- желательно 8 ГБ оперативной памяти или больше.
Видеокарта не обязательна: Ollama может работать на CPU, только медленнее. Если хотите заранее оценить своё железо, откройте гайд по требованиям к памяти для локальных моделей.
Важно: размер файла модели и необходимый объём RAM или VRAM — не одно и то же. Во время работы модели нужен дополнительный запас памяти, особенно при большом контексте. Для первого запуска всегда начинайте с небольшой модели.
Шаг 1. Установите Docker
Установите Docker Desktop для Windows или macOS либо Docker Engine для Linux по официальной инструкции Docker. После установки откройте терминал, PowerShell или командную строку и проверьте:
docker --version
Если команда выводит версию Docker, можно продолжать. На Windows убедитесь, что Docker Desktop запущен.
Шаг 2. Запустите Ollama и Open WebUI одной командой
Для первого знакомства удобнее официальный вариант Open WebUI со встроенной Ollama. Команда одинаковая для PowerShell, командной строки и терминала:
docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
Первый запуск может занять несколько минут: Docker скачает образ. Проверить контейнер можно так:
docker ps
В списке должен появиться контейнер open-webui со статусом Up. Эта команда основана на официальном Quick Start Open WebUI.
Что означают два тома Docker
ollama:/root/.ollamaхранит скачанные модели;open-webui:/app/backend/dataхранит чаты, пользователей, настройки, документы и данные RAG.
Шаг 3. Скачайте первую модель
Начните с qwen3.5:4b. По данным библиотеки Ollama, её файл занимает около 3,4 ГБ. Модель поддерживает много языков и подходит для обычного чата и вопросов по документам.
docker exec -it open-webui ollama pull qwen3.5:4b
Проверьте, что модель появилась:
docker exec -it open-webui ollama list
| Модель | Размер загрузки | Когда выбирать |
|---|---|---|
qwen3.5:2b |
около 2,7 ГБ | если компьютер слабый или 4B работает медленно |
qwen3.5:4b |
около 3,4 ГБ | оптимальный первый вариант |
qwen3.5:9b |
около 6,6 ГБ | если нужно выше качество и хватает памяти |
Не скачивайте сразу большую модель. Сначала убедитесь, что вся система работает на 4B, а затем сравнивайте качество.
Шаг 4. Откройте веб-интерфейс
- Откройте в браузере
http://localhost:3000. - Создайте локальную учётную запись.
- Выберите
qwen3.5:4bв списке моделей. - Отправьте тестовое сообщение: «Ответь одним предложением: система работает?».
Если модель не появилась, обновите страницу и ещё раз выполните docker exec -it open-webui ollama list.
Шаг 5. Проверьте сохранение истории чатов
Создайте тестовый чат, затем перезапустите контейнер:
docker restart open-webui
После повторного открытия страницы чат должен остаться. Это работает благодаря Docker volume open-webui. Официальная документация подтверждает, что в /app/backend/data сохраняются база приложения, чаты, настройки, загрузки и содержимое базы знаний.
История — не память между чатами. Старый диалог можно открыть и продолжить, но новый чат не знает предыдущую переписку автоматически. Для постоянных инструкций используйте системный промпт, модель с закреплённой базой Knowledge или функцию Memory, если она доступна в вашей версии.
Шаг 6. Создайте базу знаний для RAG
Open WebUI уже содержит механизм Knowledge и встроенное векторное хранилище. Для домашней коллекции документов отдельный Qdrant не требуется.
- Откройте раздел Workspace → Knowledge.
- Создайте базу, например «Документация проекта».
- Загрузите один небольшой PDF, Markdown или текстовый файл.
- Дождитесь завершения обработки и индексации.
- Создайте новый чат и прикрепите созданную базу знаний.
- Оставьте режим Focused Retrieval для большого документа или выберите Full Context для короткого файла, который должен целиком попасть в запрос.
Именно так работу Knowledge описывает официальная документация Open WebUI: в режиме RAG система извлекает релевантные фрагменты, а не отправляет модели всю библиотеку целиком.
Шаг 7. Правильно протестируйте RAG
Не спрашивайте сначала что-то общее. Возьмите уникальный факт из загруженного документа и задайте вопрос, ответ на который нельзя легко угадать.
Тестовый запрос
«Отвечай только по прикреплённой базе знаний. Сначала дай короткий ответ, затем укажи файл или раздел, на котором он основан. Если информации нет, прямо напиши: “В документах не найдено”».
Проведите три проверки:
- задайте вопрос по факту, который точно есть в документе;
- задайте вопрос, ответа на который в документе нет;
- откройте найденный фрагмент и вручную сравните его с ответом модели.
RAG снижает количество выдумок, но не гарантирует точность. Модель всё равно может неверно интерпретировать найденный текст.
Альтернативный вариант: Ollama отдельно от Open WebUI
На macOS с Apple Silicon нативная Ollama обычно предпочтительнее, потому что Docker Desktop не передаёт контейнеру доступ к Metal. Этот вариант также удобен на Windows, если Ollama уже установлена и использует видеокарту.
Выберите либо основной вариант выше, либо этот. Не запускайте оба одновременно.
- Установите Ollama с официального сайта.
- На Linux можно использовать официальную команду
curl -fsSL https://ollama.com/install.sh | sh. - Запустите модель:
ollama run qwen3.5:4b. - Затем запустите обычный контейнер Open WebUI командой ниже.
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -e OLLAMA_BASE_URL=http://host.docker.internal:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Если на Linux контейнер не видит нативную Ollama, проще вернуться к варианту «всё в одном». Настройка сетевого доступа к сервису хоста требует дополнительных параметров и уже выходит за рамки гайда для первого запуска.
Частые проблемы и решения
Open WebUI не открывается
docker ps -a
docker logs --tail 100 open-webui
Если порт 3000 занят, при первом запуске замените -p 3000:8080 на -p 3001:8080 и открывайте http://localhost:3001.
Модель отвечает слишком медленно
Перейдите с 4B на qwen3.5:2b, закройте тяжёлые приложения и уменьшите длину контекста в настройках модели. На CPU пауза перед первым ответом — нормальное поведение.
RAG не находит нужный текст
- убедитесь, что индексация документа завершилась;
- проверьте, что база Knowledge прикреплена к текущему чату;
- для короткого файла попробуйте Full Context;
- сканированный PDF может потребовать OCR, потому что внутри него нет текстового слоя;
- переформулируйте вопрос словами, которые встречаются в документе.
После обновления исчезли чаты
Проверьте, что контейнер подключён к прежнему тому open-webui:/app/backend/data. Не удаляйте Docker volume при пересоздании контейнера. Дополнительные ошибки локального запуска разобраны в отдельном руководстве.
Как не потерять чаты и документы
Перед обновлением Open WebUI экспортируйте чаты через Settings → Data Controls → Export Chats. Для полноценной резервной копии нужно сохранить весь том open-webui, потому что в нём находятся не только сообщения, но и настройки, файлы и база знаний.
Команда резервного копирования для Linux и macOS:
docker run --rm -v open-webui:/data -v "$(pwd):/backup" alpine tar czf /backup/openwebui-backup.tar.gz /data
Для PowerShell:
docker run --rm -v open-webui:/data -v "${PWD}:/backup" alpine tar czf /backup/openwebui-backup.tar.gz /data
Архив появится в текущей папке. Храните копию отдельно от компьютера, на котором работает Open WebUI.
Нужен ли отдельный Qdrant
Для первого домашнего RAG — нет. Встроенное векторное хранилище Open WebUI проще, а его данные уже попадают в том open-webui. Qdrant, PGVector и другие внешние базы полезны при большой коллекции документов, нескольких экземплярах Open WebUI или специальных требованиях к поиску и масштабированию.
Добавлять внешний сервис «на будущее» не стоит: он усложняет сеть, резервное копирование и диагностику. Сначала добейтесь качественных ответов на небольшой базе, а затем решайте, действительно ли встроенного хранилища недостаточно.
Что важно знать о приватности
- не публикуйте порт 3000 в интернет без авторизации, HTTPS и настройки доступа;
- не включайте облачные модели и веб-поиск для конфиденциальных документов, если не понимаете, куда отправляются запросы;
- загруженные документы и чаты остаются в Docker volume, поэтому защищайте учётную запись компьютера и резервные копии;
- проверяйте лицензию выбранной модели перед коммерческим использованием;
- локальная работа не отменяет необходимость проверять ответы модели.
Частые вопросы
Можно ли запустить локальную LLM без видеокарты?
Да. Ollama работает на CPU, но медленнее. Начните с qwen3.5:2b или qwen3.5:4b и переходите на более крупную модель только после успешного теста.
Сохранятся ли чаты после перезагрузки?
Да, если используется том open-webui:/app/backend/data. Перезапуск контейнера или компьютера этот том не удаляет.
Будет ли новый чат помнить предыдущие разговоры?
Нет. История сохраняется для вас, но новый диалог не получает старые сообщения автоматически. Это отдельная функция, а не свойство сохранённого чата.
Можно ли работать полностью без интернета?
После загрузки образов, языковой модели и компонентов для эмбеддингов базовый чат и RAG могут работать офлайн. Внешний поиск и облачные инструменты потребуют интернет.
Нужно ли обучать модель на своих документах?
Для вопросов по документам обычно достаточно RAG. Он быстрее и проще fine-tuning: документы можно обновлять без повторного обучения модели.
Итоговая проверка
- Open WebUI открывается по адресу
http://localhost:3000; - модель видна в списке и отвечает;
- чат остаётся после команды
docker restart open-webui; - документ загружен в Workspace → Knowledge;
- модель находит факт в документе и признаёт отсутствие ответа;
- создана резервная копия чатов или всего тома.
На этом базовая локальная LLM с историей чатов и RAG готова. Не усложняйте систему раньше времени: сначала проверьте её на нескольких реальных документах, оцените скорость и качество, а затем выбирайте более крупную модель или внешнюю векторную базу.