Annotators
zenml.annotators
special
Initialization of the ZenML annotator stack component.
base_annotator
Base class for ZenML annotator stack components.
BaseAnnotator (StackComponent, ABC)
Base class for all ZenML annotators.
Source code in zenml/annotators/base_annotator.py
class BaseAnnotator(StackComponent, ABC):
"""Base class for all ZenML annotators."""
@property
def config(self) -> BaseAnnotatorConfig:
"""Returns the `BaseAnnotatorConfig` config.
Returns:
The configuration.
"""
return cast(BaseAnnotatorConfig, self._config)
@abstractmethod
def get_url(self) -> str:
"""Gets the URL of the annotation interface.
Returns:
The URL of the annotation interface.
"""
@abstractmethod
def get_url_for_dataset(self, dataset_name: str) -> str:
"""Gets the URL of the annotation interface for a specific dataset.
Args:
dataset_name: name of the dataset.
Returns:
The URL of the dataset annotation interface.
"""
@abstractmethod
def get_datasets(self) -> List[Any]:
"""Gets the datasets currently available for annotation.
Returns:
The datasets currently available for annotation.
"""
@abstractmethod
def get_dataset_names(self) -> List[str]:
"""Gets the names of the datasets currently available for annotation.
Returns:
The names of the datasets currently available for annotation.
"""
@abstractmethod
def get_dataset_stats(self, dataset_name: str) -> Tuple[int, int]:
"""Gets the statistics of a dataset.
Args:
dataset_name: name of the dataset.
Returns:
A tuple containing (labeled_task_count, unlabeled_task_count) for
the dataset.
"""
@abstractmethod
def launch(self, url: Optional[str]) -> None:
"""Launches the annotation interface.
Args:
url: The URL of the annotation interface.
"""
@abstractmethod
def add_dataset(self, **kwargs: Any) -> Any:
"""Registers a dataset for annotation.
Args:
**kwargs: keyword arguments.
Returns:
The dataset or confirmation object on adding the dataset.
"""
@abstractmethod
def get_dataset(self, **kwargs: Any) -> Any:
"""Gets the dataset with the given name.
Args:
**kwargs: keyword arguments.
Returns:
The dataset with the given name.
"""
@abstractmethod
def delete_dataset(self, **kwargs: Any) -> None:
"""Deletes a dataset.
Args:
**kwargs: keyword arguments.
"""
@abstractmethod
def get_labeled_data(self, **kwargs: Any) -> Any:
"""Gets the labeled data for the given dataset.
Args:
**kwargs: keyword arguments.
Returns:
The labeled data for the given dataset.
"""
@abstractmethod
def get_unlabeled_data(self, **kwargs: str) -> Any:
"""Gets the unlabeled data for the given dataset.
Args:
**kwargs: Additional keyword arguments to pass to the Label Studio client.
Returns:
The unlabeled data for the given dataset.
"""
config: BaseAnnotatorConfig
property
readonly
Returns the BaseAnnotatorConfig
config.
Returns:
Type | Description |
---|---|
BaseAnnotatorConfig |
The configuration. |
add_dataset(self, **kwargs)
Registers a dataset for annotation.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
**kwargs |
Any |
keyword arguments. |
{} |
Returns:
Type | Description |
---|---|
Any |
The dataset or confirmation object on adding the dataset. |
Source code in zenml/annotators/base_annotator.py
@abstractmethod
def add_dataset(self, **kwargs: Any) -> Any:
"""Registers a dataset for annotation.
Args:
**kwargs: keyword arguments.
Returns:
The dataset or confirmation object on adding the dataset.
"""
delete_dataset(self, **kwargs)
Deletes a dataset.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
**kwargs |
Any |
keyword arguments. |
{} |
Source code in zenml/annotators/base_annotator.py
@abstractmethod
def delete_dataset(self, **kwargs: Any) -> None:
"""Deletes a dataset.
Args:
**kwargs: keyword arguments.
"""
get_dataset(self, **kwargs)
Gets the dataset with the given name.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
**kwargs |
Any |
keyword arguments. |
{} |
Returns:
Type | Description |
---|---|
Any |
The dataset with the given name. |
Source code in zenml/annotators/base_annotator.py
@abstractmethod
def get_dataset(self, **kwargs: Any) -> Any:
"""Gets the dataset with the given name.
Args:
**kwargs: keyword arguments.
Returns:
The dataset with the given name.
"""
get_dataset_names(self)
Gets the names of the datasets currently available for annotation.
Returns:
Type | Description |
---|---|
List[str] |
The names of the datasets currently available for annotation. |
Source code in zenml/annotators/base_annotator.py
@abstractmethod
def get_dataset_names(self) -> List[str]:
"""Gets the names of the datasets currently available for annotation.
Returns:
The names of the datasets currently available for annotation.
"""
get_dataset_stats(self, dataset_name)
Gets the statistics of a dataset.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
dataset_name |
str |
name of the dataset. |
required |
Returns:
Type | Description |
---|---|
Tuple[int, int] |
A tuple containing (labeled_task_count, unlabeled_task_count) for the dataset. |
Source code in zenml/annotators/base_annotator.py
@abstractmethod
def get_dataset_stats(self, dataset_name: str) -> Tuple[int, int]:
"""Gets the statistics of a dataset.
Args:
dataset_name: name of the dataset.
Returns:
A tuple containing (labeled_task_count, unlabeled_task_count) for
the dataset.
"""
get_datasets(self)
Gets the datasets currently available for annotation.
Returns:
Type | Description |
---|---|
List[Any] |
The datasets currently available for annotation. |
Source code in zenml/annotators/base_annotator.py
@abstractmethod
def get_datasets(self) -> List[Any]:
"""Gets the datasets currently available for annotation.
Returns:
The datasets currently available for annotation.
"""
get_labeled_data(self, **kwargs)
Gets the labeled data for the given dataset.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
**kwargs |
Any |
keyword arguments. |
{} |
Returns:
Type | Description |
---|---|
Any |
The labeled data for the given dataset. |
Source code in zenml/annotators/base_annotator.py
@abstractmethod
def get_labeled_data(self, **kwargs: Any) -> Any:
"""Gets the labeled data for the given dataset.
Args:
**kwargs: keyword arguments.
Returns:
The labeled data for the given dataset.
"""
get_unlabeled_data(self, **kwargs)
Gets the unlabeled data for the given dataset.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
**kwargs |
str |
Additional keyword arguments to pass to the Label Studio client. |
{} |
Returns:
Type | Description |
---|---|
Any |
The unlabeled data for the given dataset. |
Source code in zenml/annotators/base_annotator.py
@abstractmethod
def get_unlabeled_data(self, **kwargs: str) -> Any:
"""Gets the unlabeled data for the given dataset.
Args:
**kwargs: Additional keyword arguments to pass to the Label Studio client.
Returns:
The unlabeled data for the given dataset.
"""
get_url(self)
Gets the URL of the annotation interface.
Returns:
Type | Description |
---|---|
str |
The URL of the annotation interface. |
Source code in zenml/annotators/base_annotator.py
@abstractmethod
def get_url(self) -> str:
"""Gets the URL of the annotation interface.
Returns:
The URL of the annotation interface.
"""
get_url_for_dataset(self, dataset_name)
Gets the URL of the annotation interface for a specific dataset.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
dataset_name |
str |
name of the dataset. |
required |
Returns:
Type | Description |
---|---|
str |
The URL of the dataset annotation interface. |
Source code in zenml/annotators/base_annotator.py
@abstractmethod
def get_url_for_dataset(self, dataset_name: str) -> str:
"""Gets the URL of the annotation interface for a specific dataset.
Args:
dataset_name: name of the dataset.
Returns:
The URL of the dataset annotation interface.
"""
launch(self, url)
Launches the annotation interface.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
url |
Optional[str] |
The URL of the annotation interface. |
required |
Source code in zenml/annotators/base_annotator.py
@abstractmethod
def launch(self, url: Optional[str]) -> None:
"""Launches the annotation interface.
Args:
url: The URL of the annotation interface.
"""
BaseAnnotatorConfig (StackComponentConfig)
pydantic-model
Base config for annotators.
Attributes:
Name | Type | Description |
---|---|---|
notebook_only |
ClassVar[bool] |
if the annotator can only be used in a notebook. |
Source code in zenml/annotators/base_annotator.py
class BaseAnnotatorConfig(StackComponentConfig):
"""Base config for annotators.
Attributes:
notebook_only: if the annotator can only be used in a notebook.
"""
notebook_only: ClassVar[bool] = False
BaseAnnotatorFlavor (Flavor)
Base class for annotator flavors.
Source code in zenml/annotators/base_annotator.py
class BaseAnnotatorFlavor(Flavor):
"""Base class for annotator flavors."""
@property
def type(self) -> StackComponentType:
"""Returns the flavor type.
Returns:
The flavor type.
"""
return StackComponentType.ANNOTATOR
@property
def config_class(self) -> Type[BaseAnnotatorConfig]:
"""Config class for this flavor.
Returns:
The config class.
"""
return BaseAnnotatorConfig
@property
@abstractmethod
def implementation_class(self) -> Type[BaseAnnotator]:
"""Implementation class.
Returns:
The implementation class.
"""
return BaseAnnotator
config_class: Type[zenml.annotators.base_annotator.BaseAnnotatorConfig]
property
readonly
Config class for this flavor.
Returns:
Type | Description |
---|---|
Type[zenml.annotators.base_annotator.BaseAnnotatorConfig] |
The config class. |
implementation_class: Type[zenml.annotators.base_annotator.BaseAnnotator]
property
readonly
Implementation class.
Returns:
Type | Description |
---|---|
Type[zenml.annotators.base_annotator.BaseAnnotator] |
The implementation class. |
type: StackComponentType
property
readonly
Returns the flavor type.
Returns:
Type | Description |
---|---|
StackComponentType |
The flavor type. |