Классификаторы на базе YandexGPT
Yandex Foundation Models позволяет классифицировать передаваемые в промтах текстовые запросы. Классификация в моделях на базе YandexGPT реализована в Foundation Models Text Classification API.
В Foundation Models доступна классификация трех типов:
- Бинарная классификация относит запрос к одному из двух возможных классов. Например, спам
или не спам. - Многоклассовая классификация относит запрос к одному (и только к одному) из более чем двух классов. Например, центральный процессор компьютера может относиться только к одному поколению.
- Классификация с несколькими метками позволяет относить запрос одновременно к нескольким разным классам, которые не являются взаимоисключающими. Например, к одному и тому же посту в социальной сети может относиться одновременно несколько хештегов
.
Модели классификации доступны только в синхронном режиме.
Сервис Foundation Models предоставляет классификаторы двух видов: по промту на базе YandexGPT Lite и YandexGPT Pro и дообучаемые классификаторы на базе YandexGPT Lite.
Чтобы использовать модели классификаторов Yandex Foundation Models, необходима роль ai.languageModels.user
или выше на каталог.
Классификаторы по промту
Классификаторы по промту Foundation Models позволяют выполнять бинарную и многоклассовую классификацию, не требуют дообучения модели и управляются промтом. Метод fewShotClassify Text Classification API позволяет использовать два классификатора по промту: Zero-shot и Few-shot. В метод fewShotClassify
можно передать от двух до двадцати классов.
Совет
Задавайте осмысленные названия для классов labels
: это обязательное условие получения корректных результатов классификации. Например: вместо классов хм
и фз
используйте классы химия
и физика
.
Классификатор Zero-shot
Классификатор Zero-shot позволяет выполнять бинарную и многоклассовую классификацию, передавая в теле запроса только идентификатор модели, описание задания, текст запроса и массив с именами классов.
Формат тела запроса для классификатора Zero-shot:
{
"modelUri": "string",
"taskDescription": "string",
"labels": [
"string",
"string",
...
"string"
],
"text": "string"
}
Где:
-
modelUri
— идентификатор модели, которая будет использоваться для классификации сообщения. Параметр содержит идентификатор каталога Yandex Cloud. -
taskDescription
— текстовое описание задания для классификатора. -
labels
— массив классов.Задавайте осмысленные названия для классов
labels
: это обязательное условие получения корректных результатов классификации. Например: вместо классовхм
ифз
используйте классыхимия
ифизика
. -
text
— текстовое содержимое сообщения.
Для запросов к классификаторам Zero-shot используйте эндпоинт https://llm.api.cloud.yandex.net/foundationModels/v1/fewShotTextClassification
.
Классификатор Few-shot
Классификатор Few-shot позволяет выполнять бинарную и многоклассовую классификацию, передавая в модель массив с примерами запросов для классов, заданных в поле labels
. Примеры запросов передаются в поле samples
тела запроса и позволяют улучшить качество результатов, выдаваемых классификатором.
Формат тела запроса для классификатора Few-shot:
{
"modelUri": "string",
"taskDescription": "string",
"labels": [
"string",
"string",
...
"string"
],
"text": "string",
"samples": [
{
"text": "string",
"label": "string"
},
{
"text": "string",
"label": "string"
},
...
{
"text": "string",
"label": "string"
}
]
}
Где:
-
modelUri
— идентификатор модели, которая будет использоваться для классификации сообщения. Параметр содержит идентификатор каталога Yandex Cloud. -
taskDescription
— текстовое описание задания для классификатора. -
labels
— массив классов.Задавайте осмысленные названия для классов
labels
: это обязательное условие получения корректных результатов классификации. Например: вместо классовхм
ифз
используйте классыхимия
ифизика
. -
text
— текстовое содержимое сообщения. -
samples
— массив с примерами запросов для классов, заданных в полеlabels
. Примеры запросов передаются в виде объектов, каждый из которых содержит один образец текстового запроса и класс, к которому такой запрос следует относить.
Для запросов к классификаторам Few-shot используйте эндпоинт https://llm.api.cloud.yandex.net/foundationModels/v1/fewShotTextClassification
.
Важно
Вы можете передавать несколько примеров классификации в одном запросе. Все примеры в запросе не должны превышать 6000 токенов.
Дообучаемые классификаторы
Если качество результатов классификаторов Zero-shot и Few-shot вас не устраивает, дообучите собственный классификатор на базе YandexGPT Lite. Дообучаемые классификаторы могут быть обучены всем поддерживаемым типам классификации.
Чтобы выполнить запрос к классификатору дообученной в DataSphere модели, используйте метод classify Text Classification API. В этом случае в модель требуется передать только идентификатор модели и текст запроса. Имена классов, по которым модель будет распределять запросы, должны быть заданы в процессе дообучения модели и в запросе не передаются.
Формат тела запроса для дообученного классификатора:
{
"modelUri": "string",
"text": "string"
}
Где:
modelUri
— идентификатор модели, которая будет использоваться для классификации сообщения. Параметр содержит идентификатор каталога Yandex Cloud и идентификатор дообученного классификатора.text
— текстовое содержимое сообщения. Суммарное количество токенов на один запрос не должно превышать 8000.
Для запросов к дообучаемым классификаторам используйте эндпоинт https://llm.api.cloud.yandex.net:443/foundationModels/v1/textClassification
.
Имена классов, по которым модель будет распределять запросы, должны быть заданы в процессе дообучения модели и в запросе не передаются.
Формат ответа
Все типы классификаторов Foundation Models возвращают результат в следующем формате:
{
"predictions": [
{
"label": "string",
"confidence": "number",
},
{
"label": "string",
"confidence": "number",
},
...
{
"label": "string",
"confidence": "number",
}
],
"modelVersion": "string"
}
Где:
-
label
— имя класса. -
confidence
— значение вероятности отнесения текста запроса к данному классу.При многоклассовой классификации сумма значений полей вероятности (
confidence
) для всех классов всегда равна1
.При классификации с несколькими метками значение поля вероятности (
confidence
) для каждого класса рассчитывается независимо (сумма значений не равна1
).