Хостинг Onyx: руководство по запуску AI‑платформы

Как самостоятельно хостить Onyx — open-source AI-платформу для чат-ботов. Полное руководство по настройке с любым LLM для вашего homelab.

Не указано
Алексей Кузнецов
Алексей Кузнецов
Системный администратор19 апреля 2026 г.

Подготовка системы

Установка Docker и Docker Compose на вашем сервере или компьютере

# Для Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl wget software-properties-common apt-transport-https

# Установка Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# Установка Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Клонирование репозитория Onyx

Скачивание исходного кода Onyx с GitHub

mkdir onyx-installation
cd onyx-installation
git clone https://github.com/onyx-platform/onyx.git
cd onyx

Настройка конфигурации

Настройка параметров конфигурации Onyx для вашей системы

cp config.example.yml config.yml
nano config.yml

Создание необходимых директорий

Подготовка структуры каталогов для моделей, данных и логов

mkdir -p models data logs

Запуск платформы

Запуск Onyx с помощью Docker Compose в фоновом режиме

docker-compose up -d

Проверка работы

Проверка правильности установки и доступности интерфейса

# Просмотр логов
docker-compose logs -f

# Проверка доступности веб-интерфейса
curl http://localhost:8080

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

Регистрация первого пользователя и настройка моделей

1. Откройте http://localhost:8080 в браузере
2. Зарегистрируйте первого пользователя с правами администратора
3. Настройте подключение к LLM-провайдерам (если используете облачные модели)
4. Загрузите локальные модели (если планируете их использовать)
5. Настройте политики безопасности и доступа

Как самостоятельно хостить Onyx: Полное руководство по запуску open-source AI платформы

Введение в Onyx - Что это и почему стоит самостоятельно хостить

Onyx — это мощная open-source платформа для запуска и управления собственными моделями искусственного интеллекта. Она предоставляет удобный интерфейс для взаимодействия с различными языковыми моделями (LLМ), что позволяет пользователям создавать собственные чат-боты, аналитические системы и другие приложения на базе ИИ.

Самостоятельный хостинг Onyx открывает перед пользователями несколько преимуществ:

  1. Полный контроль над данными — все запросы и ответы обрабатываются на вашем собственном сервере, без передачи сторонним сервисам.
  2. Гибкость в выборе моделей — возможность использовать как локальные модели, так и интегрировать облачные API.
  3. Экономическая эффективность — после первоначальной настройки эксплуатационные расходы минимальны.
  4. Обучение и эксперименты — идеальная среда для изучения возможностей ИИ без ограничений платных сервисов.
  5. Масштабируемость — платформа может расти вместе с вашими потребностями.

Onyx особенно полезен для разработчиков, исследователей и компаний, которые хотят использовать ИИ-функции, но обеспокоены вопросами конфиденциальности данных или хотят избежать зависимости от внешних поставщиков.

Системные требования для хостинга Onyx

Минимальные требования

  • Процессор: 4 ядра, частота не менее 2.0 ГГц
  • Оперативная память: 8 ГБ RAM
  • Диск: 50 ГБ свободного пространства (SSD предпочтительнее)
  • Операционная система: Ubuntu 20.04/22.04, CentOS 8, или Windows 10/11
  • Интернет: стабильное подключение со скоростью не менее 10 Мбит/с
  • Дополнительное ПО: Docker, Docker Compose, Python 3.8+

Рекомендуемые требования

  • Процессор: 8 ядер, частота не менее 2.5 ГГц
  • Оперативная память: 16 ГБ RAM (32 ГБ для работы с большими моделями)
  • Диск: 100 ГБ свободного пространства (NVMe SSD)
  • Операционная система: Ubuntu 22.04 (рекомендуется)
  • Интернет: выделенная линия со скоростью 100 Мбит/с
  • Дополнительное ПО: последняя версия Docker и Docker Compose

Для использования локальных моделей дополнительно требуются:

  • GPU с поддержкой CUDA (для ускорения вычислений)
  • Дополнительная видеопамять: минимум 8 ГБ для средних моделей, 16 ГБ+ для крупных

Требования для хостинга в облаке

