Несколько подключений и управление списком моделей

Разберём, как различать источники моделей в Open WebUI, управлять несколькими подключениями и сохранять понятный список для работы.

После урока вы сможете

  • Различать модели по источникам и ID
  • Выбирать способ сокращения общего списка
  • Сохранять изменения и проверять ответ выбранной модели

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

Когда к Open WebUI подключены два рабочих источника, их модели попадают в общий выпадающий список в верхней части чата. Если оба соединения отдают модели с похожими названиями или совпадающими идентификаторами, строка в селекторе перестаёт объяснять, куда именно уйдёт ваш запрос. По одной строке общего каталога не всегда понятно, с каким сервером связана модель, можно ли её вызвать и кому она видна.

В этом уроке мы наведём порядок в списке без удаления рабочих настроек. Мы сопоставим каждую запись с её соединением, при совпадении имён разделим маршруты с помощью коротких меток Prefix ID, сократим каталог до нужных позиций и проверим ответ от выбранной модели.

Для практики понадобятся два уже работающих подключения. Второе соединение не обязано быть платным или облачным: подойдут два локальных сервера или сочетание локального и совместимого по API источника. Если сейчас у вас настроен только один источник, сначала подготовьте второй по инструкции для локальных серверов, OpenAI-совместимых источников или облачных моделей, а затем возвращайтесь к этому упражнению.

Определим, откуда берутся модели в списке

Сначала посмотрим, что уже подключено. Откройте панель администратора Settings -> Admin -> Connections. Здесь в отдельных списках хранятся подключения по протоколу OpenAI-совместимого API и серверы Ollama. Каждая секция поддерживает несколько независимых адресов, поэтому новые источники добавляются в список рядом, не заменяя существующие.

Каждое активное соединение передаёт в Open WebUI свой набор базовых моделей, а селектор в окне чата собирает их в общий список. Из-за этого две сохранённые строки с разными URL в настройках не гарантируют, что в селекторе вы автоматически увидите две понятные и различимые записи. Если итоговые идентификаторы моделей совпадут, записи могут слиться в одну строку. В этом уроке мы не настраиваем балансировку нагрузки и не рассчитываем на автоматическое переключение при сбоях: здесь учимся выбирать конкретный маршрут.

Найдите в Connections два своих рабочих соединения и откройте настройки каждого через значок шестерёнки (Configure). Запишите в черновике три параметра каждого источника:

  1. Тип подключения (OpenAI-совместимый API или Ollama).
  2. Базовый сетевой адрес (URL) без секретного ключа. Никогда не копируйте API-ключи в рабочие заметки, таблицы или на скриншоты.
  3. Точный исходный идентификатор модели (model ID), который вы используете на этом источнике.

Если на ваших источниках работают модели с разными исходными идентификаторами, сохраните эти идентификаторы и не создавайте искусственное совпадение. Если же оба соединения предоставляют модель с одним и тем же идентификатором (например, у вас открыты два OpenAI-совместимых сервера с одинаковой доступной моделью), перейдём к следующему шагу, чтобы явно разделить эти маршруты.

Различим источники с помощью Prefix ID

Когда два источника отдают модель с одинаковым исходным ID, Open WebUI позволяет добавить к каждому соединению собственную внутреннюю метку. За это отвечает поле Prefix ID в дополнительных настройках подключения (порядок его работы описан в документации по подключению OpenAI-совместимых провайдеров). Префикс действует только внутри интерфейса WebUI: он помогает разделить одноимённые модели в списке, но не переименовывает модель на самом сервере провайдера. Перед отправкой запроса к серверу Open WebUI автоматически убирает префикс и обращается к модели по её исходному имени.

Если исходные идентификаторы совпадают и вам нужно выбирать между двумя маршрутами, откройте настройки первого соединения через шестерёнку (Configure). Разверните блок Advanced и в поле Prefix ID введите метку local без точки и косой черты на конце. У второго соединения таким же способом укажите в Prefix ID метку spare. Названия local и spare здесь служат только учебными ориентирами для двух разных адресов: слово spare означает второй подготовленный маршрут, а не автоматический резерв при отказе первого. Если же исходные ID ваших моделей изначально отличаются, задавать Prefix ID необязательно, хотя вы можете использовать метки для собственного удобства.

После сохранения префикса Open WebUI соединяет его с исходным идентификатором модели через точку. Для условного исходного ID local-model получатся два полных внутренних идентификатора:

local.local-model
spare.local-model

Вместо local-model используйте свой рабочий ID. Это пример записи идентификаторов, а не команда.

В поле Model IDs в том же окне настроек вписывайте исходный идентификатор без префикса: в нашем условном примере это local-model, а не local.local-model.

