Concepts¶
This section explains the core concepts and terminology used in TaskMonk.
Core Entities¶
Task¶
A Task represents a single unit of work for an analyst. Tasks can vary in type based on the project requirements:
Image Annotation
Search Relevance
Data Labeling
Content Moderation
Task Structure:
Component |
Description |
|---|---|
Input Fields |
Data presented to the analyst for review |
Output Fields |
Information curated by the analyst |
Task Processing:
Tasks may go through multiple levels based on SLA requirements
At a single level, tasks can be analyzed by multiple analysts (parallel execution)
Majority rule can be applied to determine final values when needed
Analysts are typically associated with a Data Service Partner organization
Project¶
A Project is the basic organizational unit in TaskMonk. All configuration and role-based access control (RBAC) is defined at the project level.
Projects contain:
Field definitions
Processing levels
User permissions
Analyst assignments
Note
Projects are typically created by the Annotation Partner or TaskMonk Support team through the portal.
Batch¶
A Batch is a logical grouping of tasks that helps correlate work between customers and annotation partners.
Key Characteristics:
Typically corresponds to an input file and its corresponding output file
Can be assigned a priority level
Helps organize and track related tasks
Priority Management:
Tasks are processed in the order they are added to TaskMonk. However, batches can have priorities assigned:
Create batches using the Create Batch API
Modify priority using the Edit Batch API
Higher priority batches are processed first
Input¶
TaskMonk provides multiple methods to upload tasks to a batch:
Upload Methods¶
- 1. Single Task Upload
Upload individual tasks using the Add Task API
- 2. Bulk Upload via File
Upload Excel or CSV files using the Import Tasks API
- 3. Bulk Upload via Dictionary
Upload multiple tasks programmatically using the Dictionary API
- 4. Streaming Client
Use the streaming client for real-time task uploads
Job Tracking¶
All upload APIs return a job_id for tracking purposes.
Why Job Tracking?
Large task uploads may require preprocessing
Import process can take several minutes
Allows monitoring of upload progress
Monitoring Options:
Poll status using the Get Import Progress API
Receive email notifications upon completion
Get Slack notifications when import is complete
Output¶
Retrieving Results¶
Monitor batch progress using the Batch Status API, which returns:
Number of completed tasks
Number of pending tasks
Overall batch status
Output Methods¶
TaskMonk provides two primary methods to retrieve task results:
- Real-time Updates
Set up a streaming client to receive notifications as analysts complete tasks.
Immediate task-by-task updates
Real-time processing workflow
Ideal for continuous integration
- Batch Output
Retrieve complete output when the annotation partner finishes all tasks in a batch.
- Option 1: File Download
Use the Get Output File API
Returns:
job_idandfile_urlFile becomes available when job completes
Complete batch output in one file
- Option 2: Dictionary Output
Use the Get Dictionary Output API
Supports pagination
Configurable page size
Retrieve results in smaller chunks