docs-russian-readme-custom-build

This commit is contained in:
NW
2026-04-22 22:02:03 +01:00
parent 16190b3b0d
commit 8f0fb295df

154
README_CUSTOM.md Normal file
View File

@@ -0,0 +1,154 @@
# 🦾 Open WebUI — Кастомная сборка (open-webui-custom)
> **Версия:** 0.9.1 (на базе upstream v0.8.1 + dev-коммиты)
> **Репозиторий upstream:** [github.com/open-webui/open-webui](https://github.com/open-webui/open-webui)
> **Дата сборки:** 2026-04-22
---
## 📋 Что это такое
Это **форк Open WebUI** с нашими кастомными настройками развёртывания. Основной проект Open WebUI — это мощный веб-интерфейс для LLM-моделей (Ollama, OpenAI-совместимые API и др.), а наша сборка добавляет конфигурацию для конкретного сервера.
Все изменения вынесены в ветку custom, ветка main синхронизирована с upstream.
---
## 🔧 Наши изменения (ветка custom)
| Файл | Изменение |
|------|-----------|
| docker-compose.yaml | Bind mounts на /mnt/1TB/docker/, порт Ollama 11434 наружу, GPU-образ |
| docker-compose.override.yaml | 3 реплики Ollama + Nginx reverse proxy для балансировки |
| nginx.conf | Upstream-балансировщик между инстансами Ollama |
| MOK.crt/der/key | Ключи MOK для Secure Boot |
---
## 🚀 Возможности Open WebUI v0.9.1
### 💬 Чат и коммуникации
- **Мульти-модельный чат** - одновременная работа с несколькими LLM-моделями, сравнение ответов
- **Очередь сообщений** - можно писать сообщения пока идет генерация
- **Каналы (Channels)** - групповые чаты с уведомлениями и моделями
- **Общие чаты (Shared chats)** - деление чатами и управление доступом
- **Временные чаты** - без сохранения истории
- **Ветки диалогов** - ответвление от любой точки разговора
### 🧠 RAG и база знаний
- **Knowledge Base** - загрузка документов (PDF, DOCX, CSV, TXT, MD, HTML, JSON, изображения)
- **Автоматический RAG** - модели сами решают, когда обратиться к базе знаний
- **Векторные БД** - ChromaDB, Milvus, Qdrant, OpenSearch, pgvector, Weaviate, ElasticSearch
- **Конфигурируемый чанкинг** - PDF: страницы или единый документ
### 🔧 Инструменты и интеграции (Tools and Functions)
- **Tools** - Python-функции, вызываемые моделью в чате
- **Functions** - Filter (пре-пост обработка), Pipe (пайплайны), Action (действия)
- **Pipelines API** - серверные пайплайны: rate-limiting, moderation, routing
- **MCP (Model Context Protocol)** - внешние tool-серверы с OAuth 2.1
- **OpenAPI Import** - импорт REST API как инструментов чата
- **Function Calling** - модели вызывают Python-код и API напрямую
- **Web Search** - Google, Bing, DuckDuckGo, SearxNG, Brave, Kagi, Yandex
### 🎯 Skills (Навыки) - экспериментальная функция v0.9.1
- Переиспользуемые инструкции, вызов через $ в чате
- Привязка к конкретным моделям для автоматического контекста
### 📊 Аналитика
- Dashboard - статистика использования, токены, рейтинг пользователей
- Фильтрация по группам, история фидбека по моделям
### 🛡️ Управление доступом
- **Access Grants** - права чтения/записи для групп и пользователей
- **SCIM** - интеграция с Microsoft Entra ID и Okta
- **OAuth 2.0** - Google, Microsoft, GitHub, OIDC + Token Exchange
- **LDAP** - аутентификация через Active Directory
- **Trusted Header Auth** - аутентификация через reverse proxy
- **API-ключи** - доступ к API с правами админа или пользователя
### 🗣️ Голос и аудио
- Speech-to-Text (Whisper, OpenAI API)
- Text-to-Speech (ElevenLabs, OpenAI TTS, локальные модели)
### ⚡ Производительность
- 34% быстрее аутентификация
- Sub-second Time-To-First-Token с кешированием
- Асинхронные операции (Pipeline, Web Search, Эмбеддинги)
- Batch-запросы в 4-5 раз быстрее
- Redis Sentinel для кластеризации
---
## 🔄 Интеграция с пайплайнами и мультиагентными системами
### Что возможно из коробки
| Возможность | Описание | Статус |
|-------------|----------|--------|
| Pipelines API | Серверные пайплайны: rate-limiting, moderation, routing | ✅ |
| Filter Functions | Пре/пост-обработка сообщений | ✅ |
| Pipe Functions | Маршрутизация запросов к разным моделям/провайдерам | ✅ |
| MCP Protocol | Внешние tool-серверы с авторизацией | ✅ |
| OpenAPI Import | Импорт REST API как инструментов | ✅ |
| Function Calling | Модели вызывают Python-код и API | ✅ |
| Skills | Переиспользуемые инструкции для моделей | ⚠️ Экспериментально |
| Event Emitters | Внешние инструменты отправляют события в чат | ✅ |
### Как интегрировать свои пайплайны
3 уровня интеграции:
1. **Functions (Python)** - встраиваются в UI, пишутся прямо в админке
2. **Pipelines** - отдельные серверы-посредники (Lua, JS, Python)
3. **MCP + OpenAPI** - подключение внешних сервисов как инструментов чата
### Интеграция с мультиагентной системой
Open WebUI = фронтенд для мультиагентной системы:
Пользователь -> Open WebUI -> Pipe Function -> Pipeline -> Агенты -> Модели
|
Event Emitters -> Чат UI
Ключевые точки:
- **Pipe Function** - перехватывает запрос и направляет в Pipeline Runner
- **MCP Server** - экспортирует агентов как инструменты (task delegation, code review)
- **Event Emitters** - агент шлёт промежуточные статусы в чат
- **Skills** - привязка инструкций к конкретной модели
- **Knowledge Base** - загрузка документации в векторную БД
---
## 📁 Структура деплоя
/mnt/1TB/docker/
+-- ollama/ # Данные Ollama (модели)
+-- open-webui/ # Данные Open WebUI (БД, загрузки)
/root/open-webui/
+-- docker-compose.yaml # Основной (наш)
+-- docker-compose.gpu.yaml # GPU-профиль (upstream)
+-- docker-compose.override.yaml # Наш: реплики + nginx
+-- nginx.conf # Балансировщик Ollama
+-- MOK.* # Ключи Secure Boot
+-- dump/ # SQL-дампы
---
## 🐛 Исправленные баги в нашей сборке
| Баг | Описание |
|-----|----------|
| No module aiosqlite | Добавлен aiosqlite в pyproject.toml |
| No module asyncpg | Добавлен asyncpg для PostgreSQL |
| no such table: calendar_event | Исправлена Alembic-миграция (версия head != реальная схема) |
---
## ⚠️ Важно
- Бэкапы БД перед каждым обновлением: /mnt/1TB/docker/open-webui/webui.db
- Проверяйте alembic_version перед запуском новой версии
- Ветка main - чистый upstream, не модифицировать
- Ветка custom - наши изменения, merge с main при обновлениях