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.FormRecognizerClientBaseFormTrainingClient
Constructor
FormTrainingClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)
Parámetros
- endpoint
- str
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
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
Identificador de modelo del modelo que se va a copiar en el recurso de destino.
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
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
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
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
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
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
Identificador de recurso de Azure del recurso de destino Form Recognizer en el que se copiará el modelo.
- resource_region
- str
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
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
- 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
Azure SDK for Python