Интервалы распределения заданий
В Яндекс Заданиях можно установить интервалы для заданий для того, чтобы:
-
распределить контрольные или обучающие задания среди основных заданий в пуле при использовании «умного смешивания»;
-
отобрать основные, контрольные или обучающие задания для проверки мнением большинства.
В пуле на рисунке выше есть две страницы заданий, на каждой из которых может находиться не более семи заданий.
С помощью API Яндекс Заданий можно установить интервалы, используя следующий формат JSON:
"intervals": [
{
"from": 1,
"to": 5,
"frequency": 3
},
{
"from": 6,
"to": 1000,
"frequency": 5
}
]
Эти настройки можно изменить с помощью POST
-запроса при создании пула) или при помощи PUT
-запроса при редактировании пула.
Ниже представлены примеры POST
-запросов. PUT
-запросы выглядят так же, но они должны содержать все имеющиеся атрибуты пула вместе с теми, которые вы хотите изменить.
Распределение при «умном смешивании»
При использовании «умного смешивания» можно установить интервалы для контрольных и обучающих заданий в пуле и распределить эти задания неравномерно по всему пулу.
Пример запроса ниже позволяет сделать контрольными задания номер 1, 4 и 6 на первой странице заданий и задание номер 11 на второй странице заданий. См. схему на рисунке выше.
Для этого используйте параметр mixer_config.golden_task_distribution_function.intervals
.
Дополнительно задайте значения следующим параметрам:
-
установите значение параметра
mixer_config.real_tasks_count
равным 7, чтобы ограничить максимальное количество основных заданий на странице, как показано на схеме выше; -
установите значение параметра
mixer_config.golden_tasks_count
равным 0 и значение параметраmixer_config.min_golden_tasks_count
равным null для корректной работы «умного смешивания».
Пример запроса
curl -X POST 'https://tasks.yandex.ru/api/v1/pools' \
-H 'Content-Type: application/json' \
-H 'Authorization: OAuth PlaceYourRealOAuthToken_Here' \
-d '{
"project_id": "120798",
"private_name": "Cat or Dog?",
"will_expire": "2024-06-23T07:11:19.963",
"reward_per_assignment": 2,
"assignment_max_duration_seconds": 600,
"auto_accept_solutions": false,
"mixer_config": {
"golden_tasks_count": 0,
"golden_task_distribution_function": {
"distribution": "UNIFORM",
"intervals": [
{
"from": 1,
"to": 5,
"frequency": 3
},
{
"from": 6,
"to": 1000,
"frequency": 5
},
{
"from": 1001,
"frequency": 8
}
]
},
"min_golden_tasks_count": null,
"real_tasks_count": 7
},
"defaults": {
"default_overlap_for_new_task_suites": 1
}
}'
Пример запроса ниже позволяет сделать обучающими задания номер 1, 4 и 6 на первой странице заданий и задание номер 11 на второй странице заданий. См. схему на рисунке выше.
Для этого используйте параметр mixer_config.training_task_distribution_function.intervals
.
Дополнительно задайте значения следующим параметрам:
-
установите значение параметра
mixer_config.real_tasks_count
равным 7, чтобы ограничить максимальное количество основных заданий на странице, как показано на схеме выше; -
установите значение параметра
mixer_config.training_tasks_count
равным 0 и значение параметраmixer_config.min_training_tasks_count
равным null для корректной работы «умного смешивания».
Пример запроса
curl -X POST 'https://tasks.yandex.ru/api/v1/pools' \
-H 'Content-Type: application/json' \
-H 'Authorization: OAuth PlaceYourRealOAuthToken_Here' \
-d '{
"project_id": "120798",
"private_name": "Cat or Dog?",
"will_expire": "2024-06-23T07:11:19.963",
"reward_per_assignment": 2,
"assignment_max_duration_seconds": 600,
"auto_accept_solutions": false,
"mixer_config": {
"training_tasks_count": 0,
"training_task_distribution_function": {
"distribution": "UNIFORM",
"intervals": [
{
"from": 1,
"to": 5,
"frequency": 3
},
{
"from": 6,
"to": 1000,
"frequency": 5
},
{
"from": 1001,
"frequency": 8
}
]
},
"min_training_tasks_count": null,
"real_tasks_count": 7
},
"defaults": {
"default_overlap_for_new_task_suites": 1
}
}'
Выборочная проверка мнением большинства
В примерах запросов ниже содержатся интервалы для основных, контрольных и обучающих заданий, которые будут отобраны для проверки мнением большинства. Интервалы распределяются в соответствии со схемой выше.
В результате запроса ниже основные задания номер 1, 4 и 6 с первой страницы заданий и основное задание номер 11 со второй страницы заданий будут использованы для выборочной проверки мнением большинства, как на схеме выше.
Для подобной схемы используется параметр quality_control.checkpoints_config.real_settings.intervals
.
Пример запроса
curl -X POST 'https://tasks.yandex.ru/api/v1/pools' \
-H 'Content-Type: application/json' \
-H 'Authorization: OAuth PlaceYourRealOAuthToken_Here' \
-d '{
"project_id": "120798",
"private_name": "Cat or Dog?",
"will_expire": "2024-06-23T07:11:19.963",
"reward_per_assignment": 2,
"assignment_max_duration_seconds": 600,
"auto_accept_solutions": false,
"quality_control": {
"checkpoints_config": {
"real_settings": {
"target_overlap": 3,
"task_distribution_function": {
"scope": "PROJECT",
"distribution": "UNIFORM",
"window_days": 10,
"intervals": [
{
"from": 1,
"to": 5,
"frequency": 3
},
{
"from": 6,
"to": 1000,
"frequency": 5
},
{
"from": 1001,
"frequency": 8
}
]
}
}
}
},
"defaults": {
"default_overlap_for_new_task_suites": 1
}
}'
В результате запроса ниже контрольные задания номер 1, 4 и 6 с первой страницы заданий и контрольное задание номер 11 со второй страницы заданий будут использованы для выборочной проверки мнением большинства, как на схеме выше.
Для подобной схемы используется параметр quality_control.checkpoints_config.golden_settings.intervals
.
Пример запроса
curl -X POST 'https://tasks.yandex.ru/api/v1/pools' \
-H 'Content-Type: application/json' \
-H 'Authorization: OAuth PlaceYourRealOAuthToken_Here' \
-d '{
"project_id": "120798",
"private_name": "Cat or Dog?",
"will_expire": "2024-06-23T07:11:19.963",
"reward_per_assignment": 2,
"assignment_max_duration_seconds": 600,
"auto_accept_solutions": false,
"quality_control": {
"checkpoints_config": {
"golden_settings": {
"target_overlap": 3,
"task_distribution_function": {
"scope": "PROJECT",
"distribution": "UNIFORM",
"window_days": 10,
"intervals": [
{
"from": 1,
"to": 5,
"frequency": 3
},
{
"from": 6,
"to": 1000,
"frequency": 5
},
{
"from": 1001,
"frequency": 8
}
]
}
}
}
},
"defaults": {
"default_overlap_for_new_task_suites": 1
}
}'
В результате запроса ниже обучающие задания номер 1, 4 и 6 с первой страницы заданий и обучающее задание номер 11 со второй страницы заданий будут использованы для выборочной проверки мнением большинства, как на схеме выше.
Для подобной схемы используется параметр quality_control.checkpoints_config.training_settings.intervals
.
Пример запроса
curl -X POST 'https://tasks.yandex.ru/api/v1/pools' \
-H 'Content-Type: application/json' \
-H 'Authorization: OAuth PlaceYourRealOAuthToken_Here' \
-d '{
"project_id": "120798",
"private_name": "Cat or Dog?",
"will_expire": "2024-06-23T07:11:19.963",
"reward_per_assignment": 2,
"assignment_max_duration_seconds": 600,
"auto_accept_solutions": false,
"quality_control": {
"checkpoints_config": {
"training_settings": {
"target_overlap": 3,
"task_distribution_function": {
"scope": "PROJECT",
"distribution": "UNIFORM",
"window_days": 10,
"intervals": [
{
"from": 1,
"to": 5,
"frequency": 3
},
{
"from": 6,
"to": 1000,
"frequency": 5
},
{
"from": 1001,
"frequency": 8
}
]
}
}
}
},
"defaults": {
"default_overlap_for_new_task_suites": 1
}
}'