FormTrainingClient Klasse
- java.
lang. Object - com.
azure. ai. formrecognizer. training. FormTrainingClient
- com.
public final class FormTrainingClient
Diese Klasse stellt einen synchronen Client zum Herstellen einer Verbindung mit dem Formularerkennung Azure Cognitive Service bereit.
Dieser Client bietet synchrone Methoden für Folgendes:
- 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 ein benutzerdefiniertes Formularerkennung-Modell mithilfe der beginCopyModel -Methode in eine Zielressource Formularerkennung.
- Benutzerdefinierte Modelle auflisten: Rufen Sie Informationen zu allen benutzerdefinierten Modellen mit den getCustomModel(String modelId) Methoden und listCustomModels() ab.
- Abrufe und Rückrufe: Es umfasst Mechanismen zum Abrufen des Diensts, um die status eines Analysevorgangs zu überprüfen oder Rückrufe zu registrieren, um Benachrichtigungen zu empfangen, wenn die Analyse abgeschlossen ist.
Hinweis: Dieser Client unterstützt V2_1 nur und niedriger. Es wird empfohlen, DocumentModelAdministrationAsyncClient eine neuere Dienstversion und DocumentModelAdministrationClientzu verwenden.
Informationen zur Verwendung der API-Versionen 2022-08-31 und höher finden Sie im Migrationsleitfaden .
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 empfohlen, die verwaltete Identität für die Authentifizierung in Produktionsumgebungen zu verwenden. Weitere Informationen zu verschiedenen Authentifizierungsmethoden und den entsprechenden Anmeldeinformationstypen finden Sie in der Azure Identity-Dokumentation.
Beispiel: Erstellen eines FormTrainingClient mit DefaultAzureCredential
Im folgenden Codebeispiel wird die Erstellung einer FormTrainingClientveranschaulicht, die zum Konfigurieren von "DefaultAzureCredentialBuilder" verwendet wird.
FormTrainingClient client = new FormTrainingClientBuilder()
.endpoint("{endpoint}")
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
Weitere Informationen finden Sie im folgenden Codebeispiel zur Verwendung AzureKeyCredential für die Clienterstellung.
FormTrainingClient formTrainingClient = new FormTrainingClientBuilder()
.credential(new AzureKeyCredential("{key}"))
.endpoint("{endpoint}")
.buildClient();
Methodenzusammenfassung
Modifizierer und Typ | Methode und Beschreibung |
---|---|
Sync |
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. |
Sync |
beginCopyModel(String modelId, CopyAuthorization target, Duration pollInterval, Context context)
Kopieren Sie ein benutzerdefiniertes Modell, das in dieser Ressource (der Quelle) gespeichert ist, in das vom Benutzer angegebene Ziel Formularerkennung Ressource. |
Sync |
beginCreateComposedModel(List<String> modelIds)
Erstellen Sie ein zusammengesetztes Modell aus der bereitgestellten Liste der vorhandenen Modelle im Konto. |
Sync |
beginCreateComposedModel(List<String> modelIds, CreateComposedModelOptions createComposedModelOptions, Context context)
Erstellen Sie ein zusammengesetztes Modell aus der bereitgestellten Liste der vorhandenen Modelle im Konto. |
Sync |
beginTraining(String trainingFilesUrl, boolean useTrainingLabels)
Erstellt und trainiert ein benutzerdefiniertes Modell. |
Sync |
beginTraining(String trainingFilesUrl, boolean useTrainingLabels, TrainingOptions trainingOptions, Context context)
Erstellt und trainiert ein benutzerdefiniertes Modell. |
void |
deleteModel(String modelId)
Löscht das angegebene benutzerdefinierte Modell. |
Response<Void> |
deleteModelWithResponse(String modelId, Context context)
Löscht das angegebene benutzerdefinierte Modell. |
Account |
getAccountProperties()
Rufen Sie Kontoinformationen des Formularerkennungskontos ab. |
Response<Account |
getAccountPropertiesWithResponse(Context context)
Abrufen von Kontoinformationen des Formularerkennungskontos mit einer HTTP-Antwort und einem angegebenen Context. |
Copy |
getCopyAuthorization(String resourceId, String resourceRegion)
Generieren Sie die Autorisierung zum Kopieren eines benutzerdefinierten Modells in die Zielressource Formularerkennung. |
Response<Copy |
getCopyAuthorizationWithResponse(String resourceId, String resourceRegion, Context context)
Generieren Sie die Autorisierung zum Kopieren eines benutzerdefinierten Modells in die Zielressource Formularerkennung. |
Custom |
getCustomModel(String modelId)
Rufen Sie detaillierte Informationen zu einer angegebenen benutzerdefinierten Modell-ID ab. |
Response<Custom |
getCustomModelWithResponse(String modelId, Context context)
Rufen Sie detaillierte Informationen zu einer angegebenen benutzerdefinierten Modell-ID ab. |
Form |
getFormRecognizerClient()
Erstellt ein neues FormRecognizerClient-Objekt. |
Paged |
listCustomModels()
Listen Sie Informationen für jedes Modell im Konto der Formularerkennung auf. |
Paged |
listCustomModels(Context context)
Auflisten von Informationen für jedes Modell im Formularerkennungskonto mit einer HTTP-Antwort und einem angegebenen Context. |
Geerbte Methoden von java.lang.Object
Details zur Methode
beginCopyModel
public SyncPoller
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) -Methode angegeben werden.
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 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 SyncPoller
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) -Methode angegeben werden.
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
// The resource to copy model to
String resourceId = "target-resource-Id";
String resourceRegion = "target-resource-region";
// The Id of the model to be copied
String copyModelId = "copy-model-Id";
CopyAuthorization copyAuthorization = targetFormTrainingClient.getCopyAuthorization(resourceId,
resourceRegion);
formTrainingClient.beginCopyModel(copyModelId, copyAuthorization, Duration.ofSeconds(5), Context.NONE)
.waitForCompletion();
CustomFormModel modelCopy = 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());
Parameters:
Returns:
beginCreateComposedModel
public SyncPoller
Erstellen Sie ein zusammengesetztes Modell aus der bereitgestellten Liste der vorhandenen Modelle im Konto.
Dieser Vorgang schlägt fehl, wenn die Liste aus einer ungültigen, nicht vorhandenen Modell-ID oder doppelten ID besteht. Dieser Vorgang wird derzeit nur für benutzerdefinierte Modelle unterstützt, die mit Bezeichnungen trainiert werden.
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 labeledModelId1 = "5f21ab8d-71a6-42d8-9856-ef5985c486a8";
String labeledModelId2 = "d7b0904c-841f-46f9-a9f4-3f2273eef7c9";
final CustomFormModel customFormModel
= 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())));
Parameters:
Returns:
beginCreateComposedModel
public SyncPoller
Erstellen Sie ein zusammengesetztes Modell aus der bereitgestellten Liste der vorhandenen Modelle im Konto.
Dieser Vorgang schlägt fehl, wenn die Liste aus einer ungültigen, nicht vorhandenen Modell-ID oder doppelten ID besteht. Dieser Vorgang wird derzeit nur für benutzerdefinierte Modelle unterstützt, die mit Bezeichnungen trainiert werden.
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 labeledModelId1 = "5f21ab8d-71a6-42d8-9856-ef5985c486a8";
String labeledModelId2 = "d7b0904c-841f-46f9-a9f4-3f2273eef7c9";
final CustomFormModel customFormModel =
formTrainingClient.beginCreateComposedModel(Arrays.asList(labeledModelId1, labeledModelId2),
new CreateComposedModelOptions()
.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())));
Parameters:
Returns:
beginTraining
public SyncPoller
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 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}";
boolean useTrainingLabels = true;
CustomFormModel customFormModel =
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())));
Parameters:
Returns:
beginTraining
public SyncPoller
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 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(false).setPrefix("Invoice");
boolean useTrainingLabels = true;
CustomFormModel customFormModel = formTrainingClient.beginTraining(trainingFilesUrl, useTrainingLabels,
new TrainingOptions()
.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())));
Parameters:
Returns:
deleteModel
public void deleteModel(String modelId)
Löscht das angegebene benutzerdefinierte Modell.
Codebeispiel
String modelId = "{model_id}";
formTrainingClient.deleteModel(modelId);
System.out.printf("Model Id: %s is deleted.%n", modelId);
Parameters:
deleteModelWithResponse
public Response
Löscht das angegebene benutzerdefinierte Modell.
Codebeispiel
String modelId = "{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);
Parameters:
Returns:
getAccountProperties
public AccountProperties getAccountProperties()
Rufen Sie Kontoinformationen des Formularerkennungskontos ab.
Codebeispiel
AccountProperties accountProperties = 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());
Returns:
getAccountPropertiesWithResponse
public Response
Abrufen von Kontoinformationen des Formularerkennungskontos mit einer HTTP-Antwort und einem angegebenen Context.
Codebeispiel
Response<AccountProperties> response = formTrainingClient.getAccountPropertiesWithResponse(Context.NONE);
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: %s%n",
accountProperties.getCustomModelLimit());
System.out.printf("Current count of trained custom models: %d%n", accountProperties.getCustomModelCount());
Parameters:
Returns:
getCopyAuthorization
public CopyAuthorization getCopyAuthorization(String resourceId, String resourceRegion)
Generieren Sie die Autorisierung zum Kopieren eines benutzerdefinierten Modells in die Zielressource Formularerkennung.
Parameters:
String resourceId = "target-resource-Id"; String resourceRegion = "target-resource-region"; CopyAuthorization copyAuthorization = 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() );
Returns:
getCopyAuthorizationWithResponse
public Response
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"; Response<CopyAuthorization> copyAuthorizationResponse = formTrainingClient.getCopyAuthorizationWithResponse(resourceId, resourceRegion, Context.NONE); System.out.printf("Copy Authorization operation returned with status: %s", copyAuthorizationResponse.getStatusCode()); CopyAuthorization copyAuthorization = 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() );
Returns:
getCustomModel
public CustomFormModel getCustomModel(String modelId)
Rufen Sie detaillierte Informationen zu einer angegebenen benutzerdefinierten Modell-ID ab.
Codebeispiel
String modelId = "{model_id}";
CustomFormModel customFormModel = 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())));
Parameters:
Returns:
getCustomModelWithResponse
public Response
Rufen Sie detaillierte Informationen zu einer angegebenen benutzerdefinierten Modell-ID ab.
Codebeispiel
String modelId = "{model_id}";
Response<CustomFormModel> response = formTrainingClient.getCustomModelWithResponse(modelId, Context.NONE);
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("Field: %s Field Text: %s Field Accuracy: %f%n",
key, customFormModelField.getName(), customFormModelField.getAccuracy())));
Parameters:
Returns:
getFormRecognizerClient
public FormRecognizerClient getFormRecognizerClient()
Erstellt ein neues FormRecognizerClient-Objekt. Das neue FormTrainingClient verwendet dieselbe Anforderungsrichtlinienpipeline wie die FormTrainingClient.
Returns:
listCustomModels
public PagedIterable
Listen Sie Informationen für jedes Modell im Konto der Formularerkennung auf.
Codebeispiel
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())
);
Returns:
listCustomModels
public PagedIterable
Auflisten von Informationen für jedes Modell im Formularerkennungskonto mit einer HTTP-Antwort und einem angegebenen Context.
Codebeispiel
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())
);
Parameters:
Returns:
Gilt für:
Azure SDK for Java