Azure AI Document Intelligence client library for Python - a cloud service that uses machine learning to analyze text and structured data from documents
76
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.
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")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
"""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
"""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
"""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()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]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: datetimeDocument 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-documentintelligencedocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10