Dify объединяет оркестрацию промптов, поиск по базе знаний, рабочие процессы и агентов в одном визуальном интерфейсе, но встроенный список моделей не всегда покрывает то, что нужно вам. Если целевой сервис предоставляет OpenAI-совместимый интерфейс, его можно подключить как «свою модель» и работать со своим ключом и своим счётом.

На практике людей останавливают не кнопки, а детали: в Base URL забыли /v1, имя модели не совпадает с тем, что доступно на шлюзе, не включён вызов функций, а сеть Dify не видит ваш внутренний адрес. Разберём порядок «подготовка — добавление — привязка — разбор ошибок»; названия элементов интерфейса зависят от версии.

Примечание: Dify — товарный знак соответствующего правообладателя; статья не подразумевает аффилированности. Названия моделей, длина контекста и цены смотрите в разделе тарифов; примеры основаны на распространённых версиях октября 2026 года.

1. Что проверить до подключения

Не спешите открывать Dify — сначала убедитесь минимальным запросом, что провайдер доступен. Проверьте четыре вещи:

  1. Протокол: интерфейс OpenAI-совместим и предоставляет как минимум /v1/chat/completions.
  2. Base URL: в большинстве сервисов указывается до /v1, а не полный /v1/chat/completions.
  3. Имя модели: должно совпадать с тем, что возвращает /v1/models, включая регистр, суффикс версии и псевдонимы.
  4. Возможности: поддерживаются ли потоковый вывод, вызов функций и изображения; для базы знаний нужна ещё размерность Embedding.

Проверка через curl:

curl https://your-gateway.example.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "your-model-id",
    "messages": [{"role": "user", "content": "Ответь только OK"}]
  }'

Если в ответе есть choices, адрес, ключ и имя модели верны. Этот шаг экономит половину времени при подключении к Dify.

2. Добавление провайдера модели в Dify

Подключение моделей в Dify управляется плагинами, поэтому вход и названия полей могут меняться. Типичный порядок:

  1. Откройте страницу настроек провайдеров моделей.
  2. Найдите плагин OpenAI-API-compatible (OpenAI-совместимый), установите или включите его — название зависит от версии.
  3. Нажмите «Добавить модель» и выберите тип.
  4. Укажите имя модели, API-ключ и Base URL.
  5. Заполните длину контекста, максимальный вывод и другие параметры по реальным возможностям модели.
  6. Сохраните и нажмите «Проверить», чтобы убедиться, что приходит ответ.

Что важно в полях:

Поле Как правильно Частая ошибка
Base URL Обычно до /v1, например https://api.example.com/v1 Лишний /chat/completions приводит к 404
Имя модели Полностью совпадает с ответом /v1/models Неверный регистр или суффикс версии — «модель не найдена»
API-ключ Вставлять целиком, без Bearer Лишний пробел или кавычки дают 401
Тип модели LLM, Embedding, Rerank, транскрипция, TTS — по назначению Неверный тип — модель не видна в приложении
Длина контекста Реальное поддерживаемое значение, лучше с запасом вниз Указан теоретический максимум — провайдер отклоняет длинный запрос
Переключатели возможностей Поток, вызов функций, изображения — по фактической поддержке Агент не вызывает инструменты, загрузка изображений отклоняется

3. Не копируйте параметры с рекламной страницы

«Максимальный контекст» на странице модели — обычно теоретический предел; фактическое значение зависит от длины вывода, тарификации и ограничений шлюза. При настройке оставляйте запас:

  • Указывайте длину контекста, которую провайдер явно поддерживает, а не максимум «для солидности».
  • Максимальный вывод задавайте отдельно, чтобы длинная генерация не обрывалась и не выходила за бюджет.
  • Если не уверены в поддержке вызова функций, сначала отключите её, проверьте обычный диалог, затем включайте по одному пункту.
  • Для визуальных моделей уточните, передаётся изображение по URL или в Base64: часть совместимых интерфейсов поддерживает только один вариант.
  • После использования Embedding-модели в базе знаний её размерность фиксируется; смена модели обычно требует перестроить индекс.

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

