Плагин модели описывает себя двумя сущностями: Provider (раздел Provider на этой странице), который отвечает за аутентификацию и перечисляет поддерживаемые модели, и одна сущность AIModelEntity (AIModelEntity) на каждую модель, объявляющая её тип, возможности и параметры.
Все перечисленные ниже сущности являются подклассами Pydantic BaseModel из модуля dify_plugin.entities.model.

Быстрое решение

Только аутентификация: предопределённые модели

Пользователь вставляет API-ключ и получает весь ваш список моделей. Задайте configurate_methods: [predefined-model] и определите AIModelEntity для каждой модели в YAML.

Модели, предоставляемые пользователем

Пользователь настраивает собственное имя модели и базовый URL (эндпоинты, совместимые с OpenAI, пользовательские развёртывания). Используйте configurate_methods: [customizable-model] и см. Настраиваемая модель.

Смешанный

Встроенный каталог плюс добавленные пользователем пользовательские модели. Объедините оба значения configurate_methods.

Пошаговое руководство

Сквозной пример приведён в разделе Создание нового поставщика модели.

Provider

string
Идентификатор поставщика, например: openai
object
Отображаемое имя поставщика, i18n, можно задать как для языка en_US (английский), так и для zh_Hans (китайский)
string
Китайская метка, если не задана, по умолчанию используется en_US
string
required
Английская метка
object
Описание поставщика, i18n
string
Китайское описание
string
required
Английское описание
object
Маленький значок поставщика, хранится в каталоге _assets внутри соответствующего каталога реализации поставщика
string
Китайский значок
string
required
Английский значок
object
Большой значок поставщика, хранится в каталоге _assets внутри соответствующего каталога реализации поставщика
string
Китайский значок
string
required
Английский значок
string
Значение цвета фона, например: #FFFFFF, если пусто, отображается значение цвета по умолчанию из фронтенда
object
Справочная информация
object
Заголовок справки, i18n
string
Китайский заголовок
string
required
Английский заголовок
object
Ссылка на справку, i18n
string
Китайская ссылка
string
required
Английская ссылка
array[ModelType]
required
Поддерживаемые типы моделей
array[ConfigurateMethod]
required
Методы конфигурации
ProviderCredentialSchema
required
Спецификации учётных данных поставщика
ModelCredentialSchema
Спецификации учётных данных модели

AIModelEntity

string
required
Идентификатор модели, например: gpt-3.5-turbo
object
Отображаемое имя модели, i18n, можно задать как для языка en_US (английский), так и для zh_Hans (китайский)
string
Китайская метка
string
required
Английская метка
ModelType
required
Тип модели
array[ModelFeature]
Список поддерживаемых возможностей
object
required
Свойства модели
LLMMode
Режим (доступно для типа модели llm)
integer
Размер контекста (доступно для типов моделей llm и text-embedding)
integer
Максимальное число чанков (доступно для типов моделей text-embedding и moderation)
integer
Максимальный лимит загрузки файла, единица измерения: MB. (доступно для типа модели speech2text)
string
Поддерживаемые форматы расширений файлов, например: mp3,mp4 (доступно для типа модели speech2text)
string
Голос по умолчанию, обязательно: alloy,echo,fable,onyx,nova,shimmer (доступно для типа модели tts)
array
Список доступных голосов (доступно для типа модели tts)
string
Модель голоса
string
Отображаемое имя модели голоса
string
Поддерживаемые языки для модели голоса
integer
Лимит слов для одного преобразования, по умолчанию — сегментация по абзацам (доступно для типа модели tts)
string
Поддерживаемые форматы расширений аудиофайлов, например: mp3,wav (доступно для типа модели tts)
integer
Число параллельных задач, поддерживаемых для преобразования текста в аудио (доступно для типа модели tts)
integer
Максимальное число символов на чанк (доступно для типа модели moderation)
array[ParameterRule]
Правила параметров вызова модели
PriceConfig
Информация о ценах
boolean
Признак того, что модель устарела. Если модель устарела, она больше не отображается в списке моделей, но те, что уже настроены, можно продолжать использовать. По умолчанию — False.

ModelType

string
Модель генерации текста
string
Эмбеддинг-модель текста
string
Реранк-модель
string
Распознавание речи
string
Синтез речи
string
Модерация контента

ConfigurateMethod

