У цій інструкції розглянемо, як розгорнути локальну 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 спочатку не буде запущених контейнерів.

Встановлення та первинне налаштування Ollama + Open WebUI для локального AI-асистента - Image 1

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

Встановлення та первинне налаштування Ollama + Open WebUI для локального AI-асистента - Image 2 Встановлення та первинне налаштування Ollama + Open WebUI для локального AI-асистента - Image 3 Встановлення та первинне налаштування Ollama + Open WebUI для локального AI-асистента - Image 4

4. Перевірка роботи Ollama

Перевірте, що Ollama відповідає локально:

curl http://127.0.0.1:11434

Очікувана відповідь:

Ollama is running

Встановлення та первинне налаштування Ollama + Open WebUI для локального AI-асистента - Image 5

5. Вхід в Open WebUI

Відкрийте в браузері:

http://localhost:3000

Під час першого запуску Open WebUI запропонує створити адміністратора.

Заповніть:

Name
Email
Password

і натисніть Create Admin Account.

Після входу відкриється основний інтерфейс Open WebUI.

Встановлення та первинне налаштування Ollama + Open WebUI для локального AI-асистента - Image 6 Встановлення та первинне налаштування Ollama + Open WebUI для локального AI-асистента - Image 7

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

Після цього модель з’явиться в Open WebUI у списку доступних моделей.

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.

Встановлення та первинне налаштування Ollama + Open WebUI для локального AI-асистента - Image 8

Важливо: якщо документи були завантажені до зміни embedding-моделі, їх потрібно переіндексувати або завантажити заново.

9. Створення бази знань

Перейдіть у розділ:

Workspace → Knowledge

Створіть нову базу знань:

New Knowledge

Назва для прикладу:

Server Price List

Ця база використовуватиметься як тестове RAG-джерело. У неї можна завантажити прайс-лист серверів, опис послуг, FAQ або внутрішню інструкцію.

Встановлення та первинне налаштування Ollama + Open WebUI для локального AI-асистента - Image 9

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 працювати не буде.

Встановлення та первинне налаштування Ollama + Open WebUI для локального AI-асистента - Image 10

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 знайшов фрагменти з бази знань і передав їх моделі.

Встановлення та первинне налаштування Ollama + Open WebUI для локального AI-асистента - Image 11

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 працює.

Встановлення та первинне налаштування Ollama + Open WebUI для локального AI-асистента - Image 12

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 дозволяє моделі відповідати не лише із загальних знань, а й на основі конкретних документів компанії.

Навіть простий приклад із прайс-листом серверів показує, як це можна використовувати на практиці: завантажити асортимент, підключити його до чату й отримувати відповіді щодо конкретних позицій, характеристик і цін.