Перейти к основному содержимому

🧰 Функции

🚀 Что такое функции?

Функции похожи на плагины для Open WebUI. Они помогают вам расширить его возможности — будь то добавление поддержки новых поставщиков моделей ИИ, таких как Anthropic или Vertex AI, настройка обработки сообщений или добавление настраиваемых кнопок в интерфейс для повышения удобства использования.

В отличие от внешних инструментов, которые могут требовать сложной интеграции, функции встроены и работают внутри среды Open WebUI. Это означает, что они быстрые, модульные и не зависят от внешних зависимостей.

Думайте о функциях как о модульных строительных блоках, которые позволяют вам улучшать работу WebUI, адаптируя ее именно к вашим потребностям. Они легковесны, легко настраиваются и написаны на чистом Python, предоставляя вам свободу создавать что угодно — от новых рабочих процессов на основе ИИ до интеграций с используемыми вами системами, такими как Google Search или Home Assistant.


🏗️ Типы функций

В Open WebUI существует три типа функций, каждая из которых имеет свою конкретную цель. Давайте разберем их и объясним, что именно они делают:


1. Pipe Function – Создание настраиваемых «агентов/моделей»

Pipe Function — это способ создания настраиваемых агентов/моделей или интеграций, которые затем появляются в интерфейсе как самостоятельные модели.

Что это делает?

  • Функции Pipe позволяют вам определить сложные рабочие процессы. Например, вы можете создать функцию Pipe, которая отправляет данные в Модель А и Модель B, обрабатывает их выходные данные и объединяет результаты в один окончательный ответ.
  • Функции Pipe даже не обязательно должны использовать ИИ! Это могут быть настройки для API поиска, данных о погоде или даже систем, таких как Home Assistant. По сути, все, с чем вы хотите взаимодействовать, может стать частью Open WebUI.

Пример использования: Представьте, что вы хотите выполнить поиск в Google напрямую из Open WebUI. Вы можете создать функцию Pipe, которая:

  1. Принимает ваше сообщение в качестве поискового запроса.
  2. Отправляет этот запрос в API поискового сервиса Google.
  3. Обрабатывает ответ и возвращает его вам в WebUI как обычный ответ модели.

Когда включены, Pipe Functions отображаются как их собственная модель, доступная для выбора. Используйте функции Pipe, когда вам нужна настраиваемая функциональность, работающая как модель в интерфейсе.

Подробное руководство смотрите в Pipe Functions.


2. Filter Function – Изменение входных и выходных данных

Filter Function — это инструмент для изменения данных перед их отправкой в ИИ или после получения результата.

Что это делает? Фильтры действуют как «хуки» в рабочем процессе и имеют две основные части:

  • Вход: Изменение входных данных, отправляемых в модель. Например, добавление инструкций, ключевых слов или форматирование.
  • Выход: Изменение выходных данных, которые вы получаете от модели. Например, очистка ответа, изменение тона или форматирование данных в определенном стиле.

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

  1. Трансформации входных данных в требуемый формат.
  2. Очистки выходных данных модели перед их отображением.

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

Изучите полное руководство для получения дополнительных примеров и инструкций: Filter Functions.


3. Action Function – Добавление настраиваемых кнопок

Action Function используется для добавления настраиваемых кнопок в интерфейс чата.

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

Пример использования: Представим, что вам часто нужно резюмировать длинные сообщения или генерировать определенные выходные данные, например, переводы. Вы можете создать функцию Action для:

  1. Добавления кнопки «Резюмировать» под каждым входящим сообщением.
  2. Когда она нажата, она запускает вашу пользовательскую функцию для обработки этого сообщения и возвращает резюме.

Кнопки предоставляют чистый и удобный способ взаимодействия с расширенной функциональностью, которую вы задали.

Узнайте, как их настроить, в Action Functions Guide.


🛠️ Как использовать функции

Вот как использовать функции в Open WebUI:

1. Установите функции

Вы можете установить функции через интерфейс Open WebUI или импортировать их вручную. Вы можете найти функции, созданные сообществом, на Open WebUI Community Site.

⚠️ Будьте осторожны. Устанавливайте функции только из доверенных источников. Запуск неизвестного кода вызывает риски безопасности.


2. Включите функции

Функции должны быть явно включены после установки:

  • Когда вы включаете Pipe Function, она становится доступной как отдельная модель в интерфейсе.
  • Для Filter и Action Functions включение их недостаточно — вам также нужно назначить их конкретным моделям или активировать их глобально для всех моделей.

3. Назначьте фильтры или действия моделям

  • Перейдите в Рабочая область => Модели и назначьте ваш фильтр или действие соответствующей модели там.
  • Или активируйте функции для всех моделей глобально, перейдя в Рабочая область => Функции, выбрав меню "..." и переключив Глобальный переключатель.

Краткий обзор

  • Pipes отображаются как самостоятельные модели, с которыми можно взаимодействовать.
  • Filters изменяют входные и выходные данные для более плавного взаимодействия с AI.
  • Actions добавляют кликабельные кнопки к отдельным сообщениям чата.

После выполнения процесса настройки функции будут беспрепятственно улучшать ваши рабочие процессы.


✅ Почему использовать функции?

Функции предназначены для тех, кто хочет открыть новые возможности с Open WebUI:

  • Расширение: Добавьте новые модели или интегрируйте с инструментами, не связанными с AI, такими как API, базы данных или умные устройства.
  • Оптимизация: Настройте входные и выходные данные, чтобы они идеально подходили для ваших задач.
  • Упрощение: Добавьте кнопки или ярлыки, чтобы интерфейс стал интуитивно понятным и эффективным.

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


📝 Финальные заметки:

  1. Всегда устанавливайте функции только из доверенных источников.
  2. Убедитесь, что вы понимаете разницу между Pipe, Filter и Action Functions для их эффективного использования.
  3. Ознакомьтесь с официальными руководствами:

Используя функции, вы добавите абсолютно новые возможности в вашу настройку Open WebUI. Начните экспериментировать уже сегодня! 🚀