from dataclasses import dataclass from datetime import datetime from typing import List from sqlalchemy import select from sqlalchemy.exc import IntegrityError from sqlalchemy.ext.asyncio import AsyncSession from app.core.logging import get_logger from app.db.models.annotation_management import AnnotationTemplate from app.module.annotation.utils.config_validator import LabelStudioConfigValidator logger = get_logger(__name__) DATA_TYPE_IMAGE = "image" DATA_TYPE_AUDIO = "audio" DATA_TYPE_VIDEO = "video" CATEGORY_COMPUTER_VISION = "computer-vision" CATEGORY_AUDIO_SPEECH = "audio-speech" CATEGORY_VIDEO = "video" STYLE_HORIZONTAL = "horizontal" VERSION_DEFAULT = "1.0.0" IMAGE_CLASSIFICATION_LABEL_CONFIG = """ """ OBJECT_DETECTION_LABEL_CONFIG = """ """ SEMANTIC_SEGMENTATION_MASK_LABEL_CONFIG = """ """ SEMANTIC_SEGMENTATION_POLYGON_LABEL_CONFIG = """
""" ASR_SEGMENTS_LABEL_CONFIG = """