Delen via


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.FormRecognizerClientBase
FormTrainingClient

Constructor

FormTrainingClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)

Parameters

endpoint
str
Vereist

Ondersteunde Cognitive Services-eindpunten (protocol en hostnaam, bijvoorbeeld: https://westus2.api.cognitive.microsoft.com).

credential
AzureKeyCredential of TokenCredential
Vereist

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

model_id
str
Vereist

Model-id van het model dat naar de doelresource moet worden gekopieerd.

target
Dict[str, Union[str, int]]
Vereist

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

model_ids
list[str]
Vereist

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
Vereist

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
Vereist

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

Sluit de FormTrainingClient sessie.

close() -> None

Uitzonderingen

delete_model

Model markeren voor verwijdering. Modelartefacten worden permanent verwijderd binnen een vooraf bepaalde periode.

delete_model(model_id: str, **kwargs: Any) -> None

Parameters

model_id
str
Vereist

Model-id.

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
Vereist

Azure-resource-id van de doel-Form Recognizer resource waarnaar het model wordt gekopieerd.

resource_region
str
Vereist

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

model_id
str
Vereist

Model-id.

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

request
HttpRequest
Vereist

De netwerkaanvraag die u wilt maken.

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