Игорь Градов
Игорь Градов
5 мин
ai

Бот в Open WebUI игнорировал живые цены: HOSTKEY заменил штатные настройки пайпом на Python

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

Бот в Open WebUI игнорировал живые цены: HOSTKEY заменил штатные настройки пайпом на Python
Почему это важно

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

Open WebUI, это веб-интерфейс для работы с моделями, где можно собрать собственного бота. Александр Казанцев, руководитель отдела документации и контента HOSTKEY, описал, почему одних настроек модели для бота поддержки не хватило. Разберём, как пайп решает эту задачу и что получится на выходе: бот, который сначала собирает данные и только потом отвечает.

Что понадобится?

  • Развёрнутый Open WebUI с доступом к админ-панели.
  • Модель через Ollama (программа для запуска моделей на своём сервере). У HOSTKEY это gemma4:26b-a4b-it-qat.
  • База знаний для RAG. Это поиск по вашим документам: модель сначала находит нужный фрагмент, потом отвечает по нему.
  • Инструменты через MCP, общий стандарт подключения внешних сервисов к модели. У HOSTKEY это status_ru_mcp и docs_url_ru.
  • Базовое знание Python: пайп пишется кодом.

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

  1. Проверьте, работают ли инструменты на штатных настройках. Задайте вопрос, под который у модели есть инструмент. HOSTKEY спрашивал про дешёвый VPS (виртуальный сервер в аренду) в Германии, на этот вопрос должен отвечать get_vps_list.
  2. Посмотрите, откуда взялся ответ. У HOSTKEY модель не пошла в Invapi, API хостинга, то есть канал, через который программы запрашивают данные у системы. Ответ был собран только по документации.
  3. Разберитесь с режимом вызова функций. В режиме Legacy Open WebUI подмешивает данные всех инструментов в системный промпт, и модель может сформировать неверный JSON (формат обмена данными) или пропустить инструмент. В режиме Native модель получает список инструментов отдельным параметром и вызывает их сама, но с Gemma 4 этот режим требует отдельной работы.
  4. Создайте пайп. Пайпы создаются в разделе Admin Panel, Function. Это Python-класс с методом pipe: он получает тело запроса и возвращает строку, JSON или поток.
  5. Задайте порядок шагов в коде. Внутри пайпа можно сколько угодно раз обращаться к модели, вызывать MCP-инструменты, менять промпт и включать или выключать RAG. HOSTKEY нужен был такой порядок: поиск по ключевым словам, проверка доступности сервера и запрос в Invapi, затем ответ с RAG.
  6. Подключите пайп вместо модели. В Open WebUI пайп виден как отдельная модель. Для внешних клиентов достаточно заменить в вызове кастомную модель на модель пайпа.

Схематичный каркас по описанию HOSTKEY выглядит так. Точную сигнатуру сверяйте с документацией Open WebUI.

class Pipe:
    class Valves(BaseModel):
        # настраиваемые параметры: ключи, адреса, пороги
        pass

    def pipe(self, body):
        # 1. поиск по ключевым словам
        # 2. проверка статуса и запрос в Invapi
        # 3. ответ с RAG
        return "ответ"

Valves, это настройки пайпа, которые хранятся в базе данных и меняются из админ-панели без правки кода. HOSTKEY от них отказался: команде проще держать промпты и параметры прямо в коде.

Что ввели и что получили

Вопрос: «Дешёвый VPS в Германии». На штатных настройках в режиме Legacy бот выдал правдоподобный пересказ инструкции, но живых данных из системы в ответе не было. В режиме Native, по словам HOSTKEY, перестал работать и RAG. При запросе через API командой curl пришёл голый вызов инструмента с пустым ответом.

Замеры из того же материала объясняют выбор модели. Gemma 4 с отключённым режимом рассуждений отвечает за время от 5 до 7 секунд на двух видеокартах A4000 по 16 ГБ, Qwen 3 думает от 30 до 40 секунд. По признанию автора, качество ответа у Gemma «чуть-чуть похуже».

Частые ошибки
  • Считать, что включённый инструмент будет вызван. На штатных настройках этого никто не гарантирует.
  • Держать RAG включённым во время вызова инструментов. Данные смешиваются, и ответ по документации перекрывает живые цифры.
  • Поручать одной модели и маршрутизацию, и ответ. В штатном режиме всё идёт через одну модель с одним большим системным промптом.
  • Путать проблемы логики с проблемами связи. Сообщение open webui server connection error говорит о связи с сервером, HOSTKEY этот сценарий не разбирает, и пайп его не исправит.

Что делать с этим прямо сейчас, по ролям

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

Маркетологу. Бот, который пересказывает прайс из документации, может назвать устаревшую цену. Для вопросов о тарифах нужен вызов живой системы, а не база знаний.

Предпринимателю. Open WebUI и открытые модели можно развернуть на своём сервере, кейс HOSTKEY собран на российских данных о тарифах и локациях. Из облачных альтернатив в РФ доступны YandexGPT и GigaChat.

Совет редакции dzen.guru

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

Соберите своего ИИ-помощника для контента

Инструменты dzen.guru помогают авторам работать с нейросетями без лишней настройки.

Попробовать
Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

ai

Сгорел лимит Claude, сессия уйдёт в Codex: baton переносит контекст между пятью ИИ-агентами

Разработчик написал открытую утилиту baton, которая переносит сессию между пятью ИИ-агентами без потери контекста, и это ответ на пятичасовые квоты тарифов по…

5 мин
UI-фреймворк на Rust отдаёт экран ИИ-агенту в JSON: скриншоты больше не нужны
ai

UI-фреймворк на Rust отдаёт экран ИИ-агенту в JSON: скриншоты больше не нужны

Русскоязычный разработчик представил uison, лёгкий ui фреймворк на Rust, который показывает человеку обычное окно, а ИИ-агенту отдаёт тот же экран в виде JSON,…

5 мин
ai

Внедрение ИИ в бизнес-процессы: MWS Tables строит таблицы по запросу, без ручной настройки

Российская платформа MWS Tables научила своего ИИ-помощника собирать таблицы, формулы и рабочие процессы по обычному текстовому запросу, и теперь столбцы, типы…

5 мин