A framework for producing custom agens for the Encord echosystem.
Project description
Documentation | Try it Now | Blog | Join our Community
Easily build agents for the Encord echo system. With just few lines of code, you can take automation to the next level.
python -m pip install encord-agents
Key features:
- ⚡Easy: Multiple template agents to be adapted and hosted via GCP, own infra, or cloud.
- ⏩ Convenient: The library conveniently loads data via the Encord SDK upon request.
- 👨💻 Focus: With essential resources readily available, you can focus on what matters. Create agents with pre-existing (or custom) dependencies for loading labels and data.
- 🤏 Slim: the library is slim at it's
core
and should not conflict with the dependencies of most projects.
💡 For the full documentation and end-to-end examples, please see here.
Here are some use-cases:
Here's how to build an Agent:
from uuid import UUID
from encord.objects.ontology_labels_impl import LabelRowV2
from encord_agents.tasks import Runner
runner = Runner(project_hash="<your_project_hash>")
@runner.stage("<your_agent_stage_uuid>")
def by_file_name(lr: LabelRowV2) -> UUID | None:
# Assuming the data_title is of the format "%d.jpg"
# and in the range [0; 100]
priority = int(lr.data_title.split(".")[0]) / 100
lr.set_priority(priority=priority)
return "<your_pathway_uuid>"
if __name__ == "__main__":
runner.run()
You can also inject dependencies:
from typing_extensions import Annotated
from encord.objects import LabelRowV2
from encord_agents.tasks import Runner, Depends
runner = Runner(project_hash="<your_project_hash>")
def my_custom_dependency(label_row: LabelRowV2) -> dict:
# e.g., look up additional data in own db
return db.query("whatever")
@runner.stage(stage="<my_stage_name>")
def by_custom_data(
custom_data: Annotated[dict, Depends(my_custom_dependency)]
) -> str:
# `custom_data` automatically injected here.
# ... do your thing
# then, return name of task pathway.
if __name__ == "__main__":
runner.run()
Please visit our 📖 Documentation for a complete reference to how to use the agents library.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
encord_agents-0.1.4.tar.gz
(37.8 kB
view details)
Built Distribution
File details
Details for the file encord_agents-0.1.4.tar.gz
.
File metadata
- Download URL: encord_agents-0.1.4.tar.gz
- Upload date:
- Size: 37.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.6 Linux/6.8.0-1017-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60b386fb2619a5a5101a849422d4420bd27f8efea7f17b77eeb3e57bb136bde6 |
|
MD5 | ee6fb99b8c34eb1833d180a5f2db5a60 |
|
BLAKE2b-256 | 52a54de0bd64e203d2f947f35058fbbfef6c001db39c7dd2448c4d97072c1dca |
File details
Details for the file encord_agents-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: encord_agents-0.1.4-py3-none-any.whl
- Upload date:
- Size: 49.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.6 Linux/6.8.0-1017-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2d016b8b0ee43f47009dd7aa74f1eefd7efa91517172d6968d523f2b033b6f2 |
|
MD5 | 3333a754229648286c39cfa88ced36b2 |
|
BLAKE2b-256 | 46baa57ef7ed9da4ff5e2ea18bfbbd51d105486ac39f134dbe3b1e50ab0d82b9 |