Запишите в черновике, какому сетевому адресу соответствует метка local, а какому метка spare. Внутренний эффективный ID и отображаемое в интерфейсе название (friendly name) хранятся в разных полях. Из-за локализации или переопределения метаданных префиксы local. и spare. не всегда автоматически появляются в видимом названии строки в закрытом селекторе, а сам текст ответа модели никогда не служит доказательством того, какой именно сервер обработал запрос.

Оставим нужные модели без лишнего удаления

После разделения маршрутов в общем списке могут оставаться ненужные позиции от провайдера или старые записи. Чтобы сократить список и сохранить рабочие подключения, различим четыре уровня управления: состав каталога на уровне соединения, видимость записи в селекторе, разрешение на вызов модели внутри WebUI и права доступа пользователей (подробнее об управлении моделями рассказано в справочнике раздела Workspace Models).

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

Шаг 1. Настроим каталог соединения через Model IDs

Откройте настройки (Configure) нужного соединения в Settings -> Admin -> Connections. Поле Model IDs позволяет ограничить список моделей, которые это соединение передаёт в Open WebUI, но работает оно по-разному в зависимости от типа подключения:

  • Для OpenAI-совместимых соединений непустое поле Model IDs полностью заменяет автоматический запрос каталога. Если оставить поле пустым, WebUI запрашивает список у сервера. Как только вы добавите хотя бы один идентификатор вручную, Open WebUI перестаёт опрашивать каталог провайдера для регулярного формирования списка и формирует записи строго из перечисленных вами строк. Это именно ручная замена списка, а не пересечение с тем, что вернул бы сервер. Таким способом WebUI создаёт запись для каждого введённого ID без проверки, существует ли модель у провайдера и способна ли она отвечать.
  • Для подключений Ollama поле Model IDs работает как фильтр поверх тех моделей, которые сервер реально вернул через список установленных тегов (это поведение описано в руководстве по подключению Ollama). Пустое поле пропускает все найденные на сервере модели, а заполненное оставляет только совпавшие теги. Если вписать сюда несуществующий тег, новая модель на сервере Ollama не установится и в списке не появится.

Чтобы оставить у выбранного соединения только нужную модель, введите в поле Model IDs её точный исходный идентификатор (без префикса local. или spare.), нажмите кнопку с плюсом для добавления в список и сохраните окно настроек. Лишние пробелы по краям обрезаются автоматически, а дубликаты система не пропустит. Если позже вы захотите вернуть автоматический список моделей, удалите добавленные строки, чтобы поле снова стало пустым.

Шаг 2. Проверим видимость и доступность в Admin Models

Теперь перейдём в раздел Settings -> Admin -> Models. Здесь собраны как базовые модели от ваших соединений, так и пользовательские пресеты из Workspace. Верхняя строка поиска и переключатели вида (Available, Unavailable, All) меняют только текущее отображение таблицы для администратора и не скрывают модели от пользователей.

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

МеханизмНазначениеКак действует в системе
Hide Model / Show ModelУбрать запись из селектора или вернуть обратноМеняет глобальную видимость в списке выбора для всех пользователей. Не запрещает доступ к модели: скрытая базовая модель остаётся доступной для вызова через привязанный к ней пресет. Отличается от настройки ярлыка Hide from Sidebar.
Enabled модели (переключатель в Admin -> Models)Временно отключить конкретную модельБлокирует вызовы этой модели внутри Open WebUI (запросы к ней вернут ошибку отсутствия модели). Сохраняет настройки и не останавливает модель на внешнем сервере. Зависимые от неё пресеты могут перестать отвечать.
Переключатель соединения (в Admin -> Connections)Временно отключить весь источникВыключает выбранное подключение с сохранением его URL, ключа и настроек. Не гасит внешний сервер и не отзывает ключ. Одноимённая модель может остаться в списке, если она приходит через другое активное соединение.
Access (права доступа)Ограничить круг пользователей или группУправляет разрешениями на уровне бэкенда. Настройка Model IDs или скрытие через Hide не заменяют проверку прав. Если вы ограничиваете Access, проверьте результат под обычной учётной записью: проверка администратором её не заменяет.

Выберите способ под свою задачу. Например, если соединение возвращает несколько моделей, а в селекторе нужна только одна, скройте лишние записи через Hide Model в меню модели.

В этом упражнении ничего удалять не нужно: описанные переключатели обратимы. Кнопки удаления действуют иначе. Delete в окне соединения (Connections) удаляет запись о подключении из Open WebUI, сохраняя модели у провайдера и ваш аккаунт. Delete у пресета в Workspace -> Models удаляет надстройку с системным промптом и параметрами, которая ссылается на базовую модель, не затрагивая сервер. А Manage -> Delete Model в настройках Ollama удаляет файлы весов с выбранного сервера Ollama. Не используйте эту операцию ради сокращения списка в интерфейсе.

Сохраним изменения и обновим каталог

После изменения префиксов или списка Model IDs сохраним настройки и обновим каталог, чтобы в селекторе не остался прежний набор строк.

