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

🔗 Интеграция Open WebUI

Обзор

Open WebUI v0.6+ поддерживает интеграцию с внешними инструментами через серверы OpenAPI — это означает, что вы можете легко расширить свои рабочие процессы LLM, используя пользовательские или сообщества-созданные серверы инструментов 🧰.

В этом руководстве вы узнаете, как запустить сервер инструментов, совместимый с OpenAPI, и подключить его к Open WebUI через удобный пользовательский интерфейс. Давайте начнем! 🚀


Шаг 1: Запустите сервер инструментов OpenAPI

Для начала вам нужно запустить один из серверов инструментов из репозитория openapi-servers. Для быстрой проверки мы используем сервер времени в качестве примера.

🛠️ Пример: Запуск сервера time локально

git clone https://github.com/open-webui/openapi-servers
cd openapi-servers

# Перейдите в папку сервера времени
cd servers/time

# Установите необходимые зависимости
pip install -r requirements.txt

# Запустите сервер
uvicorn main:app --host 0.0.0.0 --reload

После запуска сервер будет доступен по локальному адресу http://localhost:8000, на который вы сможете указать Open WebUI.

Сервер времени


Шаг 2: Подключите сервер инструментов в Open WebUI

Теперь нужно подключить ваш работающий сервер инструментов к Open WebUI:

  1. Откройте Open WebUI в вашем браузере.
  2. Перейдите в ⚙️ Настройки.
  3. Нажмите ➕ Инструменты, чтобы добавить новый сервер инструментов.
  4. Введите URL-адрес, по которому работает ваш сервер инструментов OpenAPI (например, http://localhost:8000).
  5. Нажмите "Сохранить".

Страница настроек

🧑‍💻 Пользовательские серверы инструментов против 🛠️ Глобальных серверов инструментов

Существует два способа регистрации серверов инструментов в Open WebUI:

1. Пользовательские серверы инструментов (добавлены через обычные настройки)

  • Доступны только пользователю, который зарегистрировал сервер инструментов.
  • Подключение осуществляется непосредственно из браузера (на стороне клиента) пользователем.
  • Идеально подходят для личных рабочих процессов или тестирования пользовательских/локальных инструментов.

2. Глобальные серверы инструментов (добавлены через настройки администратора)

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

  • Перейдите в 🛠️ Настройки администратора > Инструменты.
  • Добавьте URL-адрес сервера инструментов так же, как в пользовательских настройках.
  • Эти инструменты рассматриваются аналогично встроенным инструментам Open WebUI.

👉 Дополнительно: Использование конфигурационного файла с mcpo

Если вы запускаете несколько инструментов через mcpo, используя конфигурационный файл, обратите внимание:

🧩 Каждый инструмент монтируется под своим уникальным путем!

Например, если вы одновременно используете инструменты памяти и времени через mcpo, они будут доступны по отдельным маршрутам:

Это означает:

  • При подключении инструмента в Open WebUI необходимо вводить полный маршрут к конкретному инструменту — НЕ вводите просто корневой URL (http://localhost:8000).
  • Добавляйте каждый инструмент индивидуально в настройках Open WebUI, используя их соответствующие подпути URL.

Настройки инструментов конфигурационного файла MCPO

✅ Правильно:

http://localhost:8000/time
http://localhost:8000/memory

🚫 Неправильно:

http://localhost:8000

Это гарантирует, что Open WebUI правильно распознает и взаимодействует с каждым сервером инструментов.


Шаг 3: Подтвердите подключение вашего сервера инструментов ✅

После успешного подключения вашего сервера инструментов Open WebUI отобразит 👇 индикатор сервера инструментов прямо в области ввода сообщений:

📍 Теперь вы увидите этот значок ниже поля ввода:

Индикатор сервера инструментов

При нажатии на этот значок открывается всплывающее окно, в котором вы можете:

  • Просмотреть информацию о подключенных серверах инструментов
  • Узнать, какие инструменты доступны и какой сервер их предоставляет
  • Провести отладку или отключить любой инструмент, если это необходимо

🔍 Вот как выглядит модальное окно информации о инструментах:

Расширенное модальное окно информации о инструментах

🛠️ Глобальные серверы инструментов выглядят иначе — и по умолчанию скрыты!

Если вы подключили Глобальный сервер инструментов (т.е. настроенный администратором), он не появится автоматически в области ввода, как пользовательские серверы инструментов.

Вместо этого:

  • Глобальные инструменты по умолчанию скрыты и должны быть явно включены пользователем.
  • Чтобы их включить, нажмите на кнопку ➕ в области ввода сообщений (в нижнем левом углу окна чата) и вручную активируйте нужные глобальные инструменты.

Вот как это выглядит:

Глобальный сервер инструментов в области ввода сообщений

⚠️ Важные примечания о глобальных серверах инструментов:

  • Они не будут отображаться в всплывающем индикаторе инструментов, пока не включены через меню ➕.
  • Каждый глобальный инструмент должен быть включен индивидуально, чтобы стать активным в текущем чате.
  • После включения они работают так же, как пользовательские инструменты.
  • Администраторы могут контролировать доступ к глобальным инструментам через роль-based разрешения.

Это идеально подходит для настройки команд или общих сред, где часто используемые инструменты (например, поиск документов, память или веб-поиск) должны быть централизованно доступны для нескольких пользователей.


(Опционально) Шаг 4: Используйте нативное вызов функций (в стиле ReACT) 🧠

к сведению

Для эффективной работы выбранная вами модель должна поддерживать нативное вызов функций. Некоторые локальные модели заявляют о поддержке, но часто дают плохие результаты. Мы настоятельно рекомендуем использовать GPT-4o или другую модель OpenAI, которая поддерживает вызов функций на нативном уровне для наилучшего опыта.

Хотите включить вызовы нативных функций в стиле ReACT (Размышление + Действие) прямо внутри ваших диалогов? Вы можете переключить Open WebUI на использование нативного вызова функций.

✳️ Как включить нативный вызов функций:

  1. Откройте окно чата.
  2. Перейдите в ⚙️ Контроль чатов > Расширенные параметры.
  3. Измените параметр Вызов функций с Default на Native.

Native Tool Call


Нужно больше инструментов? Исследуйте и расширяйте! 🧱

Репозиторий openapi-servers включает множество полезных справочных серверов:

  • 📂 Доступ к файловой системе
  • 🧠 Память и графы знаний
  • 🗃️ Обзор репозиториев Git
  • 🌎 Веб-поиск (WIP)
  • 🛢️ Запросы к базам данных (WIP)

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


Поиск и устранение неисправностей и советы 🧩

  • ❌ Нет подключения? Убедитесь, что URL правильный и доступен из браузера, используемого для запуска Open WebUI.
  • 🔒 Если вы используете удаленные серверы, проверьте настройки брандмауэра и HTTPS!
  • 📝 Чтобы серверы сохранялись, рассмотрите варианты их запуска в Docker или с системными службами.

Нужна помощь? Посетите 👉 страницу обсуждений или откройте новый вопрос.