docs-russian-readme-custom-build
This commit is contained in:
154
README_CUSTOM.md
Normal file
154
README_CUSTOM.md
Normal 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 при обновлениях
|
||||
|
||||
Reference in New Issue
Block a user