public final class FormTrainingClient extends Object
Instantiating a synchronous Form Training Client
FormTrainingClientformTrainingClient = newFormTrainingClientBuilder().buildClient();
FormTrainingClientBuilder,
FormTrainingClient| Modifier and Type | Method and Description |
|---|---|
com.azure.core.util.polling.SyncPoller<FormRecognizerOperationResult,CustomFormModelInfo> |
beginCopyModel(String modelId,
CopyAuthorization target)
Copy a custom model stored in this resource (the source) to the user specified target Form Recognizer resource.
|
com.azure.core.util.polling.SyncPoller<FormRecognizerOperationResult,CustomFormModelInfo> |
beginCopyModel(String modelId,
CopyAuthorization target,
Duration pollInterval,
com.azure.core.util.Context context)
Copy a custom model stored in this resource (the source) to the user specified target Form Recognizer resource.
|
com.azure.core.util.polling.SyncPoller<FormRecognizerOperationResult,CustomFormModel> |
beginCreateComposedModel(List<String> modelIds)
Create a composed model from the provided list of existing models in the account.
|
com.azure.core.util.polling.SyncPoller<FormRecognizerOperationResult,CustomFormModel> |
beginCreateComposedModel(List<String> modelIds,
CreateComposedModelOptions createComposedModelOptions,
com.azure.core.util.Context context)
Create a composed model from the provided list of existing models in the account.
|
com.azure.core.util.polling.SyncPoller<FormRecognizerOperationResult,CustomFormModel> |
beginTraining(String trainingFilesUrl,
boolean useTrainingLabels)
Create and train a custom model.
|
com.azure.core.util.polling.SyncPoller<FormRecognizerOperationResult,CustomFormModel> |
beginTraining(String trainingFilesUrl,
boolean useTrainingLabels,
TrainingOptions trainingOptions,
com.azure.core.util.Context context)
Create and train a custom model.
|
void |
deleteModel(String modelId)
Deletes the specified custom model.
|
com.azure.core.http.rest.Response<Void> |
deleteModelWithResponse(String modelId,
com.azure.core.util.Context context)
Deletes the specified custom model.
|
AccountProperties |
getAccountProperties()
Get account information of the form recognizer account.
|
com.azure.core.http.rest.Response<AccountProperties> |
getAccountPropertiesWithResponse(com.azure.core.util.Context context)
Get account information of the form recognizer account with an Http response and a
specified
Context. |
CopyAuthorization |
getCopyAuthorization(String resourceId,
String resourceRegion)
Generate authorization for copying a custom model into the target Form Recognizer resource.
|
com.azure.core.http.rest.Response<CopyAuthorization> |
getCopyAuthorizationWithResponse(String resourceId,
String resourceRegion,
com.azure.core.util.Context context)
Generate authorization for copying a custom model into the target Form Recognizer resource.
|
CustomFormModel |
getCustomModel(String modelId)
Get detailed information for a specified custom model id.
|
com.azure.core.http.rest.Response<CustomFormModel> |
getCustomModelWithResponse(String modelId,
com.azure.core.util.Context context)
Get detailed information for a specified custom model id.
|
FormRecognizerClient |
getFormRecognizerClient()
Creates a new
FormRecognizerClient object. |
com.azure.core.http.rest.PagedIterable<CustomFormModelInfo> |
listCustomModels()
List information for each model on the form recognizer account.
|
com.azure.core.http.rest.PagedIterable<CustomFormModelInfo> |
listCustomModels(com.azure.core.util.Context context)
List information for each model on the form recognizer account with an Http response and a specified
Context. |
public FormRecognizerClient getFormRecognizerClient()
FormRecognizerClient object. The new FormTrainingClient
uses the same request policy pipeline as the FormTrainingClient.FormRecognizerClient object.public com.azure.core.util.polling.SyncPoller<FormRecognizerOperationResult,CustomFormModel> beginTraining(String trainingFilesUrl, boolean useTrainingLabels)
Models are trained using documents that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'. Other type of content is ignored.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
StringtrainingFilesUrl = "{SAS-URL-of-your-container-in-blob-storage}"; boolean useTrainingLabels = true;CustomFormModelcustomFormModel = formTrainingClient.beginTraining(trainingFilesUrl, useTrainingLabels).getFinalResult();System.out.printf("Model Id: %s%n", customFormModel.getModelId());System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); customFormModel.getSubmodels() .forEach(customFormSubmodel -> customFormSubmodel.getFields() .forEach((key, customFormModelField) ->System.out.printf("Form Type: %s Field Text: %s Field Accuracy: %f%n", key, customFormModelField.getName(), customFormModelField.getAccuracy())));
trainingFilesUrl - an externally accessible Azure storage blob container Uri (preferably a Shared Access
Signature Uri).
For instructions on setting up forms for training in an Azure Storage Blob Container, see
here.useTrainingLabels - boolean to specify the use of labeled files for training the model.SyncPoller that polls the training model operation until it has completed, has failed, or has
been cancelled. The completed operation returns the trained custom form model.FormRecognizerException - If training fails and model with ModelStatus.INVALID is created.NullPointerException - If trainingFilesUrl is null.public com.azure.core.util.polling.SyncPoller<FormRecognizerOperationResult,CustomFormModel> beginTraining(String trainingFilesUrl, boolean useTrainingLabels, TrainingOptions trainingOptions, com.azure.core.util.Context context)
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
StringtrainingFilesUrl = "{SAS-URL-of-your-container-in-blob-storage}";TrainingFileFiltertrainingFileFilter = newTrainingFileFilter().setSubfoldersIncluded(false).setPrefix("Invoice"); boolean useTrainingLabels = true;CustomFormModelcustomFormModel = formTrainingClient.beginTraining(trainingFilesUrl, useTrainingLabels, newTrainingOptions() .setTrainingFileFilter(trainingFileFilter) .setPollInterval(Duration.ofSeconds(5)),Context.NONE) .getFinalResult();System.out.printf("Model Id: %s%n", customFormModel.getModelId());System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); customFormModel.getSubmodels() .forEach(customFormSubmodel -> customFormSubmodel.getFields() .forEach((key, customFormModelField) ->System.out.printf("Form Type: %s Field Text: %s Field Accuracy: %f%n", key, customFormModelField.getName(), customFormModelField.getAccuracy())));
trainingFilesUrl - an externally accessible Azure storage blob container Uri (preferably a
Shared Access Signature Uri).
For instructions on setting up forms for training in an Azure Storage Blob Container, see
here.useTrainingLabels - boolean to specify the use of labeled files for training the model.trainingOptions - The additional configurable options
that may be passed when training a model.context - Additional context that is passed through the HTTP pipeline during the service call.SyncPoller that polls the training model operation until it has completed, has failed, or has
been cancelled. The completed operation returns the trained custom form model.FormRecognizerException - If training fails and model with ModelStatus.INVALID is created.NullPointerException - If trainingFilesUrl is null.public CustomFormModel getCustomModel(String modelId)
Code sample
StringmodelId = "{model_id}";CustomFormModelcustomFormModel = formTrainingClient.getCustomModel(modelId);System.out.printf("Model Id: %s%n", customFormModel.getModelId());System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); customFormModel.getSubmodels() .forEach(customFormSubmodel -> customFormSubmodel.getFields() .forEach((key, customFormModelField) ->System.out.printf("Form Type: %s Field Text: %s Field Accuracy: %f%n", key, customFormModelField.getName(), customFormModelField.getAccuracy())));
modelId - The UUID string format model identifier.IllegalArgumentException - If modelId is null or empty.public com.azure.core.http.rest.Response<CustomFormModel> getCustomModelWithResponse(String modelId, com.azure.core.util.Context context)
Code sample
StringmodelId = "{model_id}";Response<CustomFormModel> response = formTrainingClient.getCustomModelWithResponse(modelId,Context.NONE);System.out.printf("Response Status Code: %d.", response.getStatusCode());CustomFormModelcustomFormModel = response.getValue();System.out.printf("Model Id: %s%n", customFormModel.getModelId());System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); customFormModel.getSubmodels() .forEach(customFormSubmodel -> customFormSubmodel.getFields() .forEach((key, customFormModelField) ->System.out.printf("Field: %s Field Text: %s Field Accuracy: %f%n", key, customFormModelField.getName(), customFormModelField.getAccuracy())));
modelId - The UUID string format model identifier.context - Additional context that is passed through the Http pipeline during the service call.IllegalArgumentException - If modelId is null or empty.public AccountProperties getAccountProperties()
Code sample
AccountPropertiesaccountProperties = formTrainingClient.getAccountProperties();System.out.printf("Max number of models that can be trained for this account: %d%n", accountProperties.getCustomModelLimit());System.out.printf("Current count of trained custom models: %d%n", accountProperties.getCustomModelCount());
public com.azure.core.http.rest.Response<AccountProperties> getAccountPropertiesWithResponse(com.azure.core.util.Context context)
Context.
Code sample
Response<AccountProperties> response = formTrainingClient.getAccountPropertiesWithResponse(Context.NONE);System.out.printf("Response Status Code: %d.", response.getStatusCode());AccountPropertiesaccountProperties = response.getValue();System.out.printf("Max number of models that can be trained for this account: %s%n", accountProperties.getCustomModelLimit());System.out.printf("Current count of trained custom models: %d%n", accountProperties.getCustomModelCount());
context - Additional context that is passed through the Http pipeline during the service call.public void deleteModel(String modelId)
Code sample
StringmodelId = "{model_id}"; formTrainingClient.deleteModel(modelId);System.out.printf("Model Id: %s is deleted.%n", modelId);
modelId - The UUID string format model identifier.IllegalArgumentException - If modelId is null or empty.public com.azure.core.http.rest.Response<Void> deleteModelWithResponse(String modelId, com.azure.core.util.Context context)
Code sample
StringmodelId = "{model_id}";Response<Void> response = formTrainingClient.deleteModelWithResponse(modelId,Context.NONE);System.out.printf("Response Status Code: %d.", response.getStatusCode());System.out.printf("Model Id: %s is deleted.%n", modelId);
modelId - The UUID string format model identifier.context - Additional context that is passed through the Http pipeline during the service call.Response containing containing status code and HTTP headers.IllegalArgumentException - If modelId is null or empty.public com.azure.core.http.rest.PagedIterable<CustomFormModelInfo> listCustomModels()
Code sample
formTrainingClient.listCustomModels()
.forEach(customModel ->
System.out.printf("Model Id: %s, Model status: %s, Training started on: %s, Training completed on: %s.%n",
customModel.getModelId(),
customModel.getStatus(),
customModel.getTrainingStartedOn(),
customModel.getTrainingCompletedOn())
);
PagedIterable of CustomFormModelInfo custom form model information.public com.azure.core.http.rest.PagedIterable<CustomFormModelInfo> listCustomModels(com.azure.core.util.Context context)
Context.
Code sample
formTrainingClient.listCustomModels(Context.NONE) .forEach(customModel ->System.out.printf("Model Id: %s, Model status: %s, Training started on: %s, Training completed on: %s.%n", customModel.getModelId(), customModel.getStatus(), customModel.getTrainingStartedOn(), customModel.getTrainingCompletedOn()) );
context - Additional context that is passed through the Http pipeline during the service call.PagedIterable of CustomFormModelInfo custom form model information.public com.azure.core.util.polling.SyncPoller<FormRecognizerOperationResult,CustomFormModelInfo> beginCopyModel(String modelId, CopyAuthorization target)
This should be called with the source Form Recognizer resource (with the model that is intended to be copied).
The target parameter should be supplied from the target resource's output from
FormTrainingAsyncClient.getCopyAuthorization(String, String) method.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
StringresourceId = "target-resource-Id";StringresourceRegion = "target-resource-region";StringcopyModelId = "copy-model-Id"; formTrainingAsyncClient.getCopyAuthorization(resourceId, resourceRegion) .flatMapMany(copyAuthorization -> formTrainingAsyncClient.beginCopyModel(copyModelId, copyAuthorization)) .flatMap(AsyncPollResponse::getFinalResult) .subscribe(customFormModelInfo ->System.out.printf("Copied model has model Id: %s, model status: %s, training started on: %s," + " training completed on: %s.%n", customFormModelInfo.getModelId(), customFormModelInfo.getStatus(), customFormModelInfo.getTrainingStartedOn(), customFormModelInfo.getTrainingCompletedOn()));
modelId - Model identifier of the model to copy to the target Form Recognizer resourcetarget - the copy authorization to the target Form Recognizer resource. The copy authorization can be
generated from the target resource's call to FormTrainingClient.getCopyAuthorization(String, String)SyncPoller that polls the copy model operation until it has completed, has failed,
or has been cancelled.public com.azure.core.util.polling.SyncPoller<FormRecognizerOperationResult,CustomFormModelInfo> beginCopyModel(String modelId, CopyAuthorization target, Duration pollInterval, com.azure.core.util.Context context)
This should be called with the source Form Recognizer resource (with the model that is intended to be copied).
The target parameter should be supplied from the target resource's output from
FormTrainingClient.getCopyAuthorization(String, String) method.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
// The resource to copy model toStringresourceId = "target-resource-Id";StringresourceRegion = "target-resource-region"; // The Id of the model to be copiedStringcopyModelId = "copy-model-Id";CopyAuthorizationcopyAuthorization = targetFormTrainingClient.getCopyAuthorization(resourceId, resourceRegion); formTrainingClient.beginCopyModel(copyModelId, copyAuthorization,Duration.ofSeconds(5),Context.NONE) .waitForCompletion();CustomFormModelmodelCopy = targetFormTrainingClient.getCustomModel(copyAuthorization.getModelId());System.out.printf("Copied model has model Id: %s, model status: %s, was requested on: %s," + " transfer completed on: %s.%n", modelCopy.getModelId(), modelCopy.getModelStatus(), modelCopy.getTrainingStartedOn(), modelCopy.getTrainingCompletedOn());
modelId - Model identifier of the model to copy to the target Form Recognizer resourcetarget - the copy authorization to the target Form Recognizer resource. The copy authorization can be
generated from the target resource's call to FormTrainingClient.getCopyAuthorization(String, String)pollInterval - Duration between each poll for the operation status. If none is specified, a default of
5 seconds is used.context - Additional context that is passed through the HTTP pipeline during the service call.SyncPoller that polls the copy model operation until it has completed, has failed,
or has been cancelled.public CopyAuthorization getCopyAuthorization(String resourceId, String resourceRegion)
resourceId - Azure Resource Id of the target Form Recognizer resource where the model will be copied to.
This information can be found in the 'Properties' section of the Form Recognizer resource in the Azure Portal.resourceRegion - Location of the target Form Recognizer resource. A valid Azure region name supported
by Cognitive Services. This information can be found in the 'Keys and Endpoint' section of the Form Recognizer
resource in the Azure Portal.
Code sample
StringresourceId = "target-resource-Id";StringresourceRegion = "target-resource-region";CopyAuthorizationcopyAuthorization = formTrainingClient.getCopyAuthorization(resourceId, resourceRegion);System.out.printf("Copy Authorization for model id: %s, access token: %s, expiration time: %s, " + "target resource Id; %s, target resource region: %s%n", copyAuthorization.getModelId(), copyAuthorization.getAccessToken(), copyAuthorization.getExpiresOn(), copyAuthorization.getResourceId(), copyAuthorization.getResourceRegion() );
CopyAuthorizationpublic com.azure.core.http.rest.Response<CopyAuthorization> getCopyAuthorizationWithResponse(String resourceId, String resourceRegion, com.azure.core.util.Context context)
FormTrainingAsyncClient.beginCopyModel(String, CopyAuthorization).resourceId - Azure Resource Id of the target Form Recognizer resource where the model will be copied to.
This information can be found in the 'Properties' section of the Form Recognizer resource in the Azure Portal.resourceRegion - Location of the target Form Recognizer resource. A valid Azure region name supported by
Cognitive Services.This information can be found in the 'Keys and Endpoint' section of the Form Recognizer
resource in the Azure Portal.context - Additional context that is passed through the Http pipeline during the service call.
Code sample
StringresourceId = "target-resource-Id";StringresourceRegion = "target-resource-region";Response<CopyAuthorization> copyAuthorizationResponse = formTrainingClient.getCopyAuthorizationWithResponse(resourceId, resourceRegion,Context.NONE);System.out.printf("Copy Authorization operation returned with status: %s", copyAuthorizationResponse.getStatusCode());CopyAuthorizationcopyAuthorization = copyAuthorizationResponse.getValue();System.out.printf("Copy model id: %s, access token: %s, expiration time: %s, " + "target resource Id; %s, target resource region: %s%n", copyAuthorization.getModelId(), copyAuthorization.getAccessToken(), copyAuthorization.getExpiresOn(), copyAuthorization.getResourceId(), copyAuthorization.getResourceRegion() );
Response containing the CopyAuthorizationpublic com.azure.core.util.polling.SyncPoller<FormRecognizerOperationResult,CustomFormModel> beginCreateComposedModel(List<String> modelIds)
This operations fails if the list consists of an invalid, non-existing model Id or duplicate Ids. This operation is currently only supported for custom models trained using labels.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
StringlabeledModelId1 = "5f21ab8d-71a6-42d8-9856-ef5985c486a8";StringlabeledModelId2 = "d7b0904c-841f-46f9-a9f4-3f2273eef7c9"; finalCustomFormModelcustomFormModel = formTrainingClient.beginCreateComposedModel(Arrays.asList(labeledModelId1, labeledModelId2)) .getFinalResult();System.out.printf("Model Id: %s%n", customFormModel.getModelId());System.out.printf("Model Status: %s%n", customFormModel.getModelStatus());System.out.printf("Is this a composed model: %s%n", customFormModel.getCustomModelProperties().isComposed()); customFormModel.getSubmodels() .forEach(customFormSubmodel -> customFormSubmodel.getFields() .forEach((key, customFormModelField) ->System.out.printf("Form type: %s Field Text: %s Field Accuracy: %f%n", key, customFormModelField.getName(), customFormModelField.getAccuracy())));
modelIds - The list of models Ids to form the composed model.SyncPoller that polls the create composed model operation until it has completed, has failed,
or has been cancelled. The completed operation returns the composed model.FormRecognizerException - If create composed model operation fails and model with
OperationStatus.FAILED is created.NullPointerException - If the list of modelIds is null or empty.public com.azure.core.util.polling.SyncPoller<FormRecognizerOperationResult,CustomFormModel> beginCreateComposedModel(List<String> modelIds, CreateComposedModelOptions createComposedModelOptions, com.azure.core.util.Context context)
This operations fails if the list consists of an invalid, non-existing model Id or duplicate Ids. This operation is currently only supported for custom models trained using labels.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
StringlabeledModelId1 = "5f21ab8d-71a6-42d8-9856-ef5985c486a8";StringlabeledModelId2 = "d7b0904c-841f-46f9-a9f4-3f2273eef7c9"; finalCustomFormModelcustomFormModel = formTrainingClient.beginCreateComposedModel(Arrays.asList(labeledModelId1, labeledModelId2), newCreateComposedModelOptions() .setModelName("my composed model name"),Context.NONE) .setPollInterval(Duration.ofSeconds(5)) .getFinalResult();System.out.printf("Model Id: %s%n", customFormModel.getModelId());System.out.printf("Model Status: %s%n", customFormModel.getModelStatus());System.out.printf("Model display name: %s%n", customFormModel.getModelName());System.out.printf("Is this a composed model: %s%n", customFormModel.getCustomModelProperties().isComposed()); customFormModel.getSubmodels() .forEach(customFormSubmodel -> customFormSubmodel.getFields() .forEach((key, customFormModelField) ->System.out.printf("Form type: %s Field Text: %s Field Accuracy: %f%n", key, customFormModelField.getName(), customFormModelField.getAccuracy())));
modelIds - The list of models Ids to form the composed model.createComposedModelOptions - The configurable options to pass when
creating a composed model.context - Additional context that is passed through the HTTP pipeline during the service call.SyncPoller that polls the create composed model operation until it has completed, has failed,
or has been cancelled. The completed operation returns the composed model.FormRecognizerException - If create composed model operation fails and model with
OperationStatus.FAILED is created.NullPointerException - If the list of modelIds is null or empty.Copyright © 2021 Microsoft Corporation. All rights reserved.