Dify объединяет оркестрацию промптов, поиск по базе знаний, рабочие процессы и агентов в одном визуальном интерфейсе, но встроенный список моделей не всегда покрывает то, что нужно вам. Если целевой сервис предоставляет OpenAI-совместимый интерфейс, его можно подключить как «свою модель» и работать со своим ключом и своим счётом.
На практике людей останавливают не кнопки, а детали: в Base URL забыли /v1, имя модели не совпадает с тем, что доступно на шлюзе, не включён вызов функций, а сеть Dify не видит ваш внутренний адрес. Разберём порядок «подготовка — добавление — привязка — разбор ошибок»; названия элементов интерфейса зависят от версии.
Примечание: Dify — товарный знак соответствующего правообладателя; статья не подразумевает аффилированности. Названия моделей, длина контекста и цены смотрите в разделе тарифов; примеры основаны на распространённых версиях октября 2026 года.
1. Что проверить до подключения
Не спешите открывать Dify — сначала убедитесь минимальным запросом, что провайдер доступен. Проверьте четыре вещи:
- Протокол: интерфейс OpenAI-совместим и предоставляет как минимум
/v1/chat/completions. - Base URL: в большинстве сервисов указывается до
/v1, а не полный/v1/chat/completions. - Имя модели: должно совпадать с тем, что возвращает
/v1/models, включая регистр, суффикс версии и псевдонимы. - Возможности: поддерживаются ли потоковый вывод, вызов функций и изображения; для базы знаний нужна ещё размерность 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 управляется плагинами, поэтому вход и названия полей могут меняться. Типичный порядок:
- Откройте страницу настроек провайдеров моделей.
- Найдите плагин OpenAI-API-compatible (OpenAI-совместимый), установите или включите его — название зависит от версии.
- Нажмите «Добавить модель» и выберите тип.
- Укажите имя модели, API-ключ и Base URL.
- Заполните длину контекста, максимальный вывод и другие параметры по реальным возможностям модели.
- Сохраните и нажмите «Проверить», чтобы убедиться, что приходит ответ.
Что важно в полях:
| Поле | Как правильно | Частая ошибка |
|---|---|---|
| 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. Стабильность и стоимость
После подключения стоит добавить три вещи:
- Тайм-ауты и повторы: тайм-аут ставьте по самой медленной части бизнес-цепочки, повторы — только для 429 и 5xx, чтобы не платить дважды.
- Журнал вызовов: сохраняйте минимум имя модели, длительность, расход токенов и код ошибки — тогда сбой можно привязать к конкретному узлу.
- Контроль контекста: больше фрагментов из базы знаний не значит лучше; нерелевантные куски увеличивают расход и мешают ответу.
Dify отвечает только за оркестрацию, расходы формируют вызовы моделей. Замена простых узлов на небольшую модель, сжатие промптов и отказ от лишних повторов обычно эффективнее смены провайдера. Конкретные цены смотрите в разделе тарифов, не закладывайте фиксированные цифры в долгосрочный бюджет.
Частые вопросы
Обязательно ли устанавливать плагин для своей модели в Dify?
В новых версиях подключение управляется плагинами провайдеров; названия и вход зависят от версии. Если нужного плагина нет, поищите в магазине плагинов совместимые с OpenAI или обновитесь до версии, где такая возможность поддерживается.
Почему curl работает, а Dify выдаёт ошибку?
Проверьте три вещи: видит ли сеть Dify указанный адрес; не добавляет ли интерфейс путь к Base URL автоматически; не попали ли в ключ пробел или перевод строки. Облачный Dify не может обратиться к вашему внутреннему адресу — это самая частая причина.
Можно ли подключить несовместимый интерфейс напрямую?
Нет. Сначала его нужно привести к формату OpenAI через шлюз или слой адаптации, затем подключать к Dify. Слой преобразования должен обрабатывать структуру сообщений, вызовы инструментов и потоковые события — простого перенаправления URL недостаточно.
Можно ли добавить несколько моделей одному провайдеру?
Да. Каждая модель настраивается отдельно: имя, контекст, переключатели возможностей. В приложении выбирайте нужную; в названиях лучше отражать назначение, чтобы члены команды не путались.
Работает ли база знаний после смены Embedding-модели?
Обычно напрямую смешивать нельзя. При смене размерности или семантического пространства старый индекс не соответствует новым запросам — базу знаний нужно перестроить и переиндексировать. Перед сменой проверьте поиск на небольшом наборе данных.
Что дальше
Подключение к Dify можно свести к трём правилам: сначала проверьте провайдера через curl, затем указывайте параметры по реальным возможностям, в конце проверьте привязку в каждом узле. Если нужен единый OpenAI-совместимый вход и управление расходом, можно зарегистрироваться в ZSQH AI Gateway; модели и цены смотрите в разделе тарифов.
Читайте также:
