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.FormRecognizerClientBaseFormTrainingClient
Konstruktor
FormTrainingClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)
Parametrar
- endpoint
- str
Cognitive Services-slutpunkter som stöds (protokoll och värdnamn, till exempel: https://westus2.api.cognitive.microsoft.com).
- credential
- AzureKeyCredential eller TokenCredential
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
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
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
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
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
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
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
Azure-resurs-ID för målet Formigenkänning resurs som modellen ska kopieras till.
- resource_region
- str
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
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
- 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
Azure SDK for Python