Dela via


FormTrainingClient Klass

FormTrainingClient är det Formigenkänning gränssnitt som ska användas för att skapa och hantera anpassade modeller. Den innehåller metoder för att träna modeller på de formulär som du tillhandahåller, samt metoder för att visa och ta bort modeller, komma åt kontoegenskaper, kopiera modeller till en annan Formigenkänning resurs och skapa modeller från en samling befintliga modeller som tränats med etiketter.

Anteckning

FormTrainingClient ska användas med API-versioner <=v2.1.

Om du vill använda API-versionerna 2022-08-31 och senare instansierar du en DocumentModelAdministrationClient.

Arv
azure.ai.formrecognizer._form_base_client.FormRecognizerClientBase
FormTrainingClient

Konstruktor

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

Parametrar

endpoint
str
Obligatorisk

Cognitive Services-slutpunkter som stöds (protokoll och värdnamn, till exempel: https://westus2.api.cognitive.microsoft.com).

credential
AzureKeyCredential eller TokenCredential
Obligatorisk

Autentiseringsuppgifter som krävs för att klienten ska kunna ansluta till Azure. Det här är en instans av AzureKeyCredential om du använder en API-nyckel eller en tokenautentiseringsuppgift från identity.

api_version
str eller FormRecognizerApiVersion

API-versionen av tjänsten som ska användas för begäranden. Den är standard för API-version v2.1. Om du anger en äldre version kan det leda till minskad funktionskompatibilitet. Om du vill använda den senaste API-versionen och funktionerna som stöds instansierar du en DocumentModelAdministrationClient i stället.

Exempel

Skapa FormTrainingClient med en slutpunkt och EN API-nyckel.


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

Skapa FormTrainingClient med en tokenautentiseringsuppgift.


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

Metoder

begin_copy_model

Kopiera en anpassad modell som lagras i den här resursen (källan) till användarens angivna mål Formigenkänning resurs. Detta bör anropas med källan Formigenkänning resurs (med den modell som är avsedd att kopieras). Målparametern ska anges från målresursens utdata från anropet av get_copy_authorization metoden.

begin_create_composed_model

Skapar en sammansatt modell från en samling befintliga modeller som har tränats med etiketter.

En sammansatt modell gör att flera modeller kan anropas med ett enda modell-ID. När ett dokument skickas för att analyseras med ett sammansatt modell-ID utförs först ett klassificeringssteg för att dirigera det till rätt anpassad modell.

Ny i version v2.1: klientmetoden begin_create_composed_model

begin_training

Skapa och träna en anpassad modell. Begäran måste innehålla en training_files_url parameter som är en externt tillgänglig Azure Storage Blob-container-URI (helst en signatur-URI för delad åtkomst). Observera att en container-URI (utan SAS) endast accepteras när containern är offentlig eller har en konfigurerad hanterad identitet. Läs mer om hur du konfigurerar hanterade identiteter så att de fungerar med Formigenkänning här: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. Modeller tränas med dokument som har följande innehållstyp – "application/pdf", "image/jpeg", "image/png", "image/tiff" eller "image/bmp". Andra typer av innehåll i containern ignoreras.

Nytt i version v2.1: Nyckelordsargumentet model_name

close

FormTrainingClient Stäng sessionen.

delete_model

Markera modell för borttagning. Modellartefakter tas bort permanent inom en förutbestämd period.

get_account_properties

Hämta information om modellerna på formulärigenkänningskontot.

get_copy_authorization

Generera auktorisering för att kopiera en anpassad modell till målresursen Formigenkänning. Detta bör anropas av målresursen (där modellen kopieras till) och utdata kan skickas som målparametern till .begin_copy_model

get_custom_model

Hämta en beskrivning av en anpassad modell, inklusive de typer av formulär som den kan känna igen och de fält som den extraherar för varje formulärtyp.

get_form_recognizer_client

Hämta en instans av en FormRecognizerClient från FormTrainingClient.

list_custom_models

Visa information för varje modell, inklusive modell-ID, modellstatus och när den skapades och senast ändrades.

send_request

Kör en nätverksbegäran med klientens befintliga pipeline.

Begärande-URL:en kan vara relativ till bas-URL:en. Den tjänst-API-version som används för begäran är densamma som klientens om inget annat anges. Att åsidosätta klientens konfigurerade API-version i relativ URL stöds på klienten med API-version 2022-08-31 och senare. Åsidosätter i absolut URL som stöds på klienten med valfri API-version. Den här metoden genererar inte om svaret är ett fel. om du vill skapa ett undantag anropar du raise_for_status() på det returnerade svarsobjektet. Mer information om hur du skickar anpassade begäranden med den här metoden finns i https://aka.ms/azsdk/dpcodegen/python/send_request.

begin_copy_model

Kopiera en anpassad modell som lagras i den här resursen (källan) till användarens angivna mål Formigenkänning resurs. Detta bör anropas med källan Formigenkänning resurs (med den modell som är avsedd att kopieras). Målparametern ska anges från målresursens utdata från anropet av get_copy_authorization metoden.

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

Parametrar

model_id
str
Obligatorisk

Modellidentifierare för modellen som ska kopieras till målresursen.

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

Kopieringsauktoriseringen som genereras från målresursens anrop till get_copy_authorization.

continuation_token
str

En fortsättningstoken för att starta om en poller från ett sparat tillstånd.

Returer

En instans av en LROPoller. Anropa result() på pollerobjektet för att returnera en CustomFormModelInfo.

Returtyp

Undantag

Exempel

Kopiera en modell från källresursen till målresursen


   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

Skapar en sammansatt modell från en samling befintliga modeller som har tränats med etiketter.

En sammansatt modell gör att flera modeller kan anropas med ett enda modell-ID. När ett dokument skickas för att analyseras med ett sammansatt modell-ID utförs först ett klassificeringssteg för att dirigera det till rätt anpassad modell.

Ny i version v2.1: klientmetoden begin_create_composed_model

begin_create_composed_model(model_ids: List[str], **kwargs: Any) -> LROPoller[CustomFormModel]

Parametrar

model_ids
list[str]
Obligatorisk

Lista över modell-ID:t som ska användas i den sammansatta modellen.

model_name
str

Ett valfritt, användardefinierat namn som ska associeras med din modell.

continuation_token
str

En fortsättningstoken för att starta om en poller från ett sparat tillstånd.

Returer

En instans av en LROPoller. Anropa result() på pollerobjektet för att returnera en CustomFormModel.

Returtyp

Undantag

Exempel

Skapa en sammansatt modell


   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

Skapa och träna en anpassad modell. Begäran måste innehålla en training_files_url parameter som är en externt tillgänglig Azure Storage Blob-container-URI (helst en signatur-URI för delad åtkomst). Observera att en container-URI (utan SAS) endast accepteras när containern är offentlig eller har en konfigurerad hanterad identitet. Läs mer om hur du konfigurerar hanterade identiteter så att de fungerar med Formigenkänning här: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. Modeller tränas med dokument som har följande innehållstyp – "application/pdf", "image/jpeg", "image/png", "image/tiff" eller "image/bmp". Andra typer av innehåll i containern ignoreras.

Nytt i version v2.1: Nyckelordsargumentet model_name

begin_training(training_files_url: str, use_training_labels: bool, **kwargs: Any) -> LROPoller[CustomFormModel]

Parametrar

training_files_url
str
Obligatorisk

Sas-URI för en Azure Storage-blobcontainer. En container-URI (utan SAS) kan användas om containern är offentlig eller har en konfigurerad hanterad identitet. Mer information om hur du konfigurerar en träningsdatauppsättning finns i: https://aka.ms/azsdk/formrecognizer/buildtrainingset.

use_training_labels
bool
Obligatorisk

Om du vill träna med etiketter eller inte. Motsvarande märkta filer måste finnas i blobcontainern om de är inställda på Sant.

prefix
str

En skiftlägeskänslig prefixsträng för att filtrera dokument i källsökvägen för träning. När du till exempel använder en Azure Storage Blob-URI använder du prefixet för att begränsa undermappar för träning.

include_subfolders
bool

En flagga som anger om undermappar i uppsättningen prefixmappar också måste inkluderas när du söker efter innehåll som ska förbearbetas. Stöds inte om du tränar med etiketter.

model_name
str

Ett valfritt, användardefinierat namn som ska associeras med din modell.

continuation_token
str

En fortsättningstoken för att starta om en poller från ett sparat tillstånd.

Returer

En instans av en LROPoller. Anropa result() på pollerobjektet för att returnera en CustomFormModel.

Returtyp

Undantag

Observera att om träningen misslyckas utlöses undantaget, men en modell med statusen "ogiltig" skapas fortfarande. Du kan ta bort den här modellen genom att anropa

Exempel

Träna en modell (utan etiketter) med dina anpassade formulär.


   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

FormTrainingClient Stäng sessionen.

close() -> None

Undantag

delete_model

Markera modell för borttagning. Modellartefakter tas bort permanent inom en förutbestämd period.

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

Parametrar

model_id
str
Obligatorisk

Modellidentifierare.

Returtyp

Undantag

Exempel

Ta bort en anpassad modell.


   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

Hämta information om modellerna på formulärigenkänningskontot.

get_account_properties(**kwargs: Any) -> AccountProperties

Returer

Sammanfattning av modeller på kontot – antal anpassade modeller, gräns för anpassad modell.

Returtyp

Undantag

Exempel

Hämta egenskaper för formulärigenkänningskontot.


   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

Generera auktorisering för att kopiera en anpassad modell till målresursen Formigenkänning. Detta bör anropas av målresursen (där modellen kopieras till) och utdata kan skickas som målparametern till .begin_copy_model

get_copy_authorization(resource_id: str, resource_region: str, **kwargs: Any) -> Dict[str, str | int]

Parametrar

resource_id
str
Obligatorisk

Azure-resurs-ID för målet Formigenkänning resurs som modellen ska kopieras till.

resource_region
str
Obligatorisk

Platsen för målresursen Formigenkänning. Ett giltigt Azure-regionnamn som stöds av Cognitive Services. Till exempel "westus", "eastus" osv. Se https://azure.microsoft.com/global-infrastructure/services/?products=cognitive-services för regional tillgänglighet för Cognitive Services.

Returer

En ordlista med värden för kopieringsauktoriseringen – "modelId", "accessToken", "resourceId", "resourceRegion" och "expirationDateTimeTicks".

Returtyp

Undantag

Exempel

Auktorisera målresursen för att ta emot den kopierade modellen


   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

Hämta en beskrivning av en anpassad modell, inklusive de typer av formulär som den kan känna igen och de fält som den extraherar för varje formulärtyp.

get_custom_model(model_id: str, **kwargs: Any) -> CustomFormModel

Parametrar

model_id
str
Obligatorisk

Modellidentifierare.

Returer

CustomFormModel

Returtyp

Undantag

Exempel

Hämta en anpassad modell med ett modell-ID.


   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

Hämta en instans av en FormRecognizerClient från FormTrainingClient.

get_form_recognizer_client(**kwargs: Any) -> FormRecognizerClient

Returer

A FormRecognizerClient

Returtyp

Undantag

list_custom_models

Visa information för varje modell, inklusive modell-ID, modellstatus och när den skapades och senast ändrades.

list_custom_models(**kwargs: Any) -> ItemPaged[CustomFormModelInfo]

Returer

ItemPaged[CustomFormModelInfo]

Returtyp

Undantag

Exempel

Lista modellinformation för varje modell på kontot.


   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

Kör en nätverksbegäran med klientens befintliga pipeline.

Begärande-URL:en kan vara relativ till bas-URL:en. Den tjänst-API-version som används för begäran är densamma som klientens om inget annat anges. Att åsidosätta klientens konfigurerade API-version i relativ URL stöds på klienten med API-version 2022-08-31 och senare. Åsidosätter i absolut URL som stöds på klienten med valfri API-version. Den här metoden genererar inte om svaret är ett fel. om du vill skapa ett undantag anropar du raise_for_status() på det returnerade svarsobjektet. Mer information om hur du skickar anpassade begäranden med den här metoden finns i https://aka.ms/azsdk/dpcodegen/python/send_request.

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

Parametrar

request
HttpRequest
Obligatorisk

Den nätverksbegäran som du vill göra.

stream
bool

Om svarsnyttolasten kommer att strömmas. Standardvärdet är Falskt.

Returer

Svaret på ditt nätverksanrop. Felhantering av ditt svar sker inte.

Returtyp

Undantag