create_tasks

toloka.client.TolokaClient.create_tasks | Source code

Creates several tasks in Toloka.

You can create general and control tasks together. Tasks can be added to different pools. Note that pools must be configured before accepting new tasks. For example, mixer configuration must be set.

If async_mode is True, create_tasks starts asynchronous operation internally and waits for the completion of it. It is recommended to create no more than 10,000 tasks per request in this mode.

If async_mode is False, no more than 5000 tasks can be created in a single request. Do not change async_mode to False, if you don't understand clearly why you need it.

You can send no more than 100,000 requests per minute and no more than 2,000,000 requests per day.

Parameters description

ParametersTypeDescription
tasksList[Task]

A list of tasks to be created.

operation_idOptional[UUID]

The UUID of the operation that conforms to the RFC4122 standard. The UUID is used if async_mode is True.

Specify UUID to avoid accidental errors like Toloka operation duplication caused by network problems. If you send several requests with the same operation_id, Toloka performs the operation only once.

async_modeOptional[bool]

Request processing mode:

  • True — Asynchronous operation is started internally.
  • False — The request is processed synchronously.

Default value: True.

allow_defaultsOptional[bool]

Active overlap setting:

  • True — Use the overlap that is set in the defaults.default_overlap_for_new_tasks pool parameter.
  • False — Use the overlap that is set in the overlap task parameter.

Default value: False.

open_poolOptional[bool]

Open the pool immediately after creating a task suite, if the pool is closed.

Default value: False.

skip_invalid_itemsOptional[bool]

Task validation option:

  • True — All valid tasks are added. If a task does not pass validation, then it is not added to Toloka. All such tasks are listed in the response.
  • False — If any task does not pass validation, then the operation is cancelled and no tasks are added to Toloka.

Default value: False.

Examples:

The first example shows how to create tasks using a TSV file.

import pandas
dataset = pandas.read_csv('dataset.tsv', sep=';')
tasks = [
toloka.client.Task(input_values={'image': url}, pool_id='1080020')
for url in dataset['image'].values[:50]
]
result = toloka_client.create_tasks(tasks, allow_defaults=True)
print(len(result.items))

The second example shows how to add control tasks.

import pandas
dataset = pandas.read_csv('labeled_dataset.tsv', sep=';')
golden_tasks = []
for _, row in dataset.iterrows():
golden_tasks.append(
toloka.client.Task(
input_values={'image': row['image']},
known_solutions=[
toloka.client.BaseTask.KnownSolution(output_values={'animal': row['label']})
],
pool_id='1080020',
)
)
result = toloka_client.create_tasks(golden_tasks, allow_defaults=True)
print(len(result.items))

Last updated: August 28, 2023

Toloka-Kit
OverviewGetting API keyQuick start
Recipes
Reference
toloka.client
toloka.async_client
toloka.autoquality [autoquality]
toloka.metrics
toloka.streaming