Нажмите кнопку сохранения в окне редактирования соединения (Configure), затем общую кнопку Save на странице Settings -> Admin -> Connections.

Посмотрите на переключатель Cache Base Model List на странице Connections. Когда он включён, Open WebUI хранит собранный список базовых моделей в оперативной памяти и не запрашивает каталоги у провайдеров при каждом открытии списка (особенности кэширования и связанных параметров описаны в справочнике конфигурации окружения). Обычная перезагрузка страницы в браузере сама по себе не гарантирует, что бэкенд заново опросит внешние серверы и мгновенно исправит расхождения. Если в вашей версии интерфейса рядом с включённым переключателем Cache Base Model List есть кнопка с круговой стрелкой Refresh Models, нажмите её для принудительного обновления списка. Если такой кнопки в вашей установке нет, используйте документированный штатный путь: нажмите Save на странице Connections, что также сбрасывает базовый кэш каталога.

Если после сохранения общий список моделей в чате загружается необычно долго, проверьте в Connections, не осталось ли среди включённых подключений старого или недоступного сетевого адреса. При формировании каталога Open WebUI опрашивает активные источники параллельно, и зависший старый адрес задерживает сборку общего списка (типичные причины задержек разобраны в руководстве по устранению ошибок подключения). В этом случае не нужно сбрасывать базу данных или переустанавливать контейнер: просто исправьте адрес или временно выключите неработающее соединение переключателем в его строке, сохранив настройки страницы.

Откройте выпадающий список моделей в чате и проверьте результат. Если нужная запись не появилась или не обновилась, проверьте, включено ли само соединение, нет ли опечатки или лишнего префикса в поле Model IDs. В разделе Admin -> Models отдельно проверьте видимость через Hide и доступность вызова через Enabled.

Проверим ответ от выбранного маршрута

Строка в каталоге может быть сформирована вручную или сохранена в кэше, а успешная проверка соединения (Verify) подтверждает отклик списка моделей. Ни то ни другое ещё не подтверждает генерацию ответа. Чтобы убедиться, что выбранный маршрут действительно генерирует текст, проведём финальную проверку в чате.

Откройте новый чат и раскройте селектор моделей. Prefix ID различает внутренние идентификаторы подключений, но видимые названия моделей (friendly names) в списке могут совпадать. Введите в поле поиска селектора (Search a model) полный идентификатор с префиксом, например local.local-model (подставьте вместо этого условного примера свой префикс и фактический исходный ID модели).

В текущем интерфейсе поиск учитывает внутренний ID, но использует нечёткое сопоставление, поэтому в результатах может появиться несколько похожих строк. На компьютере наведите курсор мыши на название найденной модели в раскрытом списке: во всплывающей подсказке рядом с отображаемым именем в скобках будет показан точный внутренний идентификатор записи. В более старых версиях Open WebUI поведение поиска и подсказок может отличаться, поэтому всегда сверяйте выбранную позицию с тем префиксом и исходным ID, которые вы задали для конкретного URL в Connections. Выберите запись с нужным полным ID.

Отправьте модели проверочный запрос:

Ответь одним коротким предложением: для чего нужен список дел?

Дождитесь, пока модель полностью завершит текстовый ответ. Мы оцениваем только сам факт успешного прохождения запроса через выбранный маршрут, без сравнения скорости или качества текста. Не пытайтесь определить провайдера по стилю речи или по тому, как модель сама себя называет в ответе: связь с источником задаётся исключительно выбранным полным ID (префикс + исходный ID) и сопоставленной ему настройкой в Connections. Если в рабочей задаче вам потребуется независимо подтвердить, какой именно внешний сервер физически принял HTTP-запрос, такую проверку проводят по журналам самого сервера моделей или прокси, так как выбор строки в интерфейсе не заменяет серверную трассировку.

При желании откройте ещё один чат, найдите через поиск второй маршрут (например, со вторым префиксом spare. или вторым исходным ID) и отправьте ту же фразу, чтобы убедиться в готовности обоих подключений.

Если в ответ на сообщение появляется ошибка, проверьте цепочку настроек для выбранного ID: активен ли переключатель соединения в Connections, точно ли совпадает исходный идентификатор в Model IDs с именем модели на сервере, включён ли тумблер Enabled в Admin -> Models и не ограничены ли права в Access (при проверке ограниченных прав войдите под тем обычным пользователем, для которого они настраивались; для основного упражнения без смены прав создавать вторую учётную запись не нужно).

Законченный ответ подтверждает, что выбранный маршрут работает для обычного текстового чата. При выборе другой модели снова сверьте её полный ID с нужным соединением. В следующем уроке (03.07) мы разберём настройку фоновых моделей, которые помогают Open WebUI автоматически генерировать заголовки чатов и поисковые запросы.

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

Материалы урока

Отметить прохождение

Отметьте урок после того, как получили проверяемый результат из практической части.