create_tasks
toloka.client.TolokaClient.create_tasks
Creates several tasks in Toloka using a single request.
Tasks can be added to different pools. You can add together regular tasks and control tasks. You can send a maximum of 100,000 requests of this kind per minute and a maximum of 2,000,000 requests per day.
By default, create_tasks
starts asynchronous operation internally and waits for the completion of it. Do not
change async_mode
to False, if you do not understand clearly why you need it.
Parameters Description
Parameters | Type | Description |
---|---|---|
tasks |
List[Task] | List of tasks to be created. |
allow_defaults |
Optional[bool] | Overlap setting:
|
open_pool |
Optional[bool] | Open the pool immediately after creating a task suite, if the pool is closed. |
skip_invalid_items |
Optional[bool] | Task validation option:
|
async_mode |
Optional[bool] | Request processing mode:
|
-
Returns:
An object with created tasks in
items
and invalid tasks invalidation_errors
. -
Return type:
Examples:
The first example shows how to create regular tasks using a TSV file.
dataset = pandas.read_csv('dataset.tsv', sep=' ')
tasks = [
toloka.task.Task(input_values={'image': url}, pool_id=existing_pool_id)
for url in dataset['image'].values[:50]
]
created_result = toloka_client.create_tasks(tasks, allow_defaults=True)
print(len(created_result.items))
The second example shows how to create control tasks.
dataset = pd.read_csv('dateset.tsv', sep=';')
golden_tasks = []
for _, row in dataset.iterrows():
golden_tasks.append(
toloka.task.Task(
input_values={'image': row['image']},
known_solutions = [toloka.task.BaseTask.KnownSolution(output_values={'animal': row['label']})],
pool_id = existing_pool_id,
)
)
created_result = toloka_client.create_tasks(golden_tasks, allow_defaults=True)
print(len(created_result.items))