При использовании облачных провайдеров (Yandex Cloud, VK Cloud, Selectel) рекомендуется выбирать инстансы с:

  • Минимум 4 vCPU
  • 16 ГБ RAM
  • 100 ГБ SSD-диска
  • Публичным IP-адресом

Пошаговое руководство по установке

Шаг 1: Подготовка системы

Для Linux (Ubuntu/Debian):

# Обновление системы
sudo apt update && sudo apt upgrade -y

# Установка необходимых пакетов
sudo apt install -y git curl wget software-properties-common apt-transport-https

# Установка Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# Установка Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Для CentOS/RHEL:

# Установка необходимых пакетов
sudo yum install -y git curl wget

# Установка Docker
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io

# Запуск Docker
sudo systemctl start docker
sudo systemctl enable docker

# Установка Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Для Windows:

  1. Скачайте Docker Desktop с официального сайта
  2. Установите его с настройками по умолчанию
  3. Перезагрузите компьютер после установки

Шаг 2: Клонирование репозитория Onyx

# Создание директории для проекта
mkdir onyx-installation
cd onyx-installation

# Клонирование репозитория
git clone https://github.com/onyx-platform/onyx.git
cd onyx

Шаг 3: Настройка конфигурации

Скопируйте файл конфигурации и внесите необходимые изменения:

cp config.example.yml config.yml
nano config.yml

Основные параметры, которые стоит изменить:

# Настройки базы данных
database:
  type: postgresql  # или sqlite для тестирования
  host: localhost
  port: 5432
  username: onyx_user
  password: your_secure_password
  database: onyx_db

# Настройки веб-интерфейса
web:
  host: 0.0.0.0  # слушать на всех интерфейсах
  port: 8080
  secret_key: your_secret_key_here

# Настройки моделей
models:
  default: gpt-3.5-turbo  # или локальная модель
  local_models:
    - path: /models/llama-2-7b
      name: LLaMA-2-7B
    - path: /models/mistral-7b
      name: Mistral-7B

# Настройки безопасности
security:
  enable_https: false  # можно включить и настроить SSL
  allowed_hosts:
    - "localhost"
    - "127.0.0.1"
    - "192.168.1.100"  # ваш IP в локальной сети

Шаг 4: Запуск платформы

Выполните следующие команды для запуска Onyx:

# Создание необходимых директорий
mkdir -p models data logs

# Запуск через Docker Compose
docker-compose up -d

Первый запуск может занять несколько минут, так как Docker скачивает необходимые образы и настраивает окружение.

Шаг 5: Проверка работы

После завершения установки проверьте работу платформы:

# Просмотр логов
docker-compose logs -f

# Проверка доступности веб-интерфейса
curl http://localhost:8080

Откройте в браузере http://localhost:8080 (или IP-адрес вашего сервера). Вы должны увидеть интерфейс Onyx.

Шаг 6: Первоначальная настройка

  1. Зарегистрируйте первого пользователя с правами администратора
  2. Настройте подключение к LLM-провайдерам (если используете облачные модели)
  3. Загрузите локальные модели (если планируете их использовать)
  4. Настройте политики безопасности и доступа

Опции настройки и кастомизации

Onyx предоставляет множество возможностей для настройки и кастомизации платформы под ваши нужды.

Конфигурация веб-интерфейса

В файле config.yml можно настроить внешний вид и поведение веб-интерфейса:

web:
  theme: dark  # light или dark
  language: ru  # код языка
  items_per_page: 20
  max_upload_size: 100  # МБ
  enable_api: true
  api_key: your_api_key_here

Настройка моделей

Onyx поддерживает различные типы моделей:

models:
  # Облачные модели через API
  cloud_models:
    openai:
      api_key: sk-your-openai-key
      models:
        - gpt-3.5-turbo
        - gpt-4
    
    anthropic:
      api_key: your-anthropic-key
      models:
        - claude-2
        - claude-instant-1
    
    yandexgpt:
      api_key: your-yandex-key
      folder_id: your-folder-id
      models:
        - yandexgpt-lite
        - yandexgpt
  
  # Локальные модели
  local_models:
    - name: LLaMA-2-7B
      path: /models/llama-2-7b
      parameters:
        temperature: 0.7
        max_length: 2048
        context_length: 4096
    
    - name: Mistral-7B
      path: /models/mistral-7b
      parameters:
        temperature: 0.8
        max_length: 4096
        context_length: 32768

