# Open WebUI

Красивый интерфейс, похожий на ChatGPT, для запуска крупных языковых моделей на GPU CLORE.AI.

{% hint style="success" %}
Все примеры можно запускать на GPU-серверах, арендуемых через [CLORE.AI Marketplace](https://clore.ai/marketplace).
{% endhint %}

## Почему Open WebUI?

* **Интерфейс в стиле ChatGPT** - Знакомый, отшлифованный интерфейс
* **Много моделей** - Легко переключаться между моделями
* **Встроенный RAG** - Загружайте документы для контекста
* **Управление пользователями** - Поддержка нескольких пользователей
* **История** - Сохранение переписок
* **Интеграция с Ollama** - Работает из коробки

## Быстрое развертывание на CLORE.AI

**Docker-образ:**

```
ghcr.io/open-webui/open-webui:cuda
```

**Порты:**

```
22/tcp
8080/http
```

**Команда:**

```bash
# Запустить Ollama в фоновом режиме
ollama serve &
sleep 5
ollama pull llama3.2

# Запустить Open WebUI (подключается к Ollama автоматически)
# Примечание: Docker-образ обрабатывает это
```

## Доступ к вашему сервису

После развертывания найдите ваш `http_pub` URL в **Моих заказах**:

1. Перейдите на **Моих заказах** страницу
2. Нажмите на ваш заказ
3. Найдите `http_pub` URL (например, `abc123.clorecloud.net`)

Используйте `https://YOUR_HTTP_PUB_URL` вместо `localhost` в примерах ниже.

### Проверьте, что всё работает

```bash
# Проверить состояние
curl https://your-http-pub.clorecloud.net/health

# Получить версию
curl https://your-http-pub.clorecloud.net/api/version
```

Ответ:

```json
{"version": "0.7.2"}
```

{% hint style="warning" %}
Если вы получаете HTTP 502, подождите 1–2 минуты — сервис ещё запускается.
{% endhint %}

## Установка

### С Ollama (рекомендуется)

```bash
# Сначала запустите Ollama
docker run -d --gpus all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

# Загрузить модель
docker exec -it ollama ollama pull llama3.2

# Запустить Open WebUI
docker run -d -p 8080: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
```

### Всё в одном (включённый Ollama)

```bash
docker run -d -p 8080:8080 \
  --gpus all \
  -v ollama:/root/.ollama \
  -v open-webui:/app/backend/data \
  --name open-webui \
  ghcr.io/open-webui/open-webui:ollama
```

## Первоначальная настройка

1. Откройте `http://your-server:8080`
2. Создайте аккаунт администратора (первый пользователь становится администратором)
3. Перейдите в Настройки → Модели → Загрузить модель
4. Начните общаться!

## Функции

### Интерфейс чата

* Отображение Markdown
* Подсветка кода
* Генерация изображений (с совместимыми моделями)
* Голосовой ввод/вывод
* Вложения файлов

### Управление моделями

* Загружать модели прямо из интерфейса
* Создавать пользовательские модели
* Установить модель по умолчанию
* Настройки для конкретных моделей

### RAG (чат по документам)

1. Нажмите "+" в чате
2. Загрузите PDF, TXT или другие документы
3. Задавайте вопросы о содержимом

### Управление пользователями

* Несколько пользователей
* Доступ на основе ролей
* Управление API-ключами
* Отслеживание использования

## Конфигурация

### Переменные окружения

```bash
docker run -d \
  -e OLLAMA_BASE_URL=http://ollama:11434 \
  -e WEBUI_AUTH=True \
  -e WEBUI_NAME="My AI Chat" \
  -e DEFAULT_MODELS="llama3.2" \
  ghcr.io/open-webui/open-webui:main
```

### Ключевые настройки

| Переменная              | Описание                | По умолчанию             |
| ----------------------- | ----------------------- | ------------------------ |
| `OLLAMA_BASE_URL`       | URL API Ollama          | `http://localhost:11434` |
| `WEBUI_AUTH`            | Включить аутентификацию | `True`                   |
| `WEBUI_NAME`            | Название инстанса       | `Открыть WebUI`          |
| `DEFAULT_MODELS`        | Модель по умолчанию     | -                        |
| `ENABLE_RAG_WEB_SEARCH` | Веб-поиск в RAG         | `False`                  |

### Подключение к удалённому Ollama

```bash
docker run -d -p 8080:8080 \
  -e OLLAMA_BASE_URL=http://remote-server:11434 \
  ghcr.io/open-webui/open-webui:main
```

## Docker Compose

```yaml
version: '3.8'

services:
  ollama:
    image: ollama/ollama
    container_name: ollama
    volumes:
      - ollama:/root/.ollama
    ports:
      - "11434:11434"
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    volumes:
      - open-webui:/app/backend/data
    ports:
      - "8080:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    depends_on:
      - ollama

volumes:
  ollama:
  open-webui:
```

```bash
docker-compose up -d
```

## Справочник API

Open WebUI предоставляет несколько API-эндпоинтов:

| Эндпоинт           | Метод | Описание                             |
| ------------------ | ----- | ------------------------------------ |
| `/health`          | GET   | Проверка состояния                   |
| `/api/version`     | GET   | Получить версию Open WebUI           |
| `/api/config`      | GET   | Получить конфигурацию                |
| `/ollama/api/tags` | GET   | Список моделей Ollama (через прокси) |
| `/ollama/api/chat` | POST  | Чат с Ollama (через прокси)          |

### Проверить состояние

```bash
curl https://your-http-pub.clorecloud.net/health
```

Ответ: `true`

### Получить версию

```bash
curl https://your-http-pub.clorecloud.net/api/version
```

Ответ:

```json
{"version": "0.7.2"}
```

### Список моделей (через прокси Ollama)

```bash
curl https://your-http-pub.clorecloud.net/ollama/api/tags
```

{% hint style="info" %}
Большинство операций с API требуют аутентификации. Используйте веб-интерфейс, чтобы создать аккаунт и управлять API-ключами.
{% endhint %}

## Советы

### Более быстрые ответы

1. Используйте квантизированные модели (Q4\_K\_M)
2. Включите стриминг в настройках
3. При необходимости уменьшите длину контекста

### Лучшее качество

1. Используйте более крупные модели (13B+)
2. Используйте квантизацию Q8
3. Отрегулируйте температуру в настройках модели

### Экономия ресурсов

1. Установите `OLLAMA_KEEP_ALIVE=5m`
2. Выгружайте неиспользуемые модели
3. Используйте меньшие модели для тестирования

## Требования к GPU

То же, что и [Ollama](/guides/guides_v2-ru/yazykovye-modeli/ollama.md#gpu-requirements).

Сам Open WebUI использует минимальные ресурсы (\~500 МБ ОЗУ).

## Устранение неполадок

### Не удаётся подключиться к Ollama

```bash
# Проверьте, что Ollama запущен
curl http://localhost:11434/api/tags

# Если используете Docker, используйте сетевую опцию host или правильный URL
docker run --network=host ghcr.io/open-webui/open-webui:main
```

### Модели не отображаются

1. Проверьте подключение к Ollama в настройках
2. Обновите список моделей
3. Скачайте модели через CLI: `ollama pull modelname`

### Медленная работа

1. Проверьте, используется ли GPU: `nvidia-smi`
2. Попробуйте меньшие/квантизированные модели
3. Уменьшите число одновременных пользователей

## Оценка стоимости

| Настройка           | GPU      | Ежечасно |
| ------------------- | -------- | -------- |
| Базовая (7B)        | RTX 3060 | \~$0.03  |
| Стандартная (13B)   | RTX 3090 | \~$0.06  |
| Продвинутая (34B)   | RTX 4090 | \~$0.10  |
| Корпоративная (70B) | A100     | \~$0.17  |

## Дальнейшие шаги

* [Ollama](/guides/guides_v2-ru/yazykovye-modeli/ollama.md) - Использование CLI
* [LocalAI](/guides/guides_v2-ru/yazykovye-modeli/localai-openai-compatible.md) - Больше бэкендов
* [RAG + LangChain](/guides/guides_v2-ru/obuchenie/finetune-llm.md) - Продвинутый RAG


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-ru/yazykovye-modeli/open-webui.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
