FormTrainingAsyncClient Klasse
- java.
lang. Object - com.
azure. ai. formrecognizer. training. FormTrainingAsyncClient
- com.
public final class FormTrainingAsyncClient
Diese Klasse stellt einen asynchronen Client zum Herstellen einer Verbindung mit dem Formularerkennung Azure Cognitive Service bereit.
Dieser Client stellt asynchrone Methoden für Folgendes bereit:
- Trainieren eines benutzerdefinierten Modells: Trainieren Sie ein benutzerdefiniertes Modell zum Analysieren und Extrahieren von Daten aus Formularen und Dokumenten, die für Ihr Unternehmen spezifisch sind, mithilfe der beginTraining(String trainingFilesUrl, boolean useTrainingLabels) -Methode.
- Kopieren eines benutzerdefinierten Modells: Kopieren Sie mithilfe der beginCopyModel -Methode ein benutzerdefiniertes Formularerkennung-Modell in eine Zielressource Formularerkennung.
- Benutzerdefinierte Modelle auflisten: Abrufen von Informationen zu allen benutzerdefinierten Modellen mithilfe der getCustomModel(String modelId) Methoden und listCustomModels()
- Abrufe und Rückrufe: Es enthält Mechanismen zum Abrufen des Diensts, um die status eines Analysevorgangs zu überprüfen oder Rückrufe zu registrieren, um Benachrichtigungen zu erhalten, wenn die Analyse abgeschlossen ist.
Hinweis: Dieser Client unterstützt V2_1 nur und niedriger. Es wird empfohlen, DocumentModelAdministrationClient eine neuere Dienstversion und DocumentModelAdministrationAsyncClientzu verwenden.
Informationen zur Verwendung der API-Versionen 2022-08-31 und höher finden Sie im Migrationshandbuch .
Dienstclients sind der Interaktionspunkt für Entwickler, um Azure Formularerkennung zu verwenden. FormTrainingClient ist der synchrone Dienstclient und FormTrainingAsyncClient der asynchrone Dienstclient. Die in diesem Dokument gezeigten Beispiele verwenden ein Anmeldeinformationsobjekt namens DefaultAzureCredential für die Authentifizierung, das für die meisten Szenarien geeignet ist, einschließlich lokaler Entwicklungs- und Produktionsumgebungen. Darüber hinaus wird die Verwendung einer verwalteten Identität für die Authentifizierung in Produktionsumgebungen empfohlen. Weitere Informationen zu verschiedenen Authentifizierungsmethoden und den entsprechenden Anmeldeinformationstypen finden Sie in der Dokumentation zu Azure Identity."
Beispiel: Erstellen eines FormTrainingAsyncClient mit DefaultAzureCredential
Im folgenden Codebeispiel wird die Erstellung eines FormTrainingAsyncClientveranschaulicht, wobei "DefaultAzureCredentialBuilder" zum Konfigurieren verwendet wird.
FormTrainingAsyncClient client = new FormTrainingClientBuilder()
.endpoint("{endpoint}")
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
Weitere Informationen finden Sie weiter unten im Codebeispiel zur Verwendung AzureKeyCredential für die Clienterstellung.
FormTrainingAsyncClient formTrainingAsyncClient = new FormTrainingClientBuilder()
.credential(new AzureKeyCredential("{key}"))
.endpoint("{endpoint}")
.buildAsyncClient();
Methodenzusammenfassung
Modifizierer und Typ | Methode und Beschreibung |
---|---|
Poller |
beginCopyModel(String modelId, CopyAuthorization target)
Kopieren Sie ein benutzerdefiniertes Modell, das in dieser Ressource (der Quelle) gespeichert ist, in das vom Benutzer angegebene Ziel Formularerkennung Ressource. |
Poller |
beginCopyModel(String modelId, CopyAuthorization target, Duration pollInterval)
Kopieren Sie ein benutzerdefiniertes Modell, das in dieser Ressource (der Quelle) gespeichert ist, in das vom Benutzer angegebene Ziel Formularerkennung Ressource. |
Poller |
beginCreateComposedModel(List<String> modelIds)
Erstellen Sie ein zusammengesetztes Modell aus der bereitgestellten Liste der vorhandenen Modelle im Konto. |
Poller |
beginCreateComposedModel(List<String> modelIds, CreateComposedModelOptions createComposedModelOptions)
Erstellen Sie ein zusammengesetztes Modell aus der bereitgestellten Liste der vorhandenen Modelle im Konto. |
Poller |
beginTraining(String trainingFilesUrl, boolean useTrainingLabels)
Erstellt und trainiert ein benutzerdefiniertes Modell. |
Poller |
beginTraining(String trainingFilesUrl, boolean useTrainingLabels, TrainingOptions trainingOptions)
Erstellt und trainiert ein benutzerdefiniertes Modell. |
Mono<Void> |
deleteModel(String modelId)
Löscht das angegebene benutzerdefinierte Modell. |
Mono<Response<Void>> |
deleteModelWithResponse(String modelId)
Löscht das angegebene benutzerdefinierte Modell. |
Mono<Account |
getAccountProperties()
Rufen Sie Kontoinformationen des Formularerkennungskontos ab. |
Mono<Response<Account |
getAccountPropertiesWithResponse()
Rufen Sie Kontoinformationen des Formularerkennungskontos mit einer HTTP-Antwort ab. |
Mono<Copy |
getCopyAuthorization(String resourceId, String resourceRegion)
Generieren Sie die Autorisierung zum Kopieren eines benutzerdefinierten Modells in die Zielressource Formularerkennung. |
Mono<Response<Copy |
getCopyAuthorizationWithResponse(String resourceId, String resourceRegion)
Generieren Sie die Autorisierung zum Kopieren eines benutzerdefinierten Modells in die Zielressource Formularerkennung. |
Mono<Custom |
getCustomModel(String modelId)
Rufen Sie detaillierte Informationen zu einer angegebenen benutzerdefinierten Modell-ID ab. |
Mono<Response<Custom |
getCustomModelWithResponse(String modelId)
Rufen Sie detaillierte Informationen zu einer angegebenen benutzerdefinierten Modell-ID mit http-Antwort ab. |
Form |
getFormRecognizerAsyncClient()
Erstellt ein neues FormRecognizerAsyncClient-Objekt. |
Paged |
listCustomModels()
Listen Sie Informationen für jedes Modell im Konto der Formularerkennung auf. |
Geerbte Methoden von java.lang.Object
Details zur Methode
beginCopyModel
public PollerFlux
Kopieren Sie ein benutzerdefiniertes Modell, das in dieser Ressource (der Quelle) gespeichert ist, in das vom Benutzer angegebene Ziel Formularerkennung Ressource.
Dies sollte mit der Quellressource Formularerkennung aufgerufen werden (mit dem Modell, das kopiert werden soll). Der Zielparameter sollte aus der Ausgabe der Zielressource von getCopyAuthorization(String resourceId, String resourceRegion) der -Methode bereitgestellt werden.
Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.
Codebeispiel
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
Kopieren Sie ein benutzerdefiniertes Modell, das in dieser Ressource (der Quelle) gespeichert ist, in das vom Benutzer angegebene Ziel Formularerkennung Ressource.
Dies sollte mit der Quellressource Formularerkennung aufgerufen werden (mit dem Modell, das kopiert werden soll). Der Zielparameter sollte aus der Ausgabe der Zielressource von getCopyAuthorization(String resourceId, String resourceRegion) der -Methode bereitgestellt werden.
Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.
Codebeispiel
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
Erstellen Sie ein zusammengesetztes Modell aus der bereitgestellten Liste der vorhandenen Modelle im Konto.
Bei diesen Vorgängen tritt ein Fehler auf, wenn die Liste aus einer ungültigen, nicht vorhandenen Modell-ID oder doppelten IDs besteht. Dieser Vorgang wird derzeit nur für benutzerdefinierte Modelle unterstützt, die mit Bezeichnungen trainiert werden.
Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.
Codebeispiel
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
Erstellen Sie ein zusammengesetztes Modell aus der bereitgestellten Liste der vorhandenen Modelle im Konto.
Bei diesen Vorgängen tritt ein Fehler auf, wenn die Liste aus einer ungültigen, nicht vorhandenen Modell-ID oder doppelten IDs besteht. Dieser Vorgang wird derzeit nur für benutzerdefinierte Modelle unterstützt, die mit Bezeichnungen trainiert werden.
Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.
Codebeispiel
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
Erstellt und trainiert ein benutzerdefiniertes Modell. Modelle werden mit Dokumenten trainiert, die die folgenden Inhaltstypen aufweisen: „application/pdf“, „image/jpeg“, „image/png“ und „image/tiff“. Andere Inhaltstypen werden ignoriert.
Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.
Weitere Informationen zum Erstellen eines eigenen Trainingsdatasets finden Sie hier .
Codebeispiel
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
Erstellt und trainiert ein benutzerdefiniertes Modell.
Modelle werden mithilfe von Dokumenten trainiert, die den folgenden Inhaltstyp aufweisen: "application/pdf", "image/jpeg", "image/png", "image/tiff". Andere Arten von Inhalten werden ignoriert.
Informationen zum Erstellen eines eigenen Trainingsdatensatzes finden Sie hier .
Der Dienst unterstützt das Abbruchen des vorgangs mit langer Ausführung nicht und gibt eine Fehlermeldung zurück, die angibt, dass keine Abbruchunterstützung vorhanden ist.
Codebeispiel
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
Löscht das angegebene benutzerdefinierte Modell.
Codebeispiel
String modelId = "{model_id}";
formTrainingAsyncClient.deleteModel(modelId)
.subscribe(ignored -> System.out.printf("Model Id: %s is deleted%n", modelId));
Parameters:
Returns:
deleteModelWithResponse
public Mono
Löscht das angegebene benutzerdefinierte Modell.
Codebeispiel
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
Rufen Sie Kontoinformationen des Formularerkennungskontos ab.
Codebeispiel
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
Rufen Sie Kontoinformationen des Formularerkennungskontos mit einer HTTP-Antwort ab.
Codebeispiel
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
Generieren Sie die Autorisierung zum Kopieren eines benutzerdefinierten Modells in die Zielressource Formularerkennung.
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
Generieren Sie die Autorisierung zum Kopieren eines benutzerdefinierten Modells in die Zielressource Formularerkennung. Dies sollte von der Zielressource aufgerufen werden (in die das Modell kopiert wird), und die Ausgabe kann als Zielparameter an beginCopyModel(String modelId, CopyAuthorization target)übergeben werden.
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
Rufen Sie detaillierte Informationen zu einer angegebenen benutzerdefinierten Modell-ID ab.
Codebeispiel
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
Rufen Sie detaillierte Informationen zu einer angegebenen benutzerdefinierten Modell-ID mit http-Antwort ab.
Codebeispiel
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()
Erstellt ein neues FormRecognizerAsyncClient-Objekt. Das neue FormTrainingAsyncClient
verwendet dieselbe Anforderungsrichtlinienpipeline wie die FormTrainingAsyncClient
.
Returns:
listCustomModels
public PagedFlux
Listen Sie Informationen für jedes Modell im Konto der Formularerkennung auf.
Codebeispiel
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:
Gilt für:
Azure SDK for Java