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.FormRecognizerClientBaseFormTrainingClient
Konstruktor
FormTrainingClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)
Parametry
- endpoint
- str
Podporované koncové body služeb Cognitive Services (protokol a název hostitele, například: https://westus2.api.cognitive.microsoft.com).
- credential
- AzureKeyCredential nebo TokenCredential
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
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_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
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
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
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
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
ID prostředku Azure cílového Rozpoznávání formulářů prostředku, do kterého se model zkopíruje.
- resource_region
- str
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
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
- 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
Azure SDK for Python