Классификаторы на базе YandexGPT
Функциональность классификаторов на базе YandexGPT находится на стадии Preview.
Yandex Foundation Models позволяет классифицировать передаваемые в промтах текстовые запросы. Классификация в моделях на базе YandexGPT реализована в Foundation Models Text Classification API.
В Foundation Models доступна классификация трех типов:
- Бинарная классификация относит запрос к одному из двух возможных классов. Например, спам
или не спам. - Многоклассовая классификация относит запрос к одному (и только к одному) из более чем двух классов. Например, центральный процессор компьютера может относиться только к одному поколению.
- Классификация с несколькими метками позволяет относить запрос одновременно к нескольким разным классам, которые не являются взаимоисключающими. Например, к одному и тому же посту в социальной сети может относиться одновременно несколько хештегов
.
Модели классификации доступны только в синхронном режиме.
Сервис Foundation Models предоставляет классификаторы на базе YandexGPT двух видов: по промту и дообучаемые.
Классификаторы по промту
Классификаторы по промту 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 в Yandex DataSphere. Дообучаемые классификаторы могут быть обучены всем поддерживаемым типам классификации.
Чтобы выполнить запрос к классификатору дообученной в DataSphere модели, используйте метод classify Text Classification API. В этом случае в модель требуется передать только идентификатор модели и текст запроса. Имена классов, по которым модель будет распределять запросы, должны быть заданы в процессе дообучения модели и в запросе не передаются.
Формат тела запроса для классификатора дообученной в DataSphere модели:
{
"modelUri": "string",
"text": "string"
}
Где:
modelUri
— идентификатор модели, которая будет использоваться для классификации сообщения. Параметр содержит идентификатор каталога Yandex Cloud и идентификатор дообученной в DataSphere модели.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
).