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.FormRecognizerClientBaseAsyncFormTrainingClient
Constructor
FormTrainingClient(endpoint: str, credential: AzureKeyCredential | AsyncTokenCredential, **kwargs: Any)
Parameters
- endpoint
- str
Ondersteunde Cognitive Services-eindpunten (protocol en hostnaam, bijvoorbeeld: https://westus2.api.cognitive.microsoft.com).
- credential
- AzureKeyCredential of AsyncTokenCredential
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
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
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
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
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
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
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
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))
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
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
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