Compartir a través de


FormTrainingClient Clase

FormTrainingClient es la interfaz 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 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.aio._form_base_client_async.FormRecognizerClientBaseAsync
FormTrainingClient

Constructor

FormTrainingClient(endpoint: str, credential: AzureKeyCredential | AsyncTokenCredential, **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 AsyncTokenCredential
Requerido

Credenciales necesarias para que el cliente se conecte a Azure. Se trata de una instancia de AzureKeyCredential si se 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 reducción de la compatibilidad de características. 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.aio 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.aio import FormTrainingClient
   from azure.identity.aio 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 destino especificado por el usuario Form Recognizer recurso. Se debe llamar a esto con el recurso de Form Recognizer de origen (con el modelo que está pensado para copiarse). El parámetro de destino debe proporcionarse a partir de la salida del recurso de destino de llamar 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.

Novedad 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 de 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 una identidad administrada configurada, consulte más información sobre la configuración de 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 de 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 el 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

Enumere la información de 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 posteriores. Invalidación en la 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 destino especificado por el usuario Form Recognizer recurso. Se debe llamar a esto con el recurso de Form Recognizer de origen (con el modelo que está pensado para copiarse). El parámetro de destino debe proporcionarse a partir de la salida del recurso de destino de llamar al get_copy_authorization método .

async begin_copy_model(model_id: str, target: Dict[str, str | int], **kwargs: Any) -> AsyncLROPoller[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

La autorización de copia generada a partir de 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

Una instancia de AsyncLROPoller. 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))

   async with source_client:
       poller = await 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 = await 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.

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

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

Parámetros

model_ids
list[str]
Requerido

Lista de identificadores de modelo que se van a usar en el modelo compuesto.

model_name
str

Un 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

Una instancia de AsyncLROPoller. 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.aio 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))
   async with form_training_client:
       supplies_poller = await form_training_client.begin_training(
           po_supplies, use_training_labels=True, model_name="Purchase order - Office supplies"
       )
       equipment_poller = await form_training_client.begin_training(
           po_equipment, use_training_labels=True, model_name="Purchase order - Office Equipment"
       )
       furniture_poller = await form_training_client.begin_training(
           po_furniture, use_training_labels=True, model_name="Purchase order - Furniture"
       )
       cleaning_supplies_poller = await form_training_client.begin_training(
           po_cleaning_supplies, use_training_labels=True, model_name="Purchase order - Cleaning Supplies"
       )
       supplies_model = await supplies_poller.result()
       equipment_model = await equipment_poller.result()
       furniture_model = await furniture_poller.result()
       cleaning_supplies_model = await 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 = await form_training_client.begin_create_composed_model(
           models_trained_with_labels, model_name="Office Supplies Composed Model"
       )
       model = await 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 de 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 una identidad administrada configurada, consulte más información sobre la configuración de 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

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

Parámetros

training_files_url
str
Requerido

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 para indicar si las subcarpetas del conjunto de carpetas de prefijo también tendrán que incluirse al buscar contenido que se va a preprocesar. No se admite si el entrenamiento con etiquetas.

model_name
str

Un 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

Una instancia de AsyncLROPoller. 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.aio 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"]

   async with FormTrainingClient(
       endpoint, AzureKeyCredential(key)
   ) as form_training_client:

       poller = await form_training_client.begin_training(container_sas_url, use_training_labels=False)
       model = await 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.

async close() -> None

Excepciones

delete_model

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

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

Parámetros

model_id
str
Requerido

Identificador del modelo.

Devoluciones

None

Tipo de valor devuelto

Excepciones

Ejemplos

Elimina un modelo personalizado.


   await form_training_client.delete_model(model_id=custom_model.model_id)

   try:
       await 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.

async get_account_properties(**kwargs: Any) -> AccountProperties

Devoluciones

Resumen de modelos en 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.


   async with FormTrainingClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   ) as form_training_client:
       # First, we see how many custom models we have, and what our limit is
       account_properties = await 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 el parámetro de destino a begin_copy_model.

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

   async with target_client:
       target = await 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.

async 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

Obtener un modelo personalizado con un identificador de modelo.


   custom_model = await form_training_client.get_custom_model(model_id=model_info.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

Enumere la información de 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) -> AsyncItemPaged[CustomFormModelInfo]

Devoluciones

AsyncItemPaged[CustomFormModelInfo]

Tipo de valor devuelto

Excepciones

Ejemplos

Enumera 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:")
   async for model in custom_models:
       print(model.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 posteriores. Invalidación en la 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.

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

Parámetros

request
HttpRequest
Requerido

La solicitud de red que desea realizar.

Devoluciones

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

Tipo de valor devuelto

Excepciones