Настройка рабочих пространств

Onyx позволяет создавать изолированные рабочие пространства:

workspaces:
  default:
    name: "Основное рабочее пространство"
    description: "Основное пространство для работы"
    models:
      - gpt-3.5-turbo
      - LLaMA-2-7B
    users:
      - admin
      - user1
  
  development:
    name: "Разработка"
    description: "Рабочее пространство для разработки"
    models:
      - claude-2
      - Mistral-7B
    users:
      - developer

Плагины и расширения

Onyx поддерживает плагины для расширения функциональности:

  1. Установка плагинов:
# Установка плагина для интеграции с Git
docker-compose exec onyx onyx plugin install git-integration

# Установка плагина для анализа кода
docker-compose exec onyx onyx plugin install code-analyzer
  1. Активируйте плагины:
plugins:
  git_integration:
    enabled: true
    repositories:
      - https://github.com/your-org/your-project.git
  
  code_analyzer:
    enabled: true
    languages:
      - python
      - javascript
      - go

Настройка веб-хуков и интеграций

Для интеграции с внешними системами можно настроить веб-хуки:

webhooks:
  slack:
    enabled: true
    url: https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK
    events:
      - model.response
      - error.alert
  
  telegram:
    enabled: true
    bot_token: your-telegram-bot-token
    chat_id: your-chat-id

Кастомные шаблоны промптов

Onyx позволяет создавать и использовать собственные шаблоны промптов:

prompt_templates:
  code_review:
    name: "Ревизия кода"
    template: |
      Проанализируй следующий код и укажи на возможные проблемы:
      
      {{code}}
      
      Дай рекомендации по улучшению.
  
  creative_writing:
    name: "Творческое письмо"
    template: |
      Напиши {{genre}} рассказ на тему "{{topic}}" в стиле {{style}}.

Настройка разных провайдеров LLM с Onyx

Onyx поддерживает работу с различными провайдерами языковых моделей. Рассмотрим настройку наиболее популярных из них.

Настройка OpenAI

  1. Получите API-ключ в личном кабинете OpenAI
  2. Добавьте в конфигурационный файл:
providers:
  openai:
    api_key: sk-your-openai-key
    base_url: https://api.openai.com/v1  # можно использовать альтернативные API
    models:
      - gpt-3.5-turbo
      - gpt-3.5-turbo-16k
      - gpt-4
      - gpt-4-turbo
    parameters:
      temperature: 0.7
      max_tokens: 2048
      top_p: 1.0
    rate_limits:
      requests_per_minute: 60
      tokens_per_minute: 40000

Настройка Anthropic

  1. Получите API-ключ в личном кабинете Anthropic
  2. Добавьте в конфигурационный файл:
providers:
  anthropic:
    api_key: your-anthropic-key
    models:
      - claude-2
      - claude-2.1
      - claude-instant-1
      - claude-instant-1.2
    parameters:
      max_tokens_to_sample: 2048
      temperature: 0.7
      top_p: 1.0
      top_k: 40

Настройка YandexGPT

  1. Получите API-ключ и ID каталога в облаке Yandex
  2. Добавьте в конфигурационный файл:
providers:
  yandexgpt:
    api_key: your-yandex-key
    folder_id: your-folder-id
    models:
      - yandexgpt-lite
      - yandexgpt
      - yandexgpt-large
    parameters:
      temperature: 0.3
      max_tokens: 2000

Настройка локальных моделей

Для работы с локальными моделями вам потребуются:

  1. Модель в формате GGUF или ONNX
  2. GPU с поддержкой CUDA (рекомендуется)
  3. Настройка в конфигурации:
providers:
  local:
    models:
      - name: LLaMA-2-7B
        path: /models/llama-2-7b.Q4_K_M.gguf
        type: llama
        parameters:
          n_gpu_layers: -1  # использовать все слои на GPU
          n_ctx: 4096
          n_batch: 512
          n_threads: 8
      
      - name: Mistral-7B
        path: /models/mistral-7b-v0.1.Q4_K_M.gguf
        type: mistral
        parameters:
          n_gpu_layers: -1
          n_ctx: 32768
          n_batch: 1024
          n_threads: 8

