Compartir a través de


FormTrainingClient Clase

FormTrainingClient es la interfaz de Form Recognizer que se va a usar para crear y administrar modelos personalizados. Proporciona métodos para entrenar modelos en los formularios que se proporcionan, así como métodos para ver y eliminar modelos, tener acceso a las propiedades de la cuenta, copiar modelos a otro recurso Form Recognizer y crear modelos a partir de una colección de modelos existentes entrenados con etiquetas.

Nota:

FormTrainingClient debe usarse con las versiones <de API =v2.1.

Para usar las versiones de API 2022-08-31 y versiones posteriores, cree una instancia de DocumentModelAdministrationClient.

Herencia
azure.ai.formrecognizer._form_base_client.FormRecognizerClientBase
FormTrainingClient

Constructor

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

Parámetros

endpoint
str
Requerido

Puntos de conexión de Cognitive Services admitidos (protocolo y nombre de host, por ejemplo: https://westus2.api.cognitive.microsoft.com).

credential
AzureKeyCredential o TokenCredential
Requerido

Credenciales necesarias para que el cliente se conecte a Azure. Se trata de una instancia de AzureKeyCredential si usa una clave de API o una credencial de token de identity.

api_version
str o FormRecognizerApiVersion

La versión de API del servicio que se va a usar para las solicitudes. El valor predeterminado es la versión de API v2.1. Establecer en una versión anterior puede dar lugar a una compatibilidad de características reducida. Para usar la versión y las características admitidas más recientes de la API, cree una instancia de DocumentModelAdministrationClient en su lugar.

Ejemplos

Creación de FormTrainingClient con un punto de conexión y una clave de 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))

Creación de FormTrainingClient con una credencial de token.


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

Métodos

begin_copy_model

Copie un modelo personalizado almacenado en este recurso (el origen) en el recurso de destino especificado por el usuario Form Recognizer recurso. Se debe llamar a con el recurso de Form Recognizer de origen (con el modelo que está pensado para copiarse). El parámetro de destino debe proporcionarse desde la salida del recurso de destino desde la llamada al get_copy_authorization método .

begin_create_composed_model

Crea un modelo compuesto a partir de una colección de modelos existentes entrenados con etiquetas.

Un modelo compuesto permite llamar a varios modelos con un identificador de modelo único. Cuando se envía un documento para que se analice con un identificador de modelo compuesto, primero se realiza un paso de clasificación para enrutarlo al modelo personalizado correcto.

Novedades de la versión v2.1: el método de cliente begin_create_composed_model

begin_training

Crea y entrena un modelo personalizado. La solicitud debe incluir un parámetro training_files_url que sea un URI de contenedor de blobs de Azure Storage accesible externamente (preferiblemente un URI de firma de acceso compartido). Tenga en cuenta que solo se acepta un URI de contenedor (sin SAS) cuando el contenedor es público o tiene configurada una identidad administrada, consulte más información sobre cómo configurar identidades administradas para que funcionen con Form Recognizer aquí: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. Los modelos se entrenan mediante documentos que son del siguiente tipo de contenido: "application/pdf", "image/jpeg", "image/png", "image/tiff" o "image/bmp". Se omiten otros tipos de contenido del contenedor.

Novedad de la versión v2.1: el argumento de palabra clave model_name

close

Cierre la FormTrainingClient sesión.

delete_model

Marca el modelo para su eliminación. Los artefactos del modelo se quitarán permanentemente dentro de un período predeterminado.

get_account_properties

Obtenga información sobre los modelos de la cuenta de form recognizer.

get_copy_authorization

Genere autorización para copiar un modelo personalizado en el recurso de Form Recognizer de destino. El recurso de destino debe llamar a esto (donde se copiará el modelo) y la salida se puede pasar como parámetro de destino a begin_copy_model.

get_custom_model

Obtenga una descripción de un modelo personalizado, incluidos los tipos de formularios que puede reconocer y los campos que extraerá para cada tipo de formulario.

get_form_recognizer_client

Obtenga una instancia de FormRecognizerClient de FormTrainingClient.

list_custom_models

Muestra información para cada modelo, incluido el identificador del modelo, el estado del modelo y cuándo se creó y modificó por última vez.

send_request

Ejecuta una solicitud de red mediante la canalización existente del cliente.

La dirección URL de la solicitud puede ser relativa a la dirección URL base. La versión de la API de servicio usada para la solicitud es la misma que la del cliente, a menos que se especifique lo contrario. La invalidación de la versión de API configurada del cliente en la dirección URL relativa se admite en el cliente con la versión de API 2022-08-31 y versiones posteriores. Invalidación en dirección URL absoluta admitida en el cliente con cualquier versión de API. Este método no genera si la respuesta es un error; para generar una excepción, llame a raise_for_status() en el objeto de respuesta devuelto. Para obtener más información sobre cómo enviar solicitudes personalizadas con este método, vea https://aka.ms/azsdk/dpcodegen/python/send_request.

begin_copy_model

Copie un modelo personalizado almacenado en este recurso (el origen) en el recurso de destino especificado por el usuario Form Recognizer recurso. Se debe llamar a con el recurso de Form Recognizer de origen (con el modelo que está pensado para copiarse). El parámetro de destino debe proporcionarse desde la salida del recurso de destino desde la llamada al get_copy_authorization método .

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

Parámetros

model_id
str
Requerido

Identificador de modelo del modelo que se va a copiar en el recurso de destino.

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

Autorización de copia generada desde la llamada del recurso de destino a get_copy_authorization.

continuation_token
str

Token de continuación para reiniciar un sondeo desde un estado guardado.

Devoluciones

Instancia de un LROPoller. Llame a result() en el objeto poller para devolver un CustomFormModelInfo.

Tipo de valor devuelto

Excepciones

Ejemplos

Copia de un modelo del recurso de origen en el recurso de destino


   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

Crea un modelo compuesto a partir de una colección de modelos existentes entrenados con etiquetas.

Un modelo compuesto permite llamar a varios modelos con un identificador de modelo único. Cuando se envía un documento para que se analice con un identificador de modelo compuesto, primero se realiza un paso de clasificación para enrutarlo al modelo personalizado correcto.

Novedades de la versión v2.1: el método de cliente begin_create_composed_model

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

Parámetros

model_ids
list[str]
Requerido

Lista de identificadores de modelo que se usarán en el modelo compuesto.

model_name
str

Nombre opcional definido por el usuario que se va a asociar al modelo.

continuation_token
str

Token de continuación para reiniciar un sondeo desde un estado guardado.

Devoluciones

Instancia de un LROPoller. Llame a result() en el objeto poller para devolver un CustomFormModel.

Tipo de valor devuelto

Excepciones

Ejemplos

Creación de un modelo compuesto


   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

Crea y entrena un modelo personalizado. La solicitud debe incluir un parámetro training_files_url que sea un URI de contenedor de blobs de Azure Storage accesible externamente (preferiblemente un URI de firma de acceso compartido). Tenga en cuenta que solo se acepta un URI de contenedor (sin SAS) cuando el contenedor es público o tiene configurada una identidad administrada, consulte más información sobre cómo configurar identidades administradas para que funcionen con Form Recognizer aquí: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. Los modelos se entrenan mediante documentos que son del siguiente tipo de contenido: "application/pdf", "image/jpeg", "image/png", "image/tiff" o "image/bmp". Se omiten otros tipos de contenido del contenedor.

Novedad de la versión v2.1: el argumento de palabra clave model_name

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

Parámetros

training_files_url
str
Requerido

Identificador URI de SAS de un contenedor de blobs de Azure Storage. Se puede usar un URI de contenedor (sin SAS) si el contenedor es público o tiene configurada una identidad administrada. Para obtener más información sobre cómo configurar un conjunto de datos de entrenamiento, vea: https://aka.ms/azsdk/formrecognizer/buildtrainingset.

use_training_labels
bool
Requerido

Si se va a entrenar con etiquetas o no. Los archivos etiquetados correspondientes deben existir en el contenedor de blobs si se establece en True.

prefix
str

Cadena de prefijo que distingue mayúsculas de minúsculas para filtrar documentos en la ruta de acceso de origen para el entrenamiento. Por ejemplo, al usar un URI de blob de Azure Storage, use el prefijo para restringir las subcarpetas para el entrenamiento.

include_subfolders
bool

Marca que indica si las subcarpetas dentro del conjunto de carpetas de prefijo también deben incluirse al buscar contenido que se va a preprocesar. No se admite si el entrenamiento con etiquetas.

model_name
str

Nombre opcional definido por el usuario que se va a asociar al modelo.

