Представьте: вы задаёте вопрос своему 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-задач — черновики, суммаризация, анализ документов, код — локальный стек бесплатен, приватен и полностью под вашим контролем.

Требования к железу

КонфигурацияRAMGPU VRAMЧто запустите
Минимум (только CPU)8 ГБМодели до 3B (медленно)
Комфортная16 ГБ8 ГБ7B модели (Llama 3.1 8B, Gemma 3 9B)
Продвинутая32 ГБ16+ ГБ13B–27B модели
Топ64+ ГБ24+ ГБ70B модели
ℹ Без GPU тоже работает
Ollama запускается и на чистом CPU — просто медленнее. На MacBook с Apple Silicon (M1/M2/M3/M4) всё летает благодаря унифицированной памяти: Metal-ускорение включается автоматически.

Шаг 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
💡 Какую модель выбрать?
Для большинства задач Llama 3.1 8B — оптимальный выбор: хорошо понимает русский, работает на 8 ГБ VRAM. Если хотите что-то компактнее — Gemma 3 4B займёт всего ~2.5 ГБ. Для кода — попробуйте qwen2.5-coder.

Шаг 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 попросит создать аккаунт — это локальный аккаунт, никуда не отправляется. Заполните и войдите.

⚠ Ollama не видна в интерфейсе?
Если в Open WebUI нет списка моделей, зайдите в Settings → Connections → Ollama API и проверьте URL. Для Docker-окружения правильный адрес: http://host.docker.internal:11434. Для Linux может потребоваться http://172.17.0.1:11434.

Шаг 3: Настраиваем RAG

Вот где начинается настоящая магия. Open WebUI поставляется с встроенным RAG-пайплайном на базе ChromaDB — векторная база поднимается автоматически, ничего дополнительно настраивать не нужно.

Подключаем embedding-модель

  1. Зайдите в Admin Panel → Settings → Documents
  2. В поле Embedding Model Engine выберите Ollama
  3. В поле Embedding Model введите nomic-embed-text
  4. Нажмите Save

Именно nomic-embed-text превращает текст ваших документов в векторы для поиска. Без этой модели RAG работать не будет.

Тонкая настройка RAG

ПараметрЗначение по умолчаниюРекомендация
Chunk Size1500 токенов1500 для тех. документов, 500 для юр. текстов
Chunk Overlap100 токенов10–15% от chunk size
Top K5 чанков5–10 для длинных документов
RAG Templateсистемныйможно кастомизировать
📝 Пример конфига для технических документов
Chunk Size: 1500 / Overlap: 200 / Top K: 5 — хорошо работает для документации, инструкций, научных статей. Для коротких юридических или финансовых документов уменьшите Chunk Size до 500 и увеличьте Top K до 10.

Шаг 4: Работаем с документами

Теперь самое интересное — загружаем документы и разговариваем с ними.

Быстрый способ: загрузка в чат

  1. Откройте новый чат в Open WebUI
  2. Нажмите иконку + рядом с полем ввода
  3. Выберите файл (PDF, DOCX, TXT, MD — поддерживаются все основные форматы)
  4. Задавайте вопросы

Open WebUI сам нарежет документ на чанки, создаст эмбеддинги и при каждом вопросе будет доставать релевантные куски.

Постоянная база знаний

Для регулярно используемых документов есть Knowledge Base:

  1. Перейдите в Workspace → Knowledge
  2. Создайте коллекцию (например, «Рабочие документы»)
  3. Загрузите файлы
  4. При создании чата выберите эту коллекцию как источник

Это особенно удобно для корпоративных баз знаний, технической документации или личных заметок.

# Если хотите добавить документы скриптом через 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 и задать по нему вопрос. Скорее всего, вы будете приятно удивлены.