Настройка Ollama

Если вы предпочитаете использовать Ollama для управления локальными моделями:

providers:
  ollama:
    base_url: http://localhost:11434
    models:
      - llama2
      - mistral
      - codellama
    parameters:
      temperature: 0.7
      top_p: 0.9
      num_ctx: 4096

Настройка Hugging Face

Для использования моделей с Hugging Face:

providers:
  huggingface:
    api_key: your-hf-key
    models:
      - meta-llama/Llama-2-7b-chat-hf
      - mistralai/Mistral-7B-Instruct-v0.2
    parameters:
      temperature: 0.7
      max_new_tokens: 2048
      do_sample: true
      top_p: 0.9
    rate_limits:
      requests_per_hour: 1000

Соображения безопасности для самостоятельно хостимого ИИ

При самостоятельном хостинге Onyx особенно важно обеспечить должный уровень безопасности. Рассмотрим основные аспекты безопасности, на которые следует обратить внимание.

Защита доступа к платформе

  1. Аутентификация и авторизация:
security:
  authentication:
    method: jwt  # или basic, oauth
    provider: local  # или ldap, oauth
    jwt:
      secret_key: your_jwt_secret_here
      expiration: 3600  # секунд
    sessions:
      timeout: 1800  # секунд
  
  authorization:
    roles:
      admin:
        permissions:
          - "users.create"
          - "users.read"
          - "users.update"
          - "users.delete"
          - "models.manage"
          - "settings.configure"
      user:
        permissions:
          - "models.use"
          - "history.read"
  1. Настройка HTTPS:
security:
  https:
    enabled: true
    cert_file: /path/to/cert.pem
    key_file: /path/to/key.pem
    force_redirect: true
  1. Ограничение доступа по IP:
security:
  ip_whitelist:
    - 127.0.0.1
    - 192.168.1.0/24
    - 10.0.0.0/8

Защита данных

  1. Шифрование данных:
security:
  encryption:
    data_encryption: true
    encryption_key: your_encryption_key_here
    algorithm: AES-256
  1. Безопасное хранение ключей API:
security:
  api_keys:
    encryption: true
    storage: vault  # или file, database
    rotation_period: 90  # дней
  1. Логирование и аудит:
security:
  audit:
    enabled: true
    log_level: info
    log_file: /var/log/onyx/audit.log
    events:
      - "user.login"
      - "user.logout"
      - "model.request"
      - "api.call"

Защита от атак

  1. Защита от brute-force:
security:
  brute_force:
    enabled: true
    max_attempts: 5
    window_minutes: 15
    lockout_minutes: 30
  1. Ограничение скорости запросов:
security:
  rate_limiting:
    enabled: true
    default_limit: 100  # запросов в минуту
    limits:
      api: 1000
      login: 10
      model_requests: 500
  1. Защита от инъекций:
security:
  input_validation:
    enabled: true
    methods:
      - "prompt_injection"
      - "sql_injection"
      - "xss"

Обновление и патчи

  1. Настройка автоматических обновлений:
security:
  updates:
    enabled: true
    channel: stable  # или beta
    auto_update: true
    backup_before_update: true
    update_schedule: "0 3 * * 0"  # cron-выражение, еженедельно в 3 ночи
  1. Мониторинг уязвимостей:
security:
  vulnerability_scanning:
    enabled: true
    frequency: daily  # или weekly, monthly
    email_notifications: true

Резервное копирование и восстановление

  1. Настройка резервного копирования:
backup:
  enabled: true
  schedule: "0 2 * * *"  # ежедневно в 2 ночи
  retention:
    daily: 7
    weekly: 4
    monthly: 12
  encryption: true
  storage:
    type: s3  # или local, ftp
    endpoint: your-s3-endpoint
    bucket: your-backup-bucket
    access_key: your-access-key
    secret_key: your-secret-key
  1. Тестирование восстановления:
backup:
  restore_test:
    enabled: true
    frequency: weekly
    keep_test_data: false

Оптимизация производительности

Для эффективной работы Onyx на вашем оборудовании важно правильно настроить производительность системы. Рассмотрим ключевые аспекты оптимизации.

Оптимизация аппаратного использования

  1. Настройка использования GPU:
