Task Agents (SDK)
TLDR;
Task Agents (https://app.encord.com/agents/task-agents or https://app.us.encord.com/agents/task-agents) are Workflow components in which a custom operation on all tasks in the Agent stage can be triggered. This allows you to set up pre-labeling, such as using foundation models such as GPT-4o, automated quality assurance, or any other custom action you need for your workflow.
Adding Task Agents to your Workflow
To add Task Agents to your Workflow you must add an Agent stage component to your Workflow.
-
Connect the Agent stage in the required place in your Workflow.
-
Click + next to Add pathway and give the pathway a meaningful name. Repeat this step for each additional pathway you want to add. Pathways allow you to connect the Agent stage to other workflow components.
Coming Soon! We’re currently evaluating webhooks for the Agent stage. Please let us know if this would help your use-case by reaching out to support@encord.com.
Configuring Task Agents
Use the Encord SDK to configure your Task Agent. The Task Agent executes the configured SDK script for all tasks that are routed through the Task Agent stage in your Workflow.
General Example
General Example
The General Example script shows how to configure a Task Agent with the name Agent 1
and with a pathway called continue to Review
.
Ensure that you:
- Replace
<private_key_path>
with the path to your private key. - Replace
<project_hash>
with the hash of your Project. - Insert your custom logic where the comment instructs you to do so.
Pre-Classification of Images Using GPT 4o
Pre-Classification of Images Using GPT 4o
The Pre-Classification script uses GPT 4o mini to route images to different annotation stages depending on what it is contained in the image. The Pre-Classification script applies to the following Workflow.
In the following script:
- Replace
<private_key_path>
with the hash of your private key. - Replace
<project_hash>
with the hash of your Project. - Replace
Agent 1
with the name of your Agent stage.
Pre-Labeling Videos Using a Mock Model
Pre-Labeling Videos Using a Mock Model
This guide makes the following assumptions:
- You have a model that takes video frames as an input and provides bounding box coordinates and confidence scores as an output.
- You have installed the
encord-agents
library using the following command:
The Pre-Labeling Script selects a random class from the Ontology, generates random bounding box labels, and applies random confidence scores for video frames before advancing the videos to the annotation stage (Annotate 1
). Below is an example of a Workflow where the Pre-Labeling agent can be effectively utilized.
To authenticate, you must set either of following environment variables in the environment that you plan to run your agents.
- ENCORD_SSH_KEY: Containing the raw private key file content
- ENCORD_SSH_KEY_FILE: Containing the absolute path to the private key file
In the following script:
- Replace
<project_hash>
with the hash of your Project. - Replace the mock model with your own model, and adapt the rest of the script according to your needs.
- If you choose to give your python file a different name, ensure you replace all references to
prelabel_video.py
with your new file name.
Triggering the Task Agent
Task Agents aggregate all tasks that reach the Agent stage in the workflow. Your custom script must be triggered at this stage before the tasks proceed further in the workflow.
End-to-End Agent Example
We provide end-to-end examples using Jupyter Notebooks here.