continuation_token
str

Token de continuación para reiniciar un sondeo desde un estado guardado.

Devoluciones

Instancia de un LROPoller. Llame a result() en el objeto poller para devolver un CustomFormModel.

Tipo de valor devuelto

Excepciones

Tenga en cuenta que si se produce un error en el entrenamiento, se genera la excepción, pero se sigue creando un modelo con un estado "no válido". Puede eliminar este modelo llamando a .

Ejemplos

Entrenamiento de un modelo (sin etiquetas) con los formularios personalizados.


   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

Cierre la FormTrainingClient sesión.

close() -> None

Excepciones

delete_model

Marca el modelo para su eliminación. Los artefactos del modelo se quitarán permanentemente dentro de un período predeterminado.

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

Parámetros

model_id
str
Requerido

Identificador del modelo.

Tipo de valor devuelto

Excepciones

Ejemplos

Elimina un modelo personalizado.


   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

Obtenga información sobre los modelos de la cuenta de form recognizer.

get_account_properties(**kwargs: Any) -> AccountProperties

Devoluciones

Resumen de los modelos en la cuenta: recuento de modelos personalizados, límite de modelos personalizados.

Tipo de valor devuelto

Excepciones

Ejemplos

Obtiene las propiedades de la cuenta de form recognizer.


   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

Genere autorización para copiar un modelo personalizado en el recurso de Form Recognizer de destino. El recurso de destino debe llamar a esto (donde se copiará el modelo) y la salida se puede pasar como parámetro de destino a begin_copy_model.

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

Parámetros

resource_id
str
Requerido

Identificador de recurso de Azure del recurso de destino Form Recognizer en el que se copiará el modelo.

resource_region
str
Requerido

Ubicación del recurso de Form Recognizer de destino. Un nombre de región de Azure válido compatible con Cognitive Services. Por ejemplo, "westus", "eastus", etc. Consulte https://azure.microsoft.com/global-infrastructure/services/?products=cognitive-services para obtener la disponibilidad regional de Cognitive Services.

Devoluciones

Diccionario con valores para la autorización de copia: "modelId", "accessToken", "resourceId", "resourceRegion" y "expirationDateTimeTicks".

Tipo de valor devuelto

Excepciones

Ejemplos

Autorización del recurso de destino para recibir el modelo copiado


   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

Obtenga una descripción de un modelo personalizado, incluidos los tipos de formularios que puede reconocer y los campos que extraerá para cada tipo de formulario.

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

Parámetros

model_id
str
Requerido

Identificador del modelo.

Devoluciones

CustomFormModel

Tipo de valor devuelto

Excepciones

Ejemplos

Obtenga un modelo personalizado con un identificador de modelo.


   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

Obtenga una instancia de FormRecognizerClient de FormTrainingClient.

get_form_recognizer_client(**kwargs: Any) -> FormRecognizerClient

Devoluciones

A FormRecognizerClient

Tipo de valor devuelto

Excepciones

list_custom_models

Muestra información para cada modelo, incluido el identificador del modelo, el estado del modelo y cuándo se creó y modificó por última vez.

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

Devoluciones

ItemPaged[CustomFormModelInfo]

Tipo de valor devuelto

Excepciones

Ejemplos

Enumere la información del modelo para cada modelo de la cuenta.


   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

Ejecuta una solicitud de red mediante la canalización existente del cliente.

La dirección URL de la solicitud puede ser relativa a la dirección URL base. La versión de la API de servicio usada para la solicitud es la misma que la del cliente, a menos que se especifique lo contrario. La invalidación de la versión de API configurada del cliente en la dirección URL relativa se admite en el cliente con la versión de API 2022-08-31 y versiones posteriores. Invalidación en dirección URL absoluta admitida en el cliente con cualquier versión de API. Este método no genera si la respuesta es un error; para generar una excepción, llame a raise_for_status() en el objeto de respuesta devuelto. Para obtener más información sobre cómo enviar solicitudes personalizadas con este método, vea https://aka.ms/azsdk/dpcodegen/python/send_request.

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

Parámetros

request
HttpRequest
Requerido

Solicitud de red que desea realizar.

stream
bool

Si se transmitirá la carga de respuesta. El valor predeterminado es False.

Devoluciones

Respuesta de la llamada de red. No realiza el control de errores en la respuesta.

Tipo de valor devuelto

Excepciones