Sdílet prostřednictvím


FormTrainingClient Třída

FormTrainingClient je rozhraní Rozpoznávání formulářů, které se používá k vytváření a správě vlastních modelů. Poskytuje metody pro trénování modelů ve formulářích, které poskytujete, a také metody pro zobrazení a odstranění modelů, přístup k vlastnostem účtu, kopírování modelů do jiného Rozpoznávání formulářů prostředku a vytváření modelů z kolekce existujících modelů natrénovaných pomocí popisků.

Poznámka

FormTrainingClient by se měl používat s verzemi <rozhraní API =v2.1.

Pokud chcete používat rozhraní API verze 2022-08-31 nebo novější, vytvořte instanci DocumentModelAdministrationClient.

Dědičnost
azure.ai.formrecognizer._form_base_client.FormRecognizerClientBase
FormTrainingClient

Konstruktor

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

Parametry

endpoint
str
Vyžadováno

Podporované koncové body služeb Cognitive Services (protokol a název hostitele, například: https://westus2.api.cognitive.microsoft.com).

credential
AzureKeyCredential nebo TokenCredential
Vyžadováno

Přihlašovací údaje potřebné pro připojení klienta k Azure Jedná se o instanci AzureKeyCredential, pokud používáte klíč rozhraní API nebo přihlašovací údaje tokenu z identity.

api_version
str nebo FormRecognizerApiVersion

Verze rozhraní API služby, která se má použít pro požadavky. Výchozí hodnota je verze rozhraní API v2.1. Nastavení na starší verzi může mít za následek snížení kompatibility funkcí. Pokud chcete použít nejnovější podporovanou verzi a funkce rozhraní API, vytvořte místo toho instanci DocumentModelAdministrationClient.

Příklady

Vytvoření třídy FormTrainingClient s koncovým bodem a klíčem rozhraní API


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

Vytvoření třídy FormTrainingClient s přihlašovacími údaji tokenu


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

Metody

begin_copy_model

Zkopírujte vlastní model uložený v tomto prostředku (zdroji) do uživatelem zadaného cílového Rozpoznávání formulářů prostředku. Mělo by se volat se zdrojovým Rozpoznávání formulářů prostředkem (s modelem, který se má zkopírovat). Parametr target by měl být zadaný z výstupu cílového prostředku z volání get_copy_authorization metody .

begin_create_composed_model

Vytvoří složený model z kolekce existujících modelů, které byly natrénovány pomocí popisků.

Složený model umožňuje volat více modelů s jedním ID modelu. Když je dokument odeslán k analýze pomocí sestaveného ID modelu, nejprve se provede klasifikační krok, který ho nasměruje do správného vlastního modelu.

Novinka ve verzi v2.1: Metoda klienta begin_create_composed_model

begin_training

Vytvoření a trénování vlastního modelu Požadavek musí obsahovat parametr training_files_url , který je externě přístupným identifikátorem URI kontejneru objektů blob služby Azure Storage (nejlépe identifikátor URI sdíleného přístupového podpisu). Všimněte si, že identifikátor URI kontejneru (bez SAS) se přijímá jenom v případě, že je kontejner veřejný nebo má nakonfigurovanou spravovanou identitu. Další informace o konfiguraci spravovaných identit pro práci s Rozpoznávání formulářů tady: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. Modely se trénují pomocí dokumentů, které mají následující typ obsahu: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' nebo 'image/bmp'. Ostatní typy obsahu v kontejneru se ignorují.

Novinka ve verzi v2.1: Argument model_name klíčového slova

close

Zavřete FormTrainingClient relaci.

delete_model

Označte model k odstranění. Artefakty modelu budou trvale odebrány během předem stanoveného období.

get_account_properties

Získejte informace o modelech v účtu rozpoznávání formulářů.

get_copy_authorization

Vygenerujte autorizaci pro kopírování vlastního modelu do cílového prostředku Rozpoznávání formulářů. Tuto funkci by měl volat cílový prostředek (do kterého se model zkopíruje) a výstup je možné předat jako cílový parametr do begin_copy_model.

get_custom_model

Získejte popis vlastního modelu, včetně typů formulářů, které dokáže rozpoznat, a polí, která bude extrahovat pro každý typ formuláře.

get_form_recognizer_client

Získejte instanci FormRecognizerClient z FormTrainingClient.

list_custom_models

Seznam informací o jednotlivých modelech, včetně ID modelu, stavu modelu a data jeho vytvoření a poslední úpravy

send_request

Spustí síťový požadavek pomocí existujícího kanálu klienta.

Adresa URL požadavku může být relativní vzhledem k základní adrese URL. Verze rozhraní API služby použitá pro požadavek je stejná jako verze klienta, pokud není uvedeno jinak. Přepsání nakonfigurované verze rozhraní API klienta na relativní adresu URL se podporuje u klienta s rozhraním API verze 2022-08-31 a novější. Přepsání v absolutní adrese URL podporované na klientovi s libovolnou verzí rozhraní API Tato metoda nevyvolá, pokud odpověď je chyba; Pokud chcete vyvolat výjimku, zavolejte raise_for_status() u vráceného objektu odpovědi. Další informace o odesílání vlastních požadavků pomocí této metody najdete v tématu https://aka.ms/azsdk/dpcodegen/python/send_request.

begin_copy_model

Zkopírujte vlastní model uložený v tomto prostředku (zdroji) do uživatelem zadaného cílového Rozpoznávání formulářů prostředku. Mělo by se volat se zdrojovým Rozpoznávání formulářů prostředkem (s modelem, který se má zkopírovat). Parametr target by měl být zadaný z výstupu cílového prostředku z volání get_copy_authorization metody .

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

Parametry

model_id
str
Vyžadováno

Identifikátor modelu, který se má zkopírovat do cílového prostředku.

target
Dict[str, Union[str, int]]
Vyžadováno

Autorizace kopírování vygenerovaná voláním cílového prostředku .get_copy_authorization

continuation_token
str

Pokračovací token pro restartování poller z uloženého stavu.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte CustomFormModelInfo.

Návratový typ

Výjimky

Příklady

Zkopírování modelu ze zdrojového prostředku do cílového prostředku


   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

Vytvoří složený model z kolekce existujících modelů, které byly natrénovány pomocí popisků.

Složený model umožňuje volat více modelů s jedním ID modelu. Když je dokument odeslán k analýze pomocí sestaveného ID modelu, nejprve se provede klasifikační krok, který ho nasměruje do správného vlastního modelu.

Novinka ve verzi v2.1: Metoda klienta begin_create_composed_model

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

Parametry

model_ids
list[str]
Vyžadováno

Seznam ID modelů, které se mají použít ve složené model.

model_name
str

Volitelný, uživatelem definovaný název, který chcete přidružit k vašemu modelu.

continuation_token
str

Pokračovací token pro restartování poller z uloženého stavu.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte CustomFormModel.

Návratový typ

Výjimky

Příklady

Vytvoření složeného modelu


   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

Vytvoření a trénování vlastního modelu Požadavek musí obsahovat parametr training_files_url , který je externě přístupným identifikátorem URI kontejneru objektů blob služby Azure Storage (nejlépe identifikátor URI sdíleného přístupového podpisu). Všimněte si, že identifikátor URI kontejneru (bez SAS) se přijímá jenom v případě, že je kontejner veřejný nebo má nakonfigurovanou spravovanou identitu. Další informace o konfiguraci spravovaných identit pro práci s Rozpoznávání formulářů tady: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. Modely se trénují pomocí dokumentů, které mají následující typ obsahu: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' nebo 'image/bmp'. Ostatní typy obsahu v kontejneru se ignorují.

Novinka ve verzi v2.1: Argument model_name klíčového slova

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

Parametry

training_files_url
str
Vyžadováno

Identifikátor URI SAS kontejneru objektů blob služby Azure Storage Identifikátor URI kontejneru (bez SAS) je možné použít, pokud je kontejner veřejný nebo má nakonfigurovanou spravovanou identitu. Další informace o nastavení trénovací sady dat najdete tady: https://aka.ms/azsdk/formrecognizer/buildtrainingset.

use_training_labels
bool
Vyžadováno

Jestli se má trénovat s popisky, nebo ne. V kontejneru objektů blob musí existovat odpovídající soubory s popiskem, pokud je nastavená hodnota True.

prefix
str

Řetězec předpony rozlišující velká a malá písmena pro filtrování dokumentů ve zdrojové cestě pro trénování. Například při použití identifikátoru URI objektu blob úložiště Azure použijte předponu k omezení podsložek pro trénování.

include_subfolders
bool

Příznak, který označuje, zda podsložky v sadě složek předpony musí být zahrnuty také při hledání obsahu, který má být předzpracován. Nepodporuje se při trénování s popisky.

model_name
str

Volitelný, uživatelem definovaný název, který chcete přidružit k vašemu modelu.

continuation_token
str

Pokračovací token pro restartování poller z uloženého stavu.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte CustomFormModel.

Návratový typ

Výjimky

Všimněte si, že pokud se trénování nezdaří, vyvolá se výjimka, ale stále se vytvoří model s neplatným stavem. Tento model můžete odstranit voláním

Příklady

Trénování modelu (bez popisků) pomocí vlastních formulářů


   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

Zavřete FormTrainingClient relaci.

close() -> None

Výjimky

delete_model

Označte model k odstranění. Artefakty modelu budou trvale odebrány během předem stanoveného období.

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

Parametry

model_id
str
Vyžadováno

Identifikátor modelu.

Návratový typ

Výjimky

Příklady

Odstranění vlastního modelu


   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

Získejte informace o modelech v účtu rozpoznávání formulářů.

get_account_properties(**kwargs: Any) -> AccountProperties

Návraty

Souhrn modelů na účtu – počet vlastních modelů, limit vlastního modelu

Návratový typ

Výjimky

Příklady

Získejte vlastnosti pro účet rozpoznávání formulářů.


   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

Vygenerujte autorizaci pro kopírování vlastního modelu do cílového prostředku Rozpoznávání formulářů. Tuto funkci by měl volat cílový prostředek (do kterého se model zkopíruje) a výstup je možné předat jako cílový parametr do begin_copy_model.

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

Parametry

resource_id
str
Vyžadováno

ID prostředku Azure cílového Rozpoznávání formulářů prostředku, do kterého se model zkopíruje.

resource_region
str
Vyžadováno

Umístění cílového prostředku Rozpoznávání formulářů. Platný název oblasti Azure podporovaný službami Cognitive Services. Například westus, eastus atd. Informace o regionální dostupnosti služeb Cognitive Services najdete v tématu https://azure.microsoft.com/global-infrastructure/services/?products=cognitive-services .

Návraty

Slovník s hodnotami pro autorizaci kopírování : "modelId", "accessToken", "resourceId", "resourceRegion" a "expirationDateTimeTicks".

Návratový typ

Výjimky

Příklady

Autorizace cílového prostředku pro příjem zkopírovaného modelu


   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

Získejte popis vlastního modelu, včetně typů formulářů, které dokáže rozpoznat, a polí, která bude extrahovat pro každý typ formuláře.

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

Parametry

model_id
str
Vyžadováno

Identifikátor modelu.

Návraty

CustomFormModel

Návratový typ

Výjimky

Příklady

Získejte vlastní model s ID modelu.


   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

Získejte instanci FormRecognizerClient z FormTrainingClient.

get_form_recognizer_client(**kwargs: Any) -> FormRecognizerClient

Návraty

A FormRecognizerClient

Návratový typ

Výjimky

list_custom_models

Seznam informací o jednotlivých modelech, včetně ID modelu, stavu modelu a data jeho vytvoření a poslední úpravy

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

Návraty

ItemPaged[CustomFormModelInfo]

Návratový typ

Výjimky

Příklady

Vypíše informace o modelu pro každý model v účtu.


   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

Spustí síťový požadavek pomocí existujícího kanálu klienta.

Adresa URL požadavku může být relativní vzhledem k základní adrese URL. Verze rozhraní API služby použitá pro požadavek je stejná jako verze klienta, pokud není uvedeno jinak. Přepsání nakonfigurované verze rozhraní API klienta na relativní adresu URL se podporuje u klienta s rozhraním API verze 2022-08-31 a novější. Přepsání v absolutní adrese URL podporované na klientovi s libovolnou verzí rozhraní API Tato metoda nevyvolá, pokud odpověď je chyba; Pokud chcete vyvolat výjimku, zavolejte raise_for_status() u vráceného objektu odpovědi. Další informace o odesílání vlastních požadavků pomocí této metody najdete v tématu https://aka.ms/azsdk/dpcodegen/python/send_request.

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

Parametry

request
HttpRequest
Vyžadováno

Síťový požadavek, který chcete vytvořit.

stream
bool

Určuje, jestli se datová část odpovědi bude streamovat. Výchozí hodnota je False.

Návraty

Odpověď síťového volání. Nezvládá zpracování chyb ve vaší odpovědi.

Návratový typ

Výjimky