performance:
  gpu:
    enabled: true
    providers:
      - nvidia
    allocation:
      models: 0.8  # 80% GPU памяти для моделей
      system: 0.2   # 20% GPU памяти для системы
    parallel_processing: true
    batch_size: 32
  1. Оптимизация использования CPU:
performance:
  cpu:
    threads: auto  # или конкретное число
    priority: high
    affinity:
      - 0
      - 1
      - 2
      - 3
  1. Настройка памяти:
performance:
  memory:
    cache_size: 4096  # МБ
    gc_threshold: 0.8  # 80% использования
    optimization:
      - prefetch
      - compression

Оптимизация моделей

  1. Кэширование результатов:
performance:
  caching:
    enabled: true
    backend: redis  # или memory
    ttl: 3600  # секунд
    max_size: 1000  # запросов
  1. Оптимизация загрузки моделей:
performance:
  model_loading:
    preload: true
    warmup: true
    parallel_loading: true
    lazy_loading: false
  1. Настройка параметров вывода:
performance:
  output:
    max_tokens: 2048
    temperature: 0.7
    top_p: 0.9
    streaming: true

Оптимизация сети

  1. Настройка веб-сервера:
performance:
  web:
    workers: 4
    timeout: 30
    keepalive: 5
    compression: true
    caching:
      static: 86400  # секунд
      api: 3600
  1. Оптимизация API:
performance:
  api:
    rate_limiting:
      enabled: true
      limit: 1000  # запросов в минуту
      burst: 100
    timeout: 30
    retries: 3

Мониторинг и анализ производительности

  1. Сбор метрик:
performance:
  monitoring:
    enabled: true
    metrics:
      - cpu_usage
      - memory_usage
      - gpu_usage
      - request_latency
      - error_rate
    storage: influxdb  # или prometheus, graphite
    interval: 10  # секунд
  1. Алертинг:
performance:
  alerting:
    enabled: true
    rules:
      - name: "High CPU Usage"
        condition: "cpu_usage > 80"
        duration: 5  # минут
        action: "email"
        
      - name: "High Memory Usage"
        condition: "memory_usage > 90"
        duration: 3  # минут
        action: "webhook"

Устранение распространенных проблем

При использовании Onyx могут возникать различные проблемы. Рассмотрим наиболее распространенные из них и способы их решения.

Проблемы с установкой

Проблема: Docker не запускается

Симптомы: Ошибка при выполнении docker-compose up

Решение:

# Проверка статуса Docker
sudo systemctl status docker

# Если Docker не запущен
sudo systemctl start docker
sudo systemctl enable docker

# Проверка прав текущего пользователя
sudo usermod -aG docker $USER
# Выполните выход и повторный вход для применения изменений

Проблема: Недостаточно прав для доступа к файлам конфигурации

Симптомы: Ошибка доступа к config.yml

Решение:

# Изменение прав доступа к файлу конфигурации
chmod 644 config.yml

# Или изменение владельца
sudo chown $USER:$USER config.yml

Проблемы с производительностью

Проблема: Медленная работа моделей

Симптомы: Задержки при генерации ответов, высокая загрузка CPU

Решение:

# В config.yml увеличьте количество GPU слоев для локальных моделей
providers:
  local:
    models:
      - name: LLaMA-2-7B
        parameters:
          n_gpu_layers: -1  # использовать все доступные слои

Проблема: Высокое использование памяти

Симптомы: Ошибки нехватки памяти, падение сервиса

Решение:

# Проверка использования памяти
free -h

# Очистка кэша Docker
docker system prune -a

# Ограничение использования памяти в Docker
docker-compose up -d --memory=8g

Проблемы с сетью

Проблема: Невозможно подключиться к веб-интерфейсу

Симптомы: Страница не загружается, ошибка подключения

Решение:

# Проверка запущенных контейнеров
docker-compose ps

# Проверка логов
docker-compose logs -f

# Проверка порта
netstat -tlnp | grep 8080

# Проверка брандмауэра
sudo ufw status
sudo ufw allow 8080

Проблема: Ошибки при работе с API

Симптомы: Ошибки 4xx, 5xx при вызовах API

Решение:

# Проверка конфигурации API
security:
  api:
    rate_limits:
      enabled: true
      limit: 1000
    timeout: 30