string
Предопределённая модель — означает, что пользователю достаточно настроить единые учётные данные поставщика, чтобы использовать предопределённые модели этого поставщика.
string
Настраиваемая модель — пользователю необходимо добавить конфигурацию учётных данных для каждой модели.
string
Получение с удалённого сервера — аналогично методу конфигурации predefined-model, нужны только единые учётные данные поставщика, но модели запрашиваются у поставщика с использованием информации об учётных данных.

ModelFeature

string
Рассуждение агента; как правило, модели объёмом более 70B обладают способностями к цепочке рассуждений (chain-of-thought).
string
Vision, то есть понимание изображений.
string
Вызов инструментов
string
Вызов нескольких инструментов
string
Потоковый вызов инструментов

FetchFrom

string
Предопределённая модель
string
Удалённая модель

LLMMode

string
Завершение текста
string
Чат

ParameterRule

string
required
Фактическое имя параметра для вызова модели
string
Использовать шаблон
Подробнее об использовании шаблонов см. примеры в разделе Создание нового поставщика модели.
По умолчанию предусмотрено 5 предварительно настроенных шаблонов содержимого переменных:
  • temperature
  • top_p
  • frequency_penalty
  • presence_penalty
  • max_tokens
Вы можете напрямую задать имя переменной шаблона в use_template, что задействует конфигурацию по умолчанию из entities.defaults.PARAMETER_RULE_TEMPLATE без необходимости задавать какие-либо параметры, кроме name и use_template. Если заданы дополнительные параметры конфигурации, они переопределят конфигурацию по умолчанию. В качестве примера можно обратиться к openai/llm/gpt-3.5-turbo.yaml.
object
Метка, i18n
string
Китайская метка
string
required
Английская метка
string
Тип параметра
string
Целое число
string
Число с плавающей точкой
string
Строка
string
Логическое значение
object
Справочная информация
string
Китайская справочная информация
string
required
Английская справочная информация
boolean
Обязателен ли параметр, по умолчанию — False
int/float/string/boolean
Значение по умолчанию
int/float
Минимальное значение, применимо только к числовым типам
int/float
Максимальное значение, применимо только к числовым типам
integer
Точность, число сохраняемых знаков после запятой, применимо только к числовым типам
array[string]
Значения вариантов выпадающего списка, применимо только когда type равен string; если не задано или равно null, значения вариантов не ограничиваются

PriceConfig

float
Цена за единицу ввода, то есть цена за единицу промпта
float
Цена за единицу вывода, то есть цена за единицу возвращаемого контента
float
Единица измерения цены, например, если цена указана за 1M токенов, то число токенов на единицу, соответствующее цене за единицу, равно 0.000001
string
Единица валюты

ProviderCredentialSchema

array[CredentialFormSchema]
required
Спецификации формы учётных данных

ModelCredentialSchema

object
required
Идентификатор модели, имя переменной по умолчанию — model
object
required
Отображаемое имя элемента формы модели
string
required
Английский
string
Китайский
object
required
Содержимое подсказки модели
string
required
Английский
string
Китайский
array[CredentialFormSchema]
required
Спецификации формы учётных данных

CredentialFormSchema

string
required
Имя переменной элемента формы
object
required
Метка элемента формы
string
required
Английский
string
Китайский
FormType
required
Тип элемента формы
boolean
Обязателен ли элемент
string
Значение по умолчанию
array[FormOption]
Атрибут элемента формы, специфичный для select или radio, определяет содержимое выпадающего списка
object
Атрибут элемента формы, специфичный для text-input, текст-заполнитель элемента формы
string
required
Английский
string
Китайский
integer
Атрибут элемента формы, специфичный для text-input, определяет максимальную длину ввода; 0 означает отсутствие ограничения
array[FormShowOnObject]
Отображать, когда значения других элементов формы удовлетворяют условиям; пустое значение означает отображать всегда

FormType

string
Компонент ввода текста
string
Компонент ввода пароля
string
Выпадающий список с одиночным выбором
string
Компонент-переключатель (radio)
string
Компонент-переключатель (switch), поддерживает только true и false

FormOption

object
required
Метка
string
required
Английский
string
Китайский
string
required
Значение варианта выпадающего списка
array[FormShowOnObject]
Отображать, когда значения других элементов формы удовлетворяют условиям; пустое значение означает отображать всегда

FormShowOnObject

string
required
Имя переменной другого элемента формы
string
required
Значение переменной другого элемента формы

Связанные ресурсы


Edit this page | Report an issue