FormTrainingAsyncClient Classe
- java.
lang. Object - com.
azure. ai. formrecognizer. training. FormTrainingAsyncClient
- com.
public final class FormTrainingAsyncClient
Cette classe fournit un client asynchrone pour se connecter au Form Recognizer Azure Cognitive Service.
Ce client fournit des méthodes asynchrones pour :
- Entraîner un modèle personnalisé : entraînez un modèle personnalisé pour analyser et extraire des données à partir de formulaires et de documents spécifiques à votre entreprise à l’aide de la beginTraining(String trainingFilesUrl, boolean useTrainingLabels) méthode .
- Copier un modèle personnalisé : copiez un modèle de Form Recognizer personnalisé vers une ressource Form Recognizer cible à l’aide de la beginCopyModel méthode .
- Répertorier les modèles personnalisés : obtenez des informations sur tous les modèles personnalisés à l’aide des getCustomModel(String modelId) méthodes et listCustomModels() respectivement.
- Interrogation et rappels : il inclut des mécanismes d’interrogation du service pour case activée la status d’une opération d’analyse ou l’inscription de rappels pour recevoir des notifications lorsque l’analyse est terminée.
Note: Ce client prend uniquement en charge V2_1 et inférieur. Recommandé d’utiliser une version de service plus récente, DocumentModelAdministrationClient et DocumentModelAdministrationAsyncClient.
Reportez-vous au Guide de migration pour utiliser les versions d’API 2022-08-31 et ultérieures.
Les clients de service sont le point d’interaction permettant aux développeurs d’utiliser Azure Form Recognizer. FormTrainingClient est le client de service synchrone et FormTrainingAsyncClient est le client de service asynchrone. Les exemples présentés dans ce document utilisent un objet d’informations d’identification nommé DefaultAzureCredential pour l’authentification, qui convient à la plupart des scénarios, notamment aux environnements de développement et de production locaux. En outre, nous vous recommandons d’utiliser une identité managée pour l’authentification dans les environnements de production. Vous trouverez plus d’informations sur les différentes méthodes d’authentification et leurs types d’informations d’identification correspondants dans la documentation Azure Identity.
Exemple : Construire un FormTrainingAsyncClient avec DefaultAzureCredential
L’exemple de code suivant illustre la création d’un FormTrainingAsyncClient, à l’aide de « DefaultAzureCredentialBuilder » pour le configurer.
FormTrainingAsyncClient client = new FormTrainingClientBuilder()
.endpoint("{endpoint}")
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
Pour plus d’informations, consultez l’exemple de code ci-dessous à utiliser pour la AzureKeyCredential création du client.
FormTrainingAsyncClient formTrainingAsyncClient = new FormTrainingClientBuilder()
.credential(new AzureKeyCredential("{key}"))
.endpoint("{endpoint}")
.buildAsyncClient();
Résumé de la méthode
Modificateur et type | Méthode et description |
---|---|
Poller |
beginCopyModel(String modelId, CopyAuthorization target)
Copiez un modèle personnalisé stocké dans cette ressource (la source) vers la ressource cible spécifiée par l’utilisateur Form Recognizer ressource. |
Poller |
beginCopyModel(String modelId, CopyAuthorization target, Duration pollInterval)
Copiez un modèle personnalisé stocké dans cette ressource (la source) vers la ressource cible spécifiée par l’utilisateur Form Recognizer ressource. |
Poller |
beginCreateComposedModel(List<String> modelIds)
Créez un modèle composé à partir de la liste fournie des modèles existants dans le compte. |
Poller |
beginCreateComposedModel(List<String> modelIds, CreateComposedModelOptions createComposedModelOptions)
Créez un modèle composé à partir de la liste fournie des modèles existants dans le compte. |
Poller |
beginTraining(String trainingFilesUrl, boolean useTrainingLabels)
Crée un modèle personnalisé et en effectue l’apprentissage. |
Poller |
beginTraining(String trainingFilesUrl, boolean useTrainingLabels, TrainingOptions trainingOptions)
Crée un modèle personnalisé et en effectue l’apprentissage. |
Mono<Void> |
deleteModel(String modelId)
Supprime le modèle personnalisé spécifié. |
Mono<Response<Void>> |
deleteModelWithResponse(String modelId)
Supprime le modèle personnalisé spécifié. |
Mono<Account |
getAccountProperties()
Obtenez les informations de compte du compte de module de reconnaissance de formulaire. |
Mono<Response<Account |
getAccountPropertiesWithResponse()
Obtenez les informations de compte du compte de module de reconnaissance de formulaire avec une réponse Http. |
Mono<Copy |
getCopyAuthorization(String resourceId, String resourceRegion)
Générez l’autorisation de copie d’un modèle personnalisé dans la ressource Form Recognizer cible. |
Mono<Response<Copy |
getCopyAuthorizationWithResponse(String resourceId, String resourceRegion)
Générez l’autorisation de copie d’un modèle personnalisé dans la ressource Form Recognizer cible. |
Mono<Custom |
getCustomModel(String modelId)
Obtenez des informations détaillées pour un ID de modèle personnalisé spécifié. |
Mono<Response<Custom |
getCustomModelWithResponse(String modelId)
Obtenez des informations détaillées pour un ID de modèle personnalisé spécifié avec la réponse Http. |
Form |
getFormRecognizerAsyncClient()
Crée un objet FormRecognizerAsyncClient. |
Paged |
listCustomModels()
Répertoriez les informations de chaque modèle sur le compte form recognizer. |
Méthodes héritées de java.lang.Object
Détails de la méthode
beginCopyModel
public PollerFlux
Copiez un modèle personnalisé stocké dans cette ressource (la source) vers la ressource cible spécifiée par l’utilisateur Form Recognizer ressource.
Cela doit être appelé avec la ressource Form Recognizer source (avec le modèle destiné à être copié). Le paramètre cible doit être fourni à partir de la sortie de la ressource cible à partir de la getCopyAuthorization(String resourceId, String resourceRegion) méthode .
Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne avec un message d’erreur indiquant l’absence de prise en charge de l’annulation.
Code sample
String resourceId = "target-resource-Id";
String resourceRegion = "target-resource-region";
String copyModelId = "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()));
Parameters:
Returns:
beginCopyModel
public PollerFlux
Copiez un modèle personnalisé stocké dans cette ressource (la source) vers la ressource cible spécifiée par l’utilisateur Form Recognizer ressource.
Cela doit être appelé avec la ressource Form Recognizer source (avec le modèle destiné à être copié). Le paramètre cible doit être fourni à partir de la sortie de la ressource cible à partir de la getCopyAuthorization(String resourceId, String resourceRegion) méthode .
Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne avec un message d’erreur indiquant l’absence de prise en charge de l’annulation.
Code sample
String resourceId = "target-resource-Id";
String resourceRegion = "target-resource-region";
String copyModelId = "copy-model-Id";
formTrainingAsyncClient.getCopyAuthorization(resourceId, resourceRegion)
.flatMapMany(copyAuthorization -> formTrainingAsyncClient.beginCopyModel(copyModelId, copyAuthorization,
Duration.ofSeconds(5)))
.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()));
Parameters:
Returns:
beginCreateComposedModel
public PollerFlux
Créez un modèle composé à partir de la liste fournie des modèles existants dans le compte.
Cette opération échoue si la liste se compose d’un ID de modèle non existant non valide ou d’ids en double. Cette opération est actuellement uniquement prise en charge pour les modèles personnalisés entraînés à l’aide d’étiquettes.
Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne avec un message d’erreur indiquant l’absence de prise en charge de l’annulation.
Code sample
String labeledModelId1 = "5f21ab8d-71a6-42d8-9856-ef5985c486a8";
String labeledModelId2 = "d7b0904c-841f-46f9-a9f4-3f2273eef7c9";
formTrainingAsyncClient.beginCreateComposedModel(Arrays.asList(labeledModelId1, labeledModelId2))
// if training polling operation completed, retrieve the final result.
.flatMap(AsyncPollResponse::getFinalResult)
.subscribe(customFormModel -> {
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())));
});
Parameters:
Returns:
beginCreateComposedModel
public PollerFlux
Créez un modèle composé à partir de la liste fournie des modèles existants dans le compte.
Cette opération échoue si la liste se compose d’un ID de modèle non existant non valide ou d’ids en double. Cette opération est actuellement uniquement prise en charge pour les modèles personnalisés entraînés à l’aide d’étiquettes.
Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne avec un message d’erreur indiquant l’absence de prise en charge de l’annulation.
Code sample
String labeledModelId1 = "5f21ab8d-71a6-42d8-9856-ef5985c486a8";
String labeledModelId2 = "d7b0904c-841f-46f9-a9f4-3f2273eef7c9";
formTrainingAsyncClient.beginCreateComposedModel(Arrays.asList(labeledModelId1, labeledModelId2),
new CreateComposedModelOptions()
.setModelName("my composed model name"))
.setPollInterval(Duration.ofSeconds(5))
// if training polling operation completed, retrieve the final result.
.flatMap(AsyncPollResponse::getFinalResult)
.subscribe(customFormModel -> {
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())));
});
Parameters:
Returns:
beginTraining
public PollerFlux
Crée un modèle personnalisé et en effectue l’apprentissage. Les modèles sont formés à l’aide de documents dont le type de contenu est le suivant : « application/pdf », « image/jpeg », « image/png », « image/tiff ». Tout autre type de contenu est ignoré.
Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne avec un message d’erreur indiquant l’absence de prise en charge de l’annulation.
Consultez ici pour plus d’informations sur la création de votre propre jeu de données d’entraînement.
Code sample
String trainingFilesUrl = "{SAS-URL-of-your-container-in-blob-storage}";
boolean useTrainingLabels = true;
formTrainingAsyncClient.beginTraining(trainingFilesUrl, useTrainingLabels)
// if training polling operation completed, retrieve the final result.
.flatMap(AsyncPollResponse::getFinalResult)
.subscribe(customFormModel -> {
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())));
});
Parameters:
Returns:
beginTraining
public PollerFlux
Crée un modèle personnalisé et en effectue l’apprentissage.
Les modèles sont entraînés à l’aide de documents du type de contenu suivant : « application/pdf », « image/jpeg », « image/png », « image/tiff ». Les autres types de contenu sont ignorés.
Consultez ici pour plus d’informations sur la création de votre propre jeu de données d’entraînement.
Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne avec un message d’erreur indiquant l’absence de prise en charge de l’annulation.
Code sample
String trainingFilesUrl = "{SAS-URL-of-your-container-in-blob-storage}";
TrainingFileFilter trainingFileFilter = new TrainingFileFilter().setSubfoldersIncluded(true).setPrefix("Invoice");
formTrainingAsyncClient.beginTraining(trainingFilesUrl, true,
new TrainingOptions()
.setTrainingFileFilter(trainingFileFilter)
.setPollInterval(Duration.ofSeconds(5)))
// if training polling operation completed, retrieve the final result.
.flatMap(AsyncPollResponse::getFinalResult)
.subscribe(customFormModel -> {
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())));
});
Parameters:
Returns:
deleteModel
public Mono
Supprime le modèle personnalisé spécifié.
Code sample
String modelId = "{model_id}";
formTrainingAsyncClient.deleteModel(modelId)
.subscribe(ignored -> System.out.printf("Model Id: %s is deleted%n", modelId));
Parameters:
Returns:
deleteModelWithResponse
public Mono
Supprime le modèle personnalisé spécifié.
Code sample
String modelId = "{model_id}";
formTrainingAsyncClient.deleteModelWithResponse(modelId)
.subscribe(response -> {
System.out.printf("Response Status Code: %d.", response.getStatusCode());
System.out.printf("Model Id: %s is deleted.%n", modelId);
});
Parameters:
Returns:
getAccountProperties
public Mono
Obtenez les informations de compte du compte de module de reconnaissance de formulaire.
Code sample
formTrainingAsyncClient.getAccountProperties()
.subscribe(accountProperties -> {
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());
});
Returns:
getAccountPropertiesWithResponse
public Mono
Obtenez les informations de compte du compte de module de reconnaissance de formulaire avec une réponse Http.
Code sample
formTrainingAsyncClient.getAccountPropertiesWithResponse()
.subscribe(response -> {
System.out.printf("Response Status Code: %d.", response.getStatusCode());
AccountProperties accountProperties = response.getValue();
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());
});
Returns:
getCopyAuthorization
public Mono
Générez l’autorisation de copie d’un modèle personnalisé dans la ressource Form Recognizer cible.
Parameters:
String resourceId = "target-resource-Id"; String resourceRegion = "target-resource-region"; formTrainingAsyncClient.getCopyAuthorization(resourceId, resourceRegion) .subscribe(copyAuthorization -> 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() ));
Returns:
getCopyAuthorizationWithResponse
public Mono
Générez l’autorisation de copie d’un modèle personnalisé dans la ressource Form Recognizer cible. Cela doit être appelé par la ressource cible (où le modèle sera copié) et la sortie peut être passée en tant que paramètre cible dans beginCopyModel(String modelId, CopyAuthorization target).
Parameters:
String resourceId = "target-resource-Id"; String resourceRegion = "target-resource-region"; formTrainingAsyncClient.getCopyAuthorizationWithResponse(resourceId, resourceRegion) .subscribe(copyAuthorization -> System.out.printf("Copy Authorization response status: %s, for model id: %s, access token: %s, " + "expiration time: %s, target resource Id; %s, target resource region: %s%n", copyAuthorization.getStatusCode(), copyAuthorization.getValue().getModelId(), copyAuthorization.getValue().getAccessToken(), copyAuthorization.getValue().getExpiresOn(), copyAuthorization.getValue().getResourceId(), copyAuthorization.getValue().getResourceRegion() ));
Returns:
getCustomModel
public Mono
Obtenez des informations détaillées pour un ID de modèle personnalisé spécifié.
Code sample
String modelId = "{model_id}";
formTrainingAsyncClient.getCustomModel(modelId).subscribe(customFormModel -> {
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())));
});
Parameters:
Returns:
getCustomModelWithResponse
public Mono
Obtenez des informations détaillées pour un ID de modèle personnalisé spécifié avec la réponse Http.
Code sample
String modelId = "{model_id}";
formTrainingAsyncClient.getCustomModelWithResponse(modelId).subscribe(response -> {
System.out.printf("Response Status Code: %d.", response.getStatusCode());
CustomFormModel customFormModel = 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("Form Type: %s Field Text: %s Field Accuracy: %f%n",
key, customFormModelField.getName(), customFormModelField.getAccuracy())));
});
Parameters:
Returns:
getFormRecognizerAsyncClient
public FormRecognizerAsyncClient getFormRecognizerAsyncClient()
Crée un objet FormRecognizerAsyncClient. Le nouveau FormTrainingAsyncClient
utilise le même pipeline de stratégie de requête que le FormTrainingAsyncClient
.
Returns:
listCustomModels
public PagedFlux
Répertoriez les informations de chaque modèle sur le compte form recognizer.
Code sample
formTrainingAsyncClient.listCustomModels()
.subscribe(customModel ->
System.out.printf("Model Id: %s, Model status: %s, Created on: %s, Last updated on: %s.%n",
customModel.getModelId(),
customModel.getStatus(),
customModel.getTrainingStartedOn(),
customModel.getTrainingCompletedOn()));
Returns:
S’applique à
Azure SDK for Java