FormTrainingAsyncClient Classe
- java.
lang. Object - com.
azure. ai. formrecognizer. training. FormTrainingAsyncClient
- com.
public final class FormTrainingAsyncClient
Essa classe fornece um cliente assíncrono para se conectar ao Reconhecimento de Formulários Serviço Cognitivo do Azure.
Esse cliente fornece métodos assíncronos para:
- Treinar um modelo personalizado: treine um modelo personalizado para analisar e extrair dados de formulários e documentos específicos para sua empresa usando o beginTraining(String trainingFilesUrl, boolean useTrainingLabels) método .
- Copiar modelo personalizado: copie um modelo de Reconhecimento de Formulários personalizado para um recurso de Reconhecimento de Formulários de destino usando o beginCopyModel método .
- Listar modelos personalizados: obtenha informações sobre todos os modelos personalizados usando os getCustomModel(String modelId) métodos e listCustomModels() , respectivamente.
- Sondagem e retornos de chamada: inclui mecanismos para sondar o serviço para marcar o status de uma operação de análise ou registrar retornos de chamada para receber notificações quando a análise for concluída.
Nota: Esse cliente só dá V2_1 suporte e inferior. É recomendável usar uma versão DocumentModelAdministrationClient de serviço mais recente e DocumentModelAdministrationAsyncClient.
Consulte o Guia de migração para usar as versões de API 2022-08-31 e posteriores.
Os clientes de serviço são o ponto de interação para os desenvolvedores usarem o Reconhecimento de Formulários do Azure. FormTrainingClient é o cliente de serviço síncrono e FormTrainingAsyncClient é o cliente de serviço assíncrono. Os exemplos mostrados neste documento usam um objeto de credencial chamado DefaultAzureCredential para autenticação, que é apropriado para a maioria dos cenários, incluindo ambientes locais de desenvolvimento e produção. Além disso, recomendamos usar a identidade gerenciada para autenticação em ambientes de produção. Você pode encontrar mais informações sobre diferentes maneiras de autenticação e seus tipos de credencial correspondentes na documentação da Identidade do Azure".
Exemplo: Construir um FormTrainingAsyncClient com DefaultAzureCredential
O exemplo de código a seguir demonstra a criação de um FormTrainingAsyncClient, usando o 'DefaultAzureCredentialBuilder' para configurá-lo.
FormTrainingAsyncClient client = new FormTrainingClientBuilder()
.endpoint("{endpoint}")
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
Além disso, consulte o exemplo de código abaixo a ser usado AzureKeyCredential para a criação do cliente.
FormTrainingAsyncClient formTrainingAsyncClient = new FormTrainingClientBuilder()
.credential(new AzureKeyCredential("{key}"))
.endpoint("{endpoint}")
.buildAsyncClient();
Resumo do método
Modificador e tipo | Método e descrição |
---|---|
Poller |
beginCopyModel(String modelId, CopyAuthorization target)
Copie um modelo personalizado armazenado nesse recurso (a origem) para o recurso de Reconhecimento de Formulários de destino especificado pelo usuário. |
Poller |
beginCopyModel(String modelId, CopyAuthorization target, Duration pollInterval)
Copie um modelo personalizado armazenado nesse recurso (a origem) para o recurso de Reconhecimento de Formulários de destino especificado pelo usuário. |
Poller |
beginCreateComposedModel(List<String> modelIds)
Crie um modelo composto a partir da lista fornecida de modelos existentes na conta. |
Poller |
beginCreateComposedModel(List<String> modelIds, CreateComposedModelOptions createComposedModelOptions)
Crie um modelo composto a partir da lista fornecida de modelos existentes na conta. |
Poller |
beginTraining(String trainingFilesUrl, boolean useTrainingLabels)
Criar e treinar um modelo personalizado. |
Poller |
beginTraining(String trainingFilesUrl, boolean useTrainingLabels, TrainingOptions trainingOptions)
Criar e treinar um modelo personalizado. |
Mono<Void> |
deleteModel(String modelId)
Exclui o modelo personalizado especificado. |
Mono<Response<Void>> |
deleteModelWithResponse(String modelId)
Exclui o modelo personalizado especificado. |
Mono<Account |
getAccountProperties()
Obtenha informações da conta do reconhecimento de formulários. |
Mono<Response<Account |
getAccountPropertiesWithResponse()
Obtenha informações da conta do reconhecimento de formulários com uma resposta Http. |
Mono<Copy |
getCopyAuthorization(String resourceId, String resourceRegion)
Gere autorização para copiar um modelo personalizado para o recurso de Reconhecimento de Formulários de destino. |
Mono<Response<Copy |
getCopyAuthorizationWithResponse(String resourceId, String resourceRegion)
Gere autorização para copiar um modelo personalizado para o recurso de Reconhecimento de Formulários de destino. |
Mono<Custom |
getCustomModel(String modelId)
Obtenha informações detalhadas para uma ID de modelo personalizada especificada. |
Mono<Response<Custom |
getCustomModelWithResponse(String modelId)
Obtenha informações detalhadas para uma ID de modelo personalizada especificada com resposta Http. |
Form |
getFormRecognizerAsyncClient()
Cria um novo objeto FormRecognizerAsyncClient. |
Paged |
listCustomModels()
Listar informações para cada modelo na conta do reconhecimento de formulários. |
Métodos herdados de java.lang.Object
Detalhes do método
beginCopyModel
public PollerFlux
Copie um modelo personalizado armazenado nesse recurso (a origem) para o recurso de Reconhecimento de Formulários de destino especificado pelo usuário.
Isso deve ser chamado com o recurso de Reconhecimento de Formulários de origem (com o modelo que se destina a ser copiado). O parâmetro de destino deve ser fornecido a partir da saída do recurso de destino do getCopyAuthorization(String resourceId, String resourceRegion) método .
O serviço não dá suporte ao cancelamento da operação de execução prolongada e retorna com uma mensagem de erro indicando ausência de suporte de cancelamento.
Exemplo de código
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
Copie um modelo personalizado armazenado nesse recurso (a origem) para o recurso de Reconhecimento de Formulários de destino especificado pelo usuário.
Isso deve ser chamado com o recurso de Reconhecimento de Formulários de origem (com o modelo que se destina a ser copiado). O parâmetro de destino deve ser fornecido a partir da saída do recurso de destino do getCopyAuthorization(String resourceId, String resourceRegion) método .
O serviço não dá suporte ao cancelamento da operação de execução prolongada e retorna com uma mensagem de erro indicando ausência de suporte de cancelamento.
Exemplo de código
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
Crie um modelo composto a partir da lista fornecida de modelos existentes na conta.
Essas operações falharão se a lista consistir em uma ID de modelo inválida, não existente ou IDs duplicadas. Atualmente, essa operação só tem suporte para modelos personalizados treinados usando rótulos.
O serviço não dá suporte ao cancelamento da operação de execução prolongada e retorna com uma mensagem de erro indicando ausência de suporte de cancelamento.
Exemplo de código
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
Crie um modelo composto a partir da lista fornecida de modelos existentes na conta.
Essas operações falharão se a lista consistir em uma ID de modelo inválida, não existente ou IDs duplicadas. Atualmente, essa operação só tem suporte para modelos personalizados treinados usando rótulos.
O serviço não dá suporte ao cancelamento da operação de execução prolongada e retorna com uma mensagem de erro indicando ausência de suporte de cancelamento.
Exemplo de código
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
Criar e treinar um modelo personalizado. Os modelos são treinados usando documentos que são do tipo de conteúdo a seguir – 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'. Outro tipo de conteúdo é ignorado.
O serviço não dá suporte ao cancelamento da operação de execução prolongada e retorna com uma mensagem de erro indicando ausência de suporte de cancelamento.
Confira aqui para obter informações sobre como criar seu próprio conjunto de dados de treinamento.
Exemplo de código
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
Criar e treinar um modelo personalizado.
Os modelos são treinados usando documentos do seguinte tipo de conteúdo : 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'. Outro tipo de conteúdo é ignorado.
Confira aqui para obter informações sobre como criar seu próprio conjunto de dados de treinamento.
O serviço não dá suporte ao cancelamento da operação de execução prolongada e retorna com uma mensagem de erro indicando ausência de suporte de cancelamento.
Exemplo de código
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
Exclui o modelo personalizado especificado.
Exemplo de código
String modelId = "{model_id}";
formTrainingAsyncClient.deleteModel(modelId)
.subscribe(ignored -> System.out.printf("Model Id: %s is deleted%n", modelId));
Parameters:
Returns:
deleteModelWithResponse
public Mono
Exclui o modelo personalizado especificado.
Exemplo de código
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
Obtenha informações da conta do reconhecimento de formulários.
Exemplo de código
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
Obtenha informações da conta do reconhecimento de formulários com uma resposta Http.
Exemplo de código
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
Gere autorização para copiar um modelo personalizado para o recurso de Reconhecimento de Formulários de destino.
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
Gere autorização para copiar um modelo personalizado para o recurso de Reconhecimento de Formulários de destino. Isso deve ser chamado pelo recurso de destino (para o qual o modelo será copiado) e a saída pode ser passada como o parâmetro de destino para 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
Obtenha informações detalhadas para uma ID de modelo personalizada especificada.
Exemplo de código
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
Obtenha informações detalhadas para uma ID de modelo personalizada especificada com resposta Http.
Exemplo de código
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()
Cria um novo objeto FormRecognizerAsyncClient. O novo FormTrainingAsyncClient
usa o mesmo pipeline de política de solicitação que o FormTrainingAsyncClient
.
Returns:
listCustomModels
public PagedFlux
Listar informações para cada modelo na conta do reconhecimento de formulários.
Exemplo de código
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:
Aplica-se a
Azure SDK for Java