Проблемы с моделями

Проблема: Модель не загружается

Симптомы: Ошибка при попытке загрузить модель

Решение:

# Проверка наличия модели в директории
ls -la /models/

# Проверка прав доступа
ls -la /models/your-model.gguf

# Проверка формата модели
file /models/your-model.gguf

# Проверка совместимости модели с версией Onyx
docker-compose exec onyx onyx models check /models/your-model.gguf

Проблема: Некорректные ответы модели

Симптомы: Модель генерирует бессмысленный или некорректный ответ

Решение:

# Настройка параметров модели
providers:
  openai:
    parameters:
      temperature: 0.7  # снизьте для более предсказуемых ответов
      max_tokens: 2048
      top_p: 0.9

Проблемы с безопасностью

Проблема: Подозрительная активность в системе

Симптомы: Необычные запросы, ошибки аутентификации

Решение:

# Проверка логов аутентификации
tail -f /var/log/onyx/auth.log

# Анализ IP-адресов
grep "Failed password" /var/log/auth.log | awk '{print $10}' | sort | uniq -c

# Включение дополнительного логирования
docker-compose exec onyx onyx security enable-debug

Проблема: Утечка данных

Симптомы: Данные появляются вне системы

Решение:

# Усиление политики безопасности
security:
  data_protection:
    encryption: true
    audit_level: verbose
    sensitive_data_detection: true

Проблемы с обновлениями

Проблема: Ошибка при обновлении Onyx

Симптомы: Ошибка при выполнении команды обновления

Решение:

# Создание резервной копии перед обновлением
docker-compose exec onyx onyx backup create

# Обновление кода
git pull origin main

# Пересборка образов
docker-compose build

# Перезапуск сервиса
docker-compose up -d --force-recreate

Проблема: Несовместимость после обновления

Симптомы: Ошибки после обновления версии

Решение:

# Проверка версий
docker-compose exec onyx onyx version

# Проверка конфигурации на совместимость
docker-compose exec onyx onyx config validate

# Возврат к предыдущей версии (если доступно)
git checkout previous-version
docker-compose up -d

Примеры использования и расширенные функции

Onyx предлагает множество возможностей для различных сценариев использования. Рассмотрим некоторые из них.

Разработка чат-ботов

Onyx можно использовать для создания кастомных чат-ботов для различных задач:

# Конфигурация бота для поддержки клиентов
bots:
  customer_support:
    name: "Поддержка клиентов"
    model: gpt-3.5-turbo
    system_prompt: |
      Ты — ассистент поддержки клиентов компании. Отвечай на вопросы пользователей, 
      помогай решать их проблемы и перенаправляй к специалистам при необходимости.
    
    knowledge_base:
      - name: "Часто задаваемые вопросы"
        path: /kb/faq.json
      - name: "База знаний"
        path: /kb/knowledge_base.json
    
    workflow:
      greeting: "Здравствуйте! Я — ваш ассистент поддержки. Чем могу помочь?"
      fallback: "Извините, я не совсем понял ваш вопрос. Могу я переформулировать?"
      escalation: "Похоже, ваш вопрос требует участия специалиста. Пожалуйста, подождите, я соединю вас с оператором."

Анализ документов

Onyx можно настроить для анализа и обработки документов:

# Конфигурация для анализа документов
document_processing:
  extractors:
    text:
      enabled: true
      formats:
        - pdf
        - docx
        - txt
    metadata:
      enabled: true
      fields:
        - author
        - date
        - keywords
    entities:
      enabled: true
      types:
        - person
        - organization
        - location
        - date
    
    summarization:
      enabled: true
      model: gpt-3.5-turbo
      max_length: 300
      extractive: false

Генерация контента

Onyx можно использовать для автоматической генерации контента:

# Конфигурация генератора контента
content_generation:
  templates:
    blog_post:
      name: "Статья для блога"
      structure:
        - title
        - introduction
        - main_content
        - conclusion
      style: "профессиональный"
      length: "средний"
      keywords: ["технологии", "инновации", "развитие"]
    
    social_media:
      name: "Пост для социальных сетей"
      platforms:
        - twitter
        - linkedin
        - vk
      length:
        twitter: 280
        linkedin: 3000
        vk: 1000

