FormTrainingClient Klas
FormTrainingClient is de Form Recognizer interface die kan worden gebruikt voor het maken en beheren van aangepaste modellen. Het biedt methoden voor het trainen van modellen op de formulieren die u opgeeft, evenals methoden voor het weergeven en verwijderen van modellen, het openen van accounteigenschappen, het kopiëren van modellen naar een andere Form Recognizer resource en het opstellen van modellen uit een verzameling bestaande modellen die zijn getraind met labels.
Notitie
FormTrainingClient moet worden gebruikt met API-versies <=v2.1.
Als u API-versies 2022-08-31 en hoger wilt gebruiken, instantiëert u een DocumentModelAdministrationClient.
- Overname
-
azure.ai.formrecognizer._form_base_client.FormRecognizerClientBaseFormTrainingClient
Constructor
FormTrainingClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)
Parameters
- endpoint
- str
Ondersteunde Cognitive Services-eindpunten (protocol en hostnaam, bijvoorbeeld: https://westus2.api.cognitive.microsoft.com).
- credential
- AzureKeyCredential of TokenCredential
Referenties die nodig zijn voor de client om verbinding te maken met Azure. Dit is een exemplaar van AzureKeyCredential als u een API-sleutel of een tokenreferentie van identitygebruikt.
- api_version
- str of FormRecognizerApiVersion
De API-versie van de service die moet worden gebruikt voor aanvragen. De standaardinstelling is API-versie v2.1. Instellen op een oudere versie kan leiden tot verminderde compatibiliteit van functies. Als u de nieuwste ondersteunde API-versie en -functies wilt gebruiken, moet u in plaats daarvan een DocumentModelAdministrationClient instantiëren.
Voorbeelden
De FormTrainingClient maken met een eindpunt en API-sleutel.
from azure.core.credentials import AzureKeyCredential
from azure.ai.formrecognizer import FormTrainingClient
endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
form_training_client = FormTrainingClient(endpoint, AzureKeyCredential(key))
De FormTrainingClient maken met een tokenreferentie.
"""DefaultAzureCredential will use the values from these environment
variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET
"""
from azure.ai.formrecognizer import FormTrainingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
credential = DefaultAzureCredential()
form_training_client = FormTrainingClient(endpoint, credential)
Methoden
begin_copy_model |
Kopieer een aangepast model dat is opgeslagen in deze resource (de bron) naar de door de gebruiker opgegeven doelresource Form Recognizer. Dit moet worden aangeroepen met de bron Form Recognizer resource (met het model dat is bedoeld om te worden gekopieerd). De doelparameter moet worden opgegeven vanuit de uitvoer van de doelresource van het aanroepen van de get_copy_authorization methode. |
begin_create_composed_model |
Hiermee maakt u een samengesteld model op basis van een verzameling bestaande modellen die zijn getraind met labels. Met een samengesteld model kunnen meerdere modellen worden aangeroepen met één model-id. Wanneer een document wordt verzonden om te worden geanalyseerd met een samengestelde model-id, wordt eerst een classificatiestap uitgevoerd om het naar het juiste aangepaste model te routeren. Nieuw in versie v2.1: de begin_create_composed_model-clientmethode |
begin_training |
Een aangepast model maken en trainen. De aanvraag moet een training_files_url parameter bevatten die een extern toegankelijke Azure Storage Blob-container-URI is (bij voorkeur een Shared Access Signature-URI). Houd er rekening mee dat een container-URI (zonder SAS) alleen wordt geaccepteerd wanneer de container openbaar is of een beheerde identiteit heeft geconfigureerd. Zie hier meer informatie over het configureren van beheerde identiteiten voor gebruik met Form Recognizer: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. Modellen worden getraind met behulp van documenten met het volgende inhoudstype: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'. Andere typen inhoud in de container worden genegeerd. Nieuw in versie v2.1: het sleutelwoordargument model_name |
close |
Sluit de FormTrainingClient sessie. |
delete_model |
Model markeren voor verwijdering. Modelartefacten worden permanent verwijderd binnen een vooraf bepaalde periode. |
get_account_properties |
Informatie ophalen over de modellen in het form recognizer-account. |
get_copy_authorization |
Autorisatie genereren voor het kopiëren van een aangepast model naar de doelresource Form Recognizer. Dit moet worden aangeroepen door de doelresource (waarnaar het model wordt gekopieerd) en de uitvoer kan worden doorgegeven als de doelparameter in begin_copy_model. |
get_custom_model |
Krijg een beschrijving van een aangepast model, inclusief de typen formulieren die het kan herkennen en de velden die voor elk formuliertype worden geëxtraheerd. |
get_form_recognizer_client |
Haal een exemplaar van een FormRecognizerClient op uit FormTrainingClient. |
list_custom_models |
Geef informatie weer voor elk model, inclusief model-id, modelstatus en wanneer het is gemaakt en voor het laatst gewijzigd. |
send_request |
Hiermee wordt een netwerkaanvraag uitgevoerd met behulp van de bestaande pijplijn van de client. De aanvraag-URL kan relatief zijn ten opzichte van de basis-URL. De service-API-versie die voor de aanvraag wordt gebruikt, is dezelfde als die van de client, tenzij anders opgegeven. Het overschrijven van de geconfigureerde API-versie van de client in relatieve URL wordt ondersteund op de client met API-versie 2022-08-31 en hoger. Overschrijven in absolute URL die wordt ondersteund op client met elke API-versie. Deze methode wordt niet gegenereerd als het antwoord een fout is; als u een uitzondering wilt maken, roept u raise_for_status() aan op het geretourneerde antwoordobject. Zie voor meer informatie over het verzenden van aangepaste aanvragen met deze methode https://aka.ms/azsdk/dpcodegen/python/send_request. |
begin_copy_model
Kopieer een aangepast model dat is opgeslagen in deze resource (de bron) naar de door de gebruiker opgegeven doelresource Form Recognizer. Dit moet worden aangeroepen met de bron Form Recognizer resource (met het model dat is bedoeld om te worden gekopieerd). De doelparameter moet worden opgegeven vanuit de uitvoer van de doelresource van het aanroepen van de get_copy_authorization methode.
begin_copy_model(model_id: str, target: Dict[str, str | int], **kwargs: Any) -> LROPoller[CustomFormModelInfo]
Parameters
De kopieerautorisatie die is gegenereerd op basis van de aanroep van de doelresource naar get_copy_authorization.
- continuation_token
- str
Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.
Retouren
Een exemplaar van een LROPoller. Roep result() aan op het poller-object om een CustomFormModelInfote retourneren.
Retourtype
Uitzonderingen
Voorbeelden
Een model kopiëren van de bronresource naar de doelresource
source_client = FormTrainingClient(endpoint=source_endpoint, credential=AzureKeyCredential(source_key))
poller = source_client.begin_copy_model(
model_id=source_model_id,
target=target # output from target client's call to get_copy_authorization()
)
copied_over_model = poller.result()
print("Model ID: {}".format(copied_over_model.model_id))
print("Status: {}".format(copied_over_model.status))
begin_create_composed_model
Hiermee maakt u een samengesteld model op basis van een verzameling bestaande modellen die zijn getraind met labels.
Met een samengesteld model kunnen meerdere modellen worden aangeroepen met één model-id. Wanneer een document wordt verzonden om te worden geanalyseerd met een samengestelde model-id, wordt eerst een classificatiestap uitgevoerd om het naar het juiste aangepaste model te routeren.
Nieuw in versie v2.1: de begin_create_composed_model-clientmethode
begin_create_composed_model(model_ids: List[str], **kwargs: Any) -> LROPoller[CustomFormModel]
Parameters
Lijst met model-id's die moeten worden gebruikt in het samengestelde model.
- model_name
- str
Een optionele, door de gebruiker gedefinieerde naam die u aan uw model kunt koppelen.
- continuation_token
- str
Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.
Retouren
Een exemplaar van een LROPoller. Roep result() aan op het poller-object om een CustomFormModelte retourneren.
Retourtype
Uitzonderingen
Voorbeelden
Een samengesteld model maken
from azure.core.credentials import AzureKeyCredential
from azure.ai.formrecognizer import FormTrainingClient
endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
po_supplies = os.environ['PURCHASE_ORDER_OFFICE_SUPPLIES_SAS_URL_V2']
po_equipment = os.environ['PURCHASE_ORDER_OFFICE_EQUIPMENT_SAS_URL_V2']
po_furniture = os.environ['PURCHASE_ORDER_OFFICE_FURNITURE_SAS_URL_V2']
po_cleaning_supplies = os.environ['PURCHASE_ORDER_OFFICE_CLEANING_SUPPLIES_SAS_URL_V2']
form_training_client = FormTrainingClient(endpoint=endpoint, credential=AzureKeyCredential(key))
supplies_poller = form_training_client.begin_training(
po_supplies, use_training_labels=True, model_name="Purchase order - Office supplies"
)
equipment_poller = form_training_client.begin_training(
po_equipment, use_training_labels=True, model_name="Purchase order - Office Equipment"
)
furniture_poller = form_training_client.begin_training(
po_furniture, use_training_labels=True, model_name="Purchase order - Furniture"
)
cleaning_supplies_poller = form_training_client.begin_training(
po_cleaning_supplies, use_training_labels=True, model_name="Purchase order - Cleaning Supplies"
)
supplies_model = supplies_poller.result()
equipment_model = equipment_poller.result()
furniture_model = furniture_poller.result()
cleaning_supplies_model = cleaning_supplies_poller.result()
models_trained_with_labels = [
supplies_model.model_id,
equipment_model.model_id,
furniture_model.model_id,
cleaning_supplies_model.model_id
]
poller = form_training_client.begin_create_composed_model(
models_trained_with_labels, model_name="Office Supplies Composed Model"
)
model = poller.result()
print("Office Supplies Composed Model Info:")
print("Model ID: {}".format(model.model_id))
print("Model name: {}".format(model.model_name))
print("Is this a composed model?: {}".format(model.properties.is_composed_model))
print("Status: {}".format(model.status))
print("Composed model creation started on: {}".format(model.training_started_on))
print("Creation completed on: {}".format(model.training_completed_on))
begin_training
Een aangepast model maken en trainen. De aanvraag moet een training_files_url parameter bevatten die een extern toegankelijke Azure Storage Blob-container-URI is (bij voorkeur een Shared Access Signature-URI). Houd er rekening mee dat een container-URI (zonder SAS) alleen wordt geaccepteerd wanneer de container openbaar is of een beheerde identiteit heeft geconfigureerd. Zie hier meer informatie over het configureren van beheerde identiteiten voor gebruik met Form Recognizer: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. Modellen worden getraind met behulp van documenten met het volgende inhoudstype: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'. Andere typen inhoud in de container worden genegeerd.
Nieuw in versie v2.1: het sleutelwoordargument model_name
begin_training(training_files_url: str, use_training_labels: bool, **kwargs: Any) -> LROPoller[CustomFormModel]
Parameters
- training_files_url
- str
De SAS-URI van een Azure Storage-blobcontainer. Een container-URI (zonder SAS) kan worden gebruikt als de container openbaar is of een beheerde identiteit heeft geconfigureerd. Zie voor meer informatie over het instellen van een set trainingsgegevens: https://aka.ms/azsdk/formrecognizer/buildtrainingset.
- use_training_labels
- bool
Of u wilt trainen met labels of niet. Overeenkomende gelabelde bestanden moeten aanwezig zijn in de blobcontainer als deze is ingesteld op True.
- prefix
- str
Een hoofdlettergevoelige tekenreeks voor het voorvoegsel om documenten in het bronpad te filteren voor training. Als u bijvoorbeeld een Azure Storage Blob-URI gebruikt, gebruikt u het voorvoegsel om submappen voor training te beperken.
- include_subfolders
- bool
Een vlag om aan te geven of submappen in de set voorvoegselmappen ook moeten worden opgenomen bij het zoeken naar inhoud die moet worden voorverwerkt. Niet ondersteund als training met labels.
- model_name
- str
Een optionele, door de gebruiker gedefinieerde naam die u aan uw model kunt koppelen.
- continuation_token
- str
Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.
Retouren
Een exemplaar van een LROPoller. Roep result() aan op het poller-object om een CustomFormModelte retourneren.
Retourtype
Uitzonderingen
Houd er rekening mee dat als de training mislukt, de uitzondering wordt gegenereerd, maar dat er nog steeds een model met een 'ongeldige' status wordt gemaakt. U kunt dit model verwijderen door aan te roepen
Voorbeelden
Een model (zonder labels) trainen met uw aangepaste formulieren.
from azure.ai.formrecognizer import FormTrainingClient
from azure.core.credentials import AzureKeyCredential
endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
container_sas_url = os.environ["CONTAINER_SAS_URL_V2"]
form_training_client = FormTrainingClient(endpoint, AzureKeyCredential(key))
poller = form_training_client.begin_training(container_sas_url, use_training_labels=False)
model = poller.result()
# Custom model information
print("Model ID: {}".format(model.model_id))
print("Status: {}".format(model.status))
print("Model name: {}".format(model.model_name))
print("Training started on: {}".format(model.training_started_on))
print("Training completed on: {}".format(model.training_completed_on))
print("Recognized fields:")
# Looping through the submodels, which contains the fields they were trained on
for submodel in model.submodels:
print("...The submodel has form type '{}'".format(submodel.form_type))
for name, field in submodel.fields.items():
print("...The model found field '{}' to have label '{}'".format(
name, field.label
))
close
delete_model
Model markeren voor verwijdering. Modelartefacten worden permanent verwijderd binnen een vooraf bepaalde periode.
delete_model(model_id: str, **kwargs: Any) -> None
Parameters
Retourtype
Uitzonderingen
Voorbeelden
Een aangepast model verwijderen.
form_training_client.delete_model(model_id=custom_model.model_id)
try:
form_training_client.get_custom_model(model_id=custom_model.model_id)
except ResourceNotFoundError:
print("Successfully deleted model with id {}".format(custom_model.model_id))
get_account_properties
Informatie ophalen over de modellen in het form recognizer-account.
get_account_properties(**kwargs: Any) -> AccountProperties
Retouren
Overzicht van modellen in account: aangepast aantal modellen, aangepaste modellimiet.
Retourtype
Uitzonderingen
Voorbeelden
Eigenschappen ophalen voor het form recognizer-account.
form_training_client = FormTrainingClient(endpoint=endpoint, credential=AzureKeyCredential(key))
# First, we see how many custom models we have, and what our limit is
account_properties = form_training_client.get_account_properties()
print("Our account has {} custom models, and we can have at most {} custom models\n".format(
account_properties.custom_model_count, account_properties.custom_model_limit
))
get_copy_authorization
Autorisatie genereren voor het kopiëren van een aangepast model naar de doelresource Form Recognizer. Dit moet worden aangeroepen door de doelresource (waarnaar het model wordt gekopieerd) en de uitvoer kan worden doorgegeven als de doelparameter in begin_copy_model.
get_copy_authorization(resource_id: str, resource_region: str, **kwargs: Any) -> Dict[str, str | int]
Parameters
- resource_id
- str
Azure-resource-id van de doel-Form Recognizer resource waarnaar het model wordt gekopieerd.
- resource_region
- str
Locatie van de doelresource Form Recognizer. Een geldige Azure-regionaam die wordt ondersteund door Cognitive Services. Bijvoorbeeld 'westus', 'eastus' enzovoort. Zie https://azure.microsoft.com/global-infrastructure/services/?products=cognitive-services voor de regionale beschikbaarheid van Cognitive Services.
Retouren
Een woordenlijst met waarden voor de kopieerautorisatie: 'modelId', 'accessToken', 'resourceId', 'resourceRegion' en 'expirationDateTimeTicks'.
Retourtype
Uitzonderingen
Voorbeelden
De doelresource autoriseren om het gekopieerde model te ontvangen
target_client = FormTrainingClient(endpoint=target_endpoint, credential=AzureKeyCredential(target_key))
target = target_client.get_copy_authorization(
resource_region=target_region,
resource_id=target_resource_id
)
# model ID that target client will use to access the model once copy is complete
print("Model ID: {}".format(target["modelId"]))
get_custom_model
Krijg een beschrijving van een aangepast model, inclusief de typen formulieren die het kan herkennen en de velden die voor elk formuliertype worden geëxtraheerd.
get_custom_model(model_id: str, **kwargs: Any) -> CustomFormModel
Parameters
Retouren
CustomFormModel
Retourtype
Uitzonderingen
Voorbeelden
Een aangepast model met een model-id ophalen.
custom_model = form_training_client.get_custom_model(model_id=model.model_id)
print("\nModel ID: {}".format(custom_model.model_id))
print("Status: {}".format(custom_model.status))
print("Model name: {}".format(custom_model.model_name))
print("Is this a composed model?: {}".format(custom_model.properties.is_composed_model))
print("Training started on: {}".format(custom_model.training_started_on))
print("Training completed on: {}".format(custom_model.training_completed_on))
get_form_recognizer_client
Haal een exemplaar van een FormRecognizerClient op uit FormTrainingClient.
get_form_recognizer_client(**kwargs: Any) -> FormRecognizerClient
Retouren
Een FormRecognizerClient
Retourtype
Uitzonderingen
list_custom_models
Geef informatie weer voor elk model, inclusief model-id, modelstatus en wanneer het is gemaakt en voor het laatst gewijzigd.
list_custom_models(**kwargs: Any) -> ItemPaged[CustomFormModelInfo]
Retouren
ItemPaged[CustomFormModelInfo]
Retourtype
Uitzonderingen
Voorbeelden
Geef modelgegevens weer voor elk model in het account.
custom_models = form_training_client.list_custom_models()
print("We have models with the following IDs:")
for model_info in custom_models:
print(model_info.model_id)
send_request
Hiermee wordt een netwerkaanvraag uitgevoerd met behulp van de bestaande pijplijn van de client.
De aanvraag-URL kan relatief zijn ten opzichte van de basis-URL. De service-API-versie die voor de aanvraag wordt gebruikt, is dezelfde als die van de client, tenzij anders opgegeven. Het overschrijven van de geconfigureerde API-versie van de client in relatieve URL wordt ondersteund op de client met API-versie 2022-08-31 en hoger. Overschrijven in absolute URL die wordt ondersteund op client met elke API-versie. Deze methode wordt niet gegenereerd als het antwoord een fout is; als u een uitzondering wilt maken, roept u raise_for_status() aan op het geretourneerde antwoordobject. Zie voor meer informatie over het verzenden van aangepaste aanvragen met deze methode https://aka.ms/azsdk/dpcodegen/python/send_request.
send_request(request: HttpRequest, *, stream: bool = False, **kwargs) -> HttpResponse
Parameters
- stream
- bool
Of de nettolading van het antwoord wordt gestreamd. Standaard ingesteld op False.
Retouren
Het antwoord van uw netwerkoproep. Er wordt geen foutafhandeling uitgevoerd voor uw antwoord.
Retourtype
Uitzonderingen
Azure SDK for Python
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor