Локальный AI-стек: Ollama + Open WebUI + RAG за один вечер
Пошаговый гайд по запуску приватного AI-ассистента с RAG на локальной машине: Ollama, Open WebUI, ChromaDB — без облаков и API-ключей.
Представьте: вы задаёте вопрос своему AI-ассистенту, загружаете корпоративный PDF — и он отвечает точно по документу. Без отправки данных в OpenAI. Без подписок. Без утечек. Всё крутится на вашем железе.
Это не фантастика 2030 года — это реально собирается сегодня вечером. Ollama как движок для запуска LLM, Open WebUI как красивый интерфейс, RAG как механизм работы с вашими документами. Три компонента — один работающий стек. Поехали.
Что такое этот стек и зачем он вам нужен
Прежде чем лезть в терминал, разберёмся с архитектурой.
graph LR
U[Пользователь] --> W[Open WebUI]
W --> O[Ollama API]
O --> M[LLM модель]
W --> R[RAG Pipeline]
R --> C[ChromaDB]
C --> E[Embedding модель]
D[Ваши документы PDF/TXT] --> R
Ollama — это локальный сервер для запуска open-source языковых моделей. Думайте о нём как об «OpenAI API, только на вашем ноутбуке». По состоянию на Q1 2026 Ollama скачивают 52 миллиона раз в месяц — это уже не экспериментальный инструмент, это стандарт индустрии для локального AI.
Open WebUI — браузерный интерфейс поверх Ollama. Даёт вам историю чатов, переключение между моделями, загрузку документов, мультипользовательский режим и встроенный RAG-пайплайн с ChromaDB.
RAG (Retrieval-Augmented Generation) — технология, которая позволяет модели отвечать на вопросы по вашим документам. Вы загружаете PDF, система нарезает его на чанки, превращает в эмбеддинги и кладёт в векторную базу. При вопросе — достаёт релевантные куски и отдаёт модели как контекст.
Для 80% повседневных AI-задач — черновики, суммаризация, анализ документов, код — локальный стек бесплатен, приватен и полностью под вашим контролем.
Требования к железу
| Конфигурация | RAM | GPU VRAM | Что запустите |
|---|---|---|---|
| Минимум (только CPU) | 8 ГБ | — | Модели до 3B (медленно) |
| Комфортная | 16 ГБ | 8 ГБ | 7B модели (Llama 3.1 8B, Gemma 3 9B) |
| Продвинутая | 32 ГБ | 16+ ГБ | 13B–27B модели |
| Топ | 64+ ГБ | 24+ ГБ | 70B модели |
Шаг 1: Устанавливаем Ollama
macOS / Linux
curl -fsSL https://ollama.com/install.sh | sh
После установки сервис стартует автоматически на http://localhost:11434.
Windows
Скачайте установщик с ollama.com и запустите. Ollama встаёт как системный сервис.
Проверяем, что всё работает
ollama --version
# ollama version is 0.x.x
curl http://localhost:11434/api/version
# {"version":"0.x.x"}
Скачиваем модели
Теперь нужно подтянуть модели. Вот что стоит поставить в первую очередь:
# Основная модель для чата (7B, ~4.7 ГБ, нужно 8+ ГБ VRAM или 16 ГБ RAM)
ollama pull llama3.1
# Компактная и быстрая альтернатива от Google (9B, мультимодальная, 128K контекст)
ollama pull gemma3
# Embedding-модель для RAG — ОБЯЗАТЕЛЬНО
ollama pull nomic-embed-text
Шаг 2: Запускаем Open WebUI
Самый простой способ — Docker. Если Docker не стоит, установите его с docs.docker.com.
Для тех, у кого есть GPU (NVIDIA)
docker run -d \
-p 3000:8080 \
--gpus all \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:cuda
Для CPU / macOS / прочих
docker run -d \
-p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
Флаг --add-host=host.docker.internal:host-gateway нужен, чтобы контейнер достучался до Ollama, которая работает на хосте.
Проверяем
Откройте браузер: http://localhost:3000
При первом запуске Open WebUI попросит создать аккаунт — это локальный аккаунт, никуда не отправляется. Заполните и войдите.
http://host.docker.internal:11434. Для Linux может потребоваться http://172.17.0.1:11434.Шаг 3: Настраиваем RAG
Вот где начинается настоящая магия. Open WebUI поставляется с встроенным RAG-пайплайном на базе ChromaDB — векторная база поднимается автоматически, ничего дополнительно настраивать не нужно.
Подключаем embedding-модель
- Зайдите в Admin Panel → Settings → Documents
- В поле Embedding Model Engine выберите Ollama
- В поле Embedding Model введите
nomic-embed-text - Нажмите Save
Именно nomic-embed-text превращает текст ваших документов в векторы для поиска. Без этой модели RAG работать не будет.
Тонкая настройка RAG
| Параметр | Значение по умолчанию | Рекомендация |
|---|---|---|
| Chunk Size | 1500 токенов | 1500 для тех. документов, 500 для юр. текстов |
| Chunk Overlap | 100 токенов | 10–15% от chunk size |
| Top K | 5 чанков | 5–10 для длинных документов |
| RAG Template | системный | можно кастомизировать |
Шаг 4: Работаем с документами
Теперь самое интересное — загружаем документы и разговариваем с ними.
Быстрый способ: загрузка в чат
- Откройте новый чат в Open WebUI
- Нажмите иконку
+рядом с полем ввода - Выберите файл (PDF, DOCX, TXT, MD — поддерживаются все основные форматы)
- Задавайте вопросы
Open WebUI сам нарежет документ на чанки, создаст эмбеддинги и при каждом вопросе будет доставать релевантные куски.
Постоянная база знаний
Для регулярно используемых документов есть Knowledge Base:
- Перейдите в Workspace → Knowledge
- Создайте коллекцию (например, «Рабочие документы»)
- Загрузите файлы
- При создании чата выберите эту коллекцию как источник
Это особенно удобно для корпоративных баз знаний, технической документации или личных заметок.
# Если хотите добавить документы скриптом через API:
curl -X POST http://localhost:3000/api/v1/knowledge \
-H "Authorization: Bearer YOUR_TOKEN" \
-F "file=@/path/to/document.pdf"
Шаг 5: Продвинутый вариант — Docker Compose
Для стабильной работы и удобного управления лучше описать всё в docker-compose.yml:
version: "3.8"
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
volumes:
- ollama_data:/root/.ollama
ports:
- "11434:11434"
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
depends_on:
- ollama
ports:
- "3000:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434
- RAG_EMBEDDING_ENGINE=ollama
- RAG_EMBEDDING_MODEL=nomic-embed-text
- WEBUI_SECRET_KEY=your-secret-key-here
volumes:
- open_webui_data:/app/backend/data
restart: unless-stopped
volumes:
ollama_data:
open_webui_data:
# Запуск
docker compose up -d
# Скачать модели после запуска
docker exec ollama ollama pull llama3.1
docker exec ollama ollama pull nomic-embed-text
your-secret-key-here на случайную строку (например, результат openssl rand -hex 32). Это нужно для безопасности JWT-токенов сессий.Что дальше: расширяем стек
Базовый стек работает — теперь можно двигаться дальше.
Внешние векторные базы данных — Open WebUI поддерживает 9 vector DB, включая Qdrant, Milvus, Weaviate, Elasticsearch. Если документов становится много тысяч — пора переходить на специализированное хранилище.
Другие модели — попробуйте qwen2.5 для многоязычных задач, deepseek-r1 для логических рассуждений, llava для работы с изображениями (мультимодальный RAG).
MCP-серверы — Open WebUI поддерживает MCP (Model Context Protocol), что позволяет подключить внешние инструменты: поиск в интернете, работу с календарём, доступ к базам данных.
Автоматизация — через API Open WebUI можно строить собственные пайплайны: автоматическую обработку входящих документов, периодическое обновление базы знаний, интеграцию с корпоративными системами.
Итог
За один вечер вы получаете полноценный AI-стек:
- Приватность: никаких данных в облако, всё на вашем железе
- Бесплатность: нет ежемесячных подписок, нет платы за токены
- Гибкость: любые open-source модели, любые документы, любые интеграции
- RAG из коробки: ChromaDB + nomic-embed-text настраиваются за 5 минут
Да, GPT-4o или Claude Opus умнее лучших open-source моделей на вашем железе. Но для большинства повседневных задач — анализа документов, ответов на вопросы по базе знаний, черновиков, объяснения кода — локальный стек справляется отлично. И делает это бесплатно, без отправки ваших данных куда-либо.
Попробуйте загрузить любой рабочий PDF и задать по нему вопрос. Скорее всего, вы будете приятно удивлены.
Источники
- https://dev.to/jangwook_kim_e31e7291ad98/ollama-open-webui-self-hosting-guide-2026-run-your-own-ai-for-0-2781
- https://docs.openwebui.com/getting-started/quick-start/
- https://docs.openwebui.com/troubleshooting/rag/
- https://localllm.in/blog/ollama-vram-requirements-for-local-llms
- https://github.com/open-webui/open-webui