Расширенные функции для разработчиков

Onyx предоставляет API для интеграции с другими системами:

# API конфигурация
api:
  endpoints:
    /generate:
      method: POST
      description: "Генерация текста с использованием модели"
      parameters:
        model:
          type: string
          required: true
        prompt:
          type: string
          required: true
        temperature:
          type: number
          default: 0.7
        max_tokens:
          type: integer
          default: 2048
    
    /models:
      method: GET
      description: "Получение списка доступных моделей"
    
    /chat:
      method: POST
      description: "Чат-интерфейс с моделью"
      parameters:
        messages:
          type: array
          required: true
        model:
          type: string
          default: gpt-3.5-turbo

Плагины и расширения

Onyx поддерживает плагины для расширения функциональности:

# Установка плагина для интеграции с Git
docker-compose exec onyx onyx plugin install git-integration

# Установка плагина для работы с базами данных
docker-compose exec onyx onyx plugin install db-integration

# Установка плагина для аналитики
docker-compose exec onyx onyx plugin install analytics

Настройка рабочих процессов

Onyx позволяет создавать сложные рабочие процессы:

workflows:
  content_pipeline:
    name: "Пайплайн контента"
    steps:
      - name: "Сбор данных"
        action: "web_scraper"
        parameters:
          url: "https://example.com/news"
          selector: "article"
      
      - name: "Анализ тональности"
        action: "sentiment_analysis"
        model: "bert-base-uncased"
      
      - name: "Категоризация"
        action: "text_classification"
        model: "distilbert-base-uncased"
        categories:
          - "Технологии"
          - "Политика"
          - "Спорт"
      
      - name: "Генерация заголовка"
        action: "title_generator"
        model: "gpt-3.5-turbo"
      
      - name: "Публикация"
        action: "cms_publisher"
        target: "wordpress"
        parameters:
          username: "admin"
          password: "secure_password"

Мониторинг и аналитика

Onyx предоставляет инструменты для мониторинга использования и производительности:

analytics:
  tracking:
    enabled: true
    metrics:
      - "request_count"
      - "response_time"
      - "model_usage"
      - "error_rate"
      - "user_activity"
    
    dashboards:
      - name: "Обзор"
        widgets:
          - type: "metric"
            title: "Всего запросов"
            metric: "request_count"
            
          - type: "chart"
            title: "Загрузка моделей"
            metric: "model_usage"
            type: "pie"
            
          - type: "table"
            title: "Последние ошибки"
            metric: "error_rate"
            columns:
              - "timestamp"
              - "error"
              - "user"
    
    reports:
      daily:
        enabled: true
        time: 18:00
        format: "pdf"
        recipients:
          - "admin@example.com"
      weekly:
        enabled: true
        day: "Monday"
        time: 9:00
        format: "html"

Сравнение Onyx с другими платформами для самостоятельного хостинга ИИ

На рынке существует несколько платформ для самостоятельного хостинга ИИ. Рассмотрим, как Onyx сравнивается с основными из них.

Onyx vs OpenWebUI

Onyx:

  • Преимущества:
    • Гибкая конфигурация провайдеров моделей
    • Расширенные функции безопасности
    • Поддержка локальных моделей
    • Мощные инструменты для разработки рабочих процессов
  • Недостатки:
    • Более сложная начальная настройка
    • Требует больше ресурсов

OpenWebUI:

  • Преимущества:
    • Простота установки и использования
    • Удобный веб-интерфейс
    • Поддержка множества моделей "из коробки"
  • Недостатки:
    • Ограниченные возможности кастомизации
    • Менее развитая система безопасности
    • Меньше функций для интеграции

Onyx vs Oobabooga Text Generation WebUI

Onyx:

  • Преимущества:
    • Более высокая производительность
    • Лучшая масштабируемость
    • Более развитая система пользователей и ролей
    • Расширенные функции безопасности
  • Недостатки:
    • Более сложная настройка
    • Меньше ориентирован на работу с конкретными форматами моделей

Oobabooga:

  • Преимущества:
    • Простой интерфейс
    • Отличная поддержка различных форматов моделей
    • Много настроек под конкретные модели
  • Недостатки:
    • Ограниченные возможности по интеграции
    • Слабая система безопасности
    • Меньше функций для управления несколькими пользователями