4. Привязка модели к приложению

Успешное добавление модели ещё не значит, что приложение её использует. В Dify проверьте как минимум три места:

  • Чат-ассистент / генерация текста: выберите модель на странице оркестрации и убедитесь, что имя модели не зашито в переменные промпта.
  • Рабочий процесс / агент: модель выбирается отдельно для каждого узла LLM или агента; в разных узлах могут быть разные модели.
  • База знаний: в системных настройках моделей укажите Embedding и Rerank; индексация и запросы должны использовать один и тот же набор.

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

5. Типовые ошибки и порядок поиска

Симптом Вероятная причина Что делать
401 Unauthorized Неверный или просроченный ключ, лишние символы Перепроверьте через curl, вставьте ключ заново
404 Not Found Неверный путь Base URL Убедитесь, что указано /v1, без полного пути интерфейса
model not found Имя не совпадает с именем на шлюзе Сверьтесь с /v1/models, проверьте регистр
Тайм-аут запроса Dify не видит провайдера или тот отвечает медленно Проверьте сеть, DNS, межсетевой экран и прокси
400 context length Контекст или лимит вывода больше фактического Уменьшите параметры, длинный текст сначала делите
429 Too Many Requests Сработал лимит провайдера Снизьте параллельность, настройте повторы с задержкой
Ошибка вызова инструментов Модель не поддерживает функции или формат не тот Отключите инструменты, проверьте обычный диалог
Сбой поиска по базе знаний Несовпадение размерности Embedding Верните прежнюю модель или перестройте индекс

Ещё один легко упускаемый момент: если Dify развёрнут в облаке или контейнере, адреса localhost, 127.0.0.1 и частные сети обычно недоступны; в некоторых версиях включена защита от SSRF, которая блокирует внутренние запросы. Опубликуйте модель по публичному HTTPS-адресу или настройте прокси и белый список согласно документации для самостоятельного развёртывания.

6. Стабильность и стоимость

После подключения стоит добавить три вещи:

  1. Тайм-ауты и повторы: тайм-аут ставьте по самой медленной части бизнес-цепочки, повторы — только для 429 и 5xx, чтобы не платить дважды.
  2. Журнал вызовов: сохраняйте минимум имя модели, длительность, расход токенов и код ошибки — тогда сбой можно привязать к конкретному узлу.
  3. Контроль контекста: больше фрагментов из базы знаний не значит лучше; нерелевантные куски увеличивают расход и мешают ответу.

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

Частые вопросы

Обязательно ли устанавливать плагин для своей модели в Dify?

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

Почему curl работает, а Dify выдаёт ошибку?

Проверьте три вещи: видит ли сеть Dify указанный адрес; не добавляет ли интерфейс путь к Base URL автоматически; не попали ли в ключ пробел или перевод строки. Облачный Dify не может обратиться к вашему внутреннему адресу — это самая частая причина.

Можно ли подключить несовместимый интерфейс напрямую?

Нет. Сначала его нужно привести к формату OpenAI через шлюз или слой адаптации, затем подключать к Dify. Слой преобразования должен обрабатывать структуру сообщений, вызовы инструментов и потоковые события — простого перенаправления URL недостаточно.

Можно ли добавить несколько моделей одному провайдеру?

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

Работает ли база знаний после смены Embedding-модели?

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

Что дальше

Подключение к Dify можно свести к трём правилам: сначала проверьте провайдера через curl, затем указывайте параметры по реальным возможностям, в конце проверьте привязку в каждом узле. Если нужен единый OpenAI-совместимый вход и управление расходом, можно зарегистрироваться в ZSQH AI Gateway; модели и цены смотрите в разделе тарифов.

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