У цій інструкції розглянемо, як розгорнути локальну AI-модель через Ollama та Open WebUI, підключити модель для генерації тексту, налаштувати embeddings для бази знань і перевірити RAG на простому прикладі з прайс-листом серверів.
Таку схему можна використовувати як основу для внутрішнього AI-асистента компанії: наприклад, щоб менеджери швидше знаходили інформацію про асортимент, послуги, тарифи або технічну документацію.
Що знадобиться
Для встановлення потрібно:
Windows
Docker Desktop
WSL2
PowerShell
Ollama container
Open WebUI container
Бажано мати відеокарту NVIDIA, але для першого тесту моделі можна запускати й на CPU. GPU значно прискорює генерацію відповідей, особливо для моделей 7B і 14B.
1. Встановлення Docker Desktop
Спочатку встановіть Docker Desktop for Windows.
Після встановлення відкрийте Docker Desktop. У розділі Containers спочатку не буде запущених контейнерів.

2. Створення папки проєкту
Відкрийте PowerShell і створіть папку для локального AI-проєкту:
mkdir C:local-ai
cd C:local-ai
Створіть файл docker-compose.yml:
notepad docker-compose.yml
Вставте у файл конфігурацію:
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
ports:
- "127.0.0.1:11434:11434"
volumes:
- ollama_data:/root/.ollama
environment:
- OLLAMA_HOST=0.0.0.0:11434
- OLLAMA_KEEP_ALIVE=30m
restart: unless-stopped
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
- WEBUI_SECRET_KEY=change-this-secret-key
volumes:
- open_webui_data:/app/backend/data
restart: unless-stopped
volumes:
ollama_data:
open_webui_data:
Якщо планується використовувати NVIDIA GPU, можна додати GPU passthrough у сервіс ollama, але для базового тесту достатньо конфігурації вище.
3. Запуск Ollama та Open WebUI
Запустіть контейнери:
docker compose up -d
Docker завантажить образи:
ollama/ollama:latest
ghcr.io/open-webui/open-webui:main
Після завершення перевірте контейнери:
docker ps
Мають бути запущені два контейнери:
ollama
open-webui

4. Перевірка роботи Ollama
Перевірте, що Ollama відповідає локально:
curl http://127.0.0.1:11434
Очікувана відповідь:
Ollama is running

5. Вхід в Open WebUI
Відкрийте в браузері:
http://localhost:3000
Під час першого запуску Open WebUI запропонує створити адміністратора.
Заповніть:
Name
Email
Password
і натисніть Create Admin Account.
Після входу відкриється основний інтерфейс Open WebUI.

6. Завантаження основної моделі
Тепер потрібно завантажити модель, яка відповідатиме на запитання.
Для тесту можна використовувати:
docker exec -it ollama ollama pull qwen2.5:7b
Якщо ресурсів більше, можна використовувати більшу модель:
docker exec -it ollama ollama pull qwen2.5:14b
Перевірити список моделей:
docker exec -it ollama ollama list
7. Завантаження embedding-моделі для бази знань
Для роботи з документами та RAG потрібна embedding-модель. Вона перетворює текст документів у векторне представлення, щоб система могла шукати релевантні фрагменти.
Завантажте модель:
docker exec -it ollama ollama pull nomic-embed-text
Перевірте:
docker exec -it ollama ollama list
У списку має бути модель:
nomic-embed-text
8. Налаштування embeddings в Open WebUI
В Open WebUI перейдіть:
Admin Settings → Documents
У розділі Embedding вкажіть:
Embedding Model Engine: Ollama
Base URL: http://ollama:11434
Embedding Model: nomic-embed-text
Після цього натисніть Save.

Важливо: якщо документи були завантажені до зміни embedding-моделі, їх потрібно переіндексувати або завантажити заново.
9. Створення бази знань
Перейдіть у розділ:
Workspace → Knowledge
Створіть нову базу знань:
New Knowledge
Назва для прикладу:
Server Price List
Ця база використовуватиметься як тестове RAG-джерело. У неї можна завантажити прайс-лист серверів, опис послуг, FAQ або внутрішню інструкцію.