Onyx vs PrivateGPT

Onyx:

  • Преимущества:
    • Более гибкая настройка провайдеров
    • Поддержка множества моделей
    • Расширенные функции безопасности
    • Мощные инструменты для разработки
  • Недостатки:
    • Более высокая сложность настройки
    • Требует больше ресурсов

PrivateGPT:

  • Преимущества:
    • Простота использования
    • Фокус на конфиденциальности
    • Хорошая интеграция с документами
  • Недостатки:
    • Ограниченная поддержка моделей
    • Меньше возможностей по кастомизации
    • Слабее развиты функции для разработчиков

Onyx vs LM Studio

Onyx:

  • Преимущества:
    • Высокая масштабируемость
    • Расширенные функции безопасности
    • Множество интеграций
    • Поддержка корпоративных функций
  • Недостатки:
    • Более сложный интерфейс
    • Требует больше технических знаний

LM Studio:

  • Преимущества:
    • Удобный графический интерфейс
    • Простота установки и настройки
    • Хороший выбор моделей
  • Недостатки:
    • Ограниченные возможности по интеграции
    • Меньше функций для безопасности
    • Меньше возможностей для масштабирования

Onyx vs LocalAI

Onyx:

  • Преимущества:
    • Более удобный веб-интерфейс
    • Лучшие инструменты для разработки
    • Расширенные функции безопасности
    • Поддержка множества провайдеров
  • Недостатки:
    • Требует больше ресурсов
    • Более сложная настройка

LocalAI:

  • Преимущества:
    • Легковесность
    • Простота развертывания
    • Хорошая совместимость с OpenAI API
  • Недостатки:
    • Ограниченные возможности по кастомизации
    • Меньше функций для безопасности
    • Меньше инструментов для разработки

Сравнительная таблица

ПараметрOnyxOpenWebUIOobaboogaPrivateGPTLM StudioLocalAI
Простота установкиСредняяВысокаяВысокаяВысокаяВысокаяВысокая
Гибкость настройкиВысокаяСредняяВысокаяСредняяСредняяСредняя
Поддержка моделейВысокаяВысокаяВысокаяСредняяВысокаяСредняя
БезопасностьВысокаяСредняяНизкаяСредняяСредняяСредняя
МасштабируемостьВысокаяСредняяНизкаяСредняяНизкаяНизкая
ИнтеграцииВысокаяНизкаяНизкаяНизкаяСредняяВысокая
ДокументацияПолнаяХорошаяХорошаяХорошаяОтличнаяСредняя
Активность сообществаВысокаяВысокаяВысокаяСредняяСредняяСредняя

Когда выбирать Onyx

Onyx является лучшим выбором в следующих случаях:

  1. Когда нужна максимальная гибкость — если вы планируете использовать различные провайдеров моделей и хотите иметь полный контроль над настройками.

  2. Для корпоративного использования — если вам нужна развитая система безопасности, управления пользователями и контроля доступа.

  3. Для сложных рабочих процессов — если вам нужно создавать сложные автоматизированные процессы с использованием ИИ.

  4. Для масштабируемых решений — если вы планируете увеличивать нагрузку и количество пользователей.

  5. Для интеграций с другими системами — если вам нужно интегрировать Onyx с существующей инфраструктурой.

Когда стоит рассмотреть альтернативы:

  • Для простых проектов — если вам нужно просто запустить модель и общаться с ней через веб-интерфейс, лучше подойдет OpenWebUI или LM Studio.

  • Для работы с конкретными форматами моделей — если вы работаете с узкоспециализированными форматами, Oobabooga может быть лучшим выбором.

  • Для конфиденциальной работы с документами — если ваша основная задача — анализ документов в режиме полной конфиденциальности, PrivateGPT может быть более подходящим.

  • Для ограниченных ресурсов — если у вас ограниченные аппаратные ресурсы, LocalAI или Oobabooga могут потреблять меньше ресурсов.

На выбор платформы также влияют ваши технические навыки: Onyx требует больше технических знаний для настройки и поддержки, но предлагает больше возможностей для опытных пользователей.

Поделиться:TelegramX / TwitterVK