CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-azure-ai-documentintelligence

Azure AI Document Intelligence client library for Python - a cloud service that uses machine learning to analyze text and structured data from documents

76

1.18x
Overview
Eval results
Files

classifier-management.mddocs/

Classifier Management Operations

Document classifier lifecycle management for automated document type classification and routing. Includes building, copying, and managing custom classifiers that can identify document types and direct them to appropriate processing workflows with support for multi-class document categorization.

Capabilities

Classifier Building

Creates custom document classifiers that can automatically identify and categorize document types, enabling intelligent document routing and processing workflows.

def begin_build_classifier(
    body: Union[BuildDocumentClassifierRequest, JSON, IO[bytes]],
    **kwargs: Any
) -> LROPoller[DocumentClassifierDetails]:
    """
    Builds a custom document classifier.

    Parameters:
    - body: Build request with classifier configuration and training data

    Returns:
    LROPoller[DocumentClassifierDetails]: Classifier building operation poller
    """

Usage example:

from azure.ai.documentintelligence.models import (
    BuildDocumentClassifierRequest,
    ClassifierDocumentTypeDetails,
    AzureBlobContentSource
)

# Build classifier for document type detection
build_request = BuildDocumentClassifierRequest(
    classifier_id="doc-type-classifier",
    description="Classifies invoices, receipts, and contracts",
    doc_types={
        "invoice": ClassifierDocumentTypeDetails(
            azure_blob_source=AzureBlobContentSource(
                container_url="https://account.blob.core.windows.net/invoices"
            )
        ),
        "receipt": ClassifierDocumentTypeDetails(
            azure_blob_source=AzureBlobContentSource(
                container_url="https://account.blob.core.windows.net/receipts"
            )
        ),
        "contract": ClassifierDocumentTypeDetails(
            azure_blob_source=AzureBlobContentSource(
                container_url="https://account.blob.core.windows.net/contracts"
            )
        )
    }
)

poller = admin_client.begin_build_classifier(build_request)
classifier = poller.result()
print(f"Classifier {classifier.classifier_id} built successfully")

Classifier Information Retrieval

Retrieves detailed information about trained classifiers including training statistics, document type configurations, and classification capabilities.

def get_classifier(
    classifier_id: str,
    **kwargs: Any
) -> DocumentClassifierDetails:
    """
    Gets detailed classifier information.

    Parameters:
    - classifier_id (str): Unique classifier identifier

    Returns:
    DocumentClassifierDetails: Complete classifier metadata and configuration
    """

def list_classifiers(
    **kwargs: Any
) -> Iterable[DocumentClassifierDetails]:
    """
    Lists all custom classifiers.

    Returns:
    Iterable[DocumentClassifierDetails]: Paginated classifier collection
    """

Classifier Deletion

Removes custom classifiers from the service to free up classifier quotas and clean up unused classifiers.

def delete_classifier(
    classifier_id: str,
    **kwargs: Any
) -> None:
    """
    Deletes a custom classifier.

    Parameters:
    - classifier_id (str): Classifier identifier to delete
    """

Classifier Copy Authorization

Generates authorization tokens for copying classifiers between different Document Intelligence resources, enabling classifier sharing and deployment across environments.

def authorize_classifier_copy(
    body: Union[AuthorizeClassifierCopyRequest, JSON, IO[bytes]],
    **kwargs: Any
) -> ClassifierCopyAuthorization:
    """
    Generates authorization for classifier copy operation.

    Parameters:
    - body: Copy authorization request with target resource details

    Returns:
    ClassifierCopyAuthorization: Authorization token and metadata for copy operation
    """

Classifier Copying

Copies classifiers between Document Intelligence resources using authorization tokens, enabling classifier deployment and sharing across different environments.

def begin_copy_classifier_to(
    classifier_id: str,
    body: Union[ClassifierCopyAuthorization, JSON, IO[bytes]],
    **kwargs: Any
) -> LROPoller[DocumentClassifierDetails]:
    """
    Copies classifier to target resource.

    Parameters:
    - classifier_id (str): Source classifier identifier
    - body: Copy authorization from target resource

    Returns:
    LROPoller[DocumentClassifierDetails]: Classifier copy operation poller
    """

Usage example:

# Step 1: Generate copy authorization on target resource
target_admin_client = DocumentIntelligenceAdministrationClient(
    endpoint="https://target-resource.cognitiveservices.azure.com/",
    credential=AzureKeyCredential("target-api-key")
)

auth_request = AuthorizeClassifierCopyRequest(
    classifier_id="copied-classifier-id",
    description="Copied document classifier"
)
copy_auth = target_admin_client.authorize_classifier_copy(auth_request)

# Step 2: Copy classifier from source resource
source_admin_client = DocumentIntelligenceAdministrationClient(
    endpoint="https://source-resource.cognitiveservices.azure.com/",
    credential=AzureKeyCredential("source-api-key")
)

poller = source_admin_client.begin_copy_classifier_to("source-classifier-id", copy_auth)
copied_classifier = poller.result()

Request Types

class BuildDocumentClassifierRequest:
    """Request to build a custom document classifier."""
    classifier_id: str
    description: Optional[str]
    doc_types: Dict[str, ClassifierDocumentTypeDetails]
    base_classifier_id: Optional[str]

class AuthorizeClassifierCopyRequest:
    """Request to authorize classifier copying."""
    classifier_id: str
    description: Optional[str]
    tags: Optional[Dict[str, str]]

class ClassifierDocumentTypeDetails:
    """Document type configuration for classifier training."""
    azure_blob_source: Optional[AzureBlobContentSource]
    azure_blob_file_list_source: Optional[AzureBlobFileListContentSource]

Response Types

class DocumentClassifierDetails:
    """Comprehensive classifier information and metadata."""
    classifier_id: str
    description: Optional[str]
    created_date_time: datetime
    expiration_date_time: Optional[datetime]
    api_version: str
    base_classifier_id: Optional[str]
    doc_types: Dict[str, ClassifierDocumentTypeDetails]
    warnings: Optional[List[DocumentIntelligenceWarning]]

class ClassifierCopyAuthorization:
    """Authorization for cross-resource classifier copying."""
    target_resource_id: str
    target_resource_region: str
    target_classifier_id: str
    target_classifier_location: str
    access_token: str
    expiration_date_time: datetime

Operation Details Types

Document classifier operations inherit from the base operation details and provide specialized information for classifier-specific operations.

class DocumentClassifierBuildOperationDetails(DocumentIntelligenceOperationDetails):
    """Classifier build operation details."""
    result: Optional[DocumentClassifierDetails]
    # Inherits: operation_id, status, created_date_time, etc.

class DocumentClassifierCopyToOperationDetails(DocumentIntelligenceOperationDetails):
    """Classifier copy operation details."""
    result: Optional[DocumentClassifierDetails]
    # Inherits: operation_id, status, created_date_time, etc.

Install with Tessl CLI

npx tessl i tessl/pypi-azure-ai-documentintelligence

docs

async-clients.md

classifier-management.md

document-analysis.md

index.md

model-management.md

models-and-types.md

tile.json