10. Завантаження файлу в Knowledge Base
Усередині колекції натисніть кнопку + і завантажте файл, наприклад:
Server Price List.txt
Приклад простого вмісту файлу:
Server Price List
GPU Server 1
Server ID: DED-START-GPU
GPU Model: NVIDIA Tesla K80
Monthly Price: $300
GPU Server 2
Server ID: DED-BUSINESS-GPU
GPU Model: NVIDIA Tesla T4
Monthly Price: $1500
Після завантаження файл має з’явитися всередині колекції.
Якщо всередині колекції написано:
No content found
це означає, що файл ще не завантажено. У такому разі RAG працювати не буде.

11. Поширена помилка: No sources found
Якщо в чаті модель відповідає:
No sources found
это означает, что Open WebUI не нашёл подходящие фрагменты в базе знаний.
це означає, що Open WebUI не знайшов відповідні фрагменти в базі знань.
Основні причини:
- колекцію створено, але всередині немає файлу;
- файл завантажено, але його ще не проіндексовано;
- після зміни embedding-моделі не було виконано reindex;
- Knowledge Base не підключена до поточного чату;
- запит занадто загальний або документ погано структурований.
У нашому тесті спочатку колекцію було створено, але всередині неї не було контенту. Тому Open WebUI не міг знайти джерела.
12. Підключення Knowledge Base до чату
Щоб використовувати базу знань у чаті, почніть повідомлення з # і виберіть потрібну колекцію.
Наприклад:
#Server Price List
Use only this knowledge base.
Find all GPU servers. Show server ID, GPU model and monthly price.
Якщо все працює правильно, Open WebUI покаже:
Retrieved 1 source
або:
Retrieved 2 sources
Це означає, що RAG знайшов фрагменти з бази знань і передав їх моделі.

13. Перевірка RAG на прикладі прайс-листа
Тестовий запит:
Use only this knowledge base.
Find all GPU servers. Show server ID, GPU model and monthly price.
Приклад результату:
Server ID: DED-START-GPU
GPU Model: NVIDIA Tesla K80
Monthly Price: $300
Server ID: DED-BUSINESS-GPU
GPU Model: NVIDIA Tesla T4
Monthly Price: $1500
Якщо у відповіді з’явилися конкретні сервери із завантаженого файлу, значить RAG працює.

14. Що робити, якщо RAG знаходить не той фрагмент
Іноді база знань підключена, але модель відповідає не так, як очікується. Наприклад, Open WebUI показує Retrieved 1 source, але у знайденому фрагменті немає потрібної інформації.
Це нормальна ситуація для RAG. Якість пошуку залежить від структури документа.
Щоб покращити результат:
- робіть зрозумілі заголовки;
- розділяйте різні категорії по окремих файлах;
- не завантажуйте занадто хаотичні документи;
- використовуйте точні назви послуг і серверів;
- збільште Top K у налаштуваннях Documents;
- після змін виконуйте reindex.
Наприклад, для серверів можна розділити базу так:
gpu-servers.md
streaming-servers.md
storage-servers.md
database-servers.md
vps-servers.md
Так моделі буде простіше знайти потрібний фрагмент.
Підсумок
У результаті ми отримали локального AI-асистента на базі:
Docker
Ollama
Open WebUI
Qwen
nomic-embed-text
Knowledge Base
RAG
Базова модель може відповідати на загальні запитання, але справжня користь з’являється після підключення бази знань. RAG дозволяє моделі відповідати не лише із загальних знань, а й на основі конкретних документів компанії.
Навіть простий приклад із прайс-листом серверів показує, як це можна використовувати на практиці: завантажити асортимент, підключити його до чату й отримувати відповіді щодо конкретних позицій, характеристик і цін.