Delen via


FormTrainingClient Klas

FormTrainingClient is de Form Recognizer interface die u kunt gebruiken voor het maken en beheren van aangepaste modellen. Het biedt methoden voor het trainen van modellen voor 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.aio._form_base_client_async.FormRecognizerClientBaseAsync
FormTrainingClient

Constructor

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

Parameters

endpoint
str
Vereist

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

credential
AzureKeyCredential of AsyncTokenCredential
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.aio 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.aio import FormTrainingClient
   from azure.identity.aio 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 het door de gebruiker opgegeven doel Form Recognizer resource. 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 van 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 trefwoordargument 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 formulierherkenningsaccount.

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

Een beschrijving van een aangepast model ophalen, inclusief de typen formulieren die het kan herkennen en de velden die worden geëxtraheerd voor elk formuliertype.

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 aangegeven. 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 de client met elke API-versie. Deze methode wordt niet gegenereerd als het antwoord een fout is; als u een uitzondering wilt genereren, 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 het door de gebruiker opgegeven doel Form Recognizer resource. 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.

async begin_copy_model(model_id: str, target: Dict[str, str | int], **kwargs: Any) -> AsyncLROPoller[CustomFormModelInfo]

Parameters

model_id
str
Vereist

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

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 AsyncLROPoller. 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))

   async with source_client:
       poller = await 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 = await 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

async begin_create_composed_model(model_ids: List[str], **kwargs: Any) -> AsyncLROPoller[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 AsyncLROPoller. 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.aio 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))
   async with form_training_client:
       supplies_poller = await form_training_client.begin_training(
           po_supplies, use_training_labels=True, model_name="Purchase order - Office supplies"
       )
       equipment_poller = await form_training_client.begin_training(
           po_equipment, use_training_labels=True, model_name="Purchase order - Office Equipment"
       )
       furniture_poller = await form_training_client.begin_training(
           po_furniture, use_training_labels=True, model_name="Purchase order - Furniture"
       )
       cleaning_supplies_poller = await form_training_client.begin_training(
           po_cleaning_supplies, use_training_labels=True, model_name="Purchase order - Cleaning Supplies"
       )
       supplies_model = await supplies_poller.result()
       equipment_model = await equipment_poller.result()
       furniture_model = await furniture_poller.result()
       cleaning_supplies_model = await 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 = await form_training_client.begin_create_composed_model(
           models_trained_with_labels, model_name="Office Supplies Composed Model"
       )
       model = await 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 van 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 trefwoordargument model_name

async begin_training(training_files_url: str, use_training_labels: bool, **kwargs: Any) -> AsyncLROPoller[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 als er een beheerde identiteit is 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. De bijbehorende gelabelde bestanden moeten aanwezig zijn in de blobcontainer als deze is ingesteld op True.

prefix
str

Een hoofdlettergevoelige tekenreeks 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 u traint 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 AsyncLROPoller. 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 er nog steeds een model met de status 'ongeldig' wordt gemaakt. U kunt dit model verwijderen door

Voorbeelden

Een model trainen (zonder labels) met uw aangepaste formulieren.


   from azure.ai.formrecognizer.aio 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"]

   async with FormTrainingClient(
       endpoint, AzureKeyCredential(key)
   ) as form_training_client:

       poller = await form_training_client.begin_training(container_sas_url, use_training_labels=False)
       model = await 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.

async close() -> None

Uitzonderingen

delete_model

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

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

Parameters

model_id
str
Vereist

Model-id.

Retouren

Geen

Retourtype

Uitzonderingen

Voorbeelden

Een aangepast model verwijderen.


   await form_training_client.delete_model(model_id=custom_model.model_id)

   try:
       await 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 formulierherkenningsaccount.

async get_account_properties(**kwargs: Any) -> AccountProperties

Retouren

Samenvatting van modellen in account: aangepast aantal modellen, aangepaste modellimiet.

Retourtype

Uitzonderingen

Voorbeelden

Eigenschappen ophalen voor het form recognizer-account.


   async with FormTrainingClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   ) as form_training_client:
       # First, we see how many custom models we have, and what our limit is
       account_properties = await 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.

async 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))

   async with target_client:
       target = await 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

Een beschrijving van een aangepast model ophalen, inclusief de typen formulieren die het kan herkennen en de velden die worden geëxtraheerd voor elk formuliertype.

async 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 = await form_training_client.get_custom_model(model_id=model_info.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) -> AsyncItemPaged[CustomFormModelInfo]

Retouren

AsyncItemPaged[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:")
   async for model in custom_models:
       print(model.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 aangegeven. 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 de client met elke API-versie. Deze methode wordt niet gegenereerd als het antwoord een fout is; als u een uitzondering wilt genereren, 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.

async send_request(request: HttpRequest, *, stream: bool = False, **kwargs) -> AsyncHttpResponse

Parameters

request
HttpRequest
Vereist

De netwerkaanvraag die u wilt maken.

Retouren

Het antwoord van uw netwerkoproep. Er wordt geen foutafhandeling uitgevoerd voor uw antwoord.

Retourtype

Uitzonderingen