public async Task ManageCustomModels() { string endpoint = TestEnvironment.Endpoint; string apiKey = TestEnvironment.ApiKey; string trainingFileUrl = TestEnvironment.BlobContainerSasUrl; #region Snippet:FormRecognizerSampleManageCustomModels FormTrainingClient client = new FormTrainingClient(new Uri(endpoint), new AzureKeyCredential(apiKey)); // Check number of models in the FormRecognizer account, and the maximum number of models that can be stored. AccountProperties accountProperties = client.GetAccountProperties(); Console.WriteLine($"Account has {accountProperties.CustomModelCount} models."); Console.WriteLine($"It can have at most {accountProperties.CustomModelLimit} models."); // List the first ten or fewer models currently stored in the account. Pageable <CustomFormModelInfo> models = client.GetCustomModels(); foreach (CustomFormModelInfo modelInfo in models.Take(10)) { Console.WriteLine($"Custom Model Info:"); Console.WriteLine($" Model Id: {modelInfo.ModelId}"); Console.WriteLine($" Model display name: {modelInfo.DisplayName}"); Console.WriteLine($" Is composed model: {modelInfo.Properties.IsComposedModel}"); Console.WriteLine($" Model Status: {modelInfo.Status}"); Console.WriteLine($" Training model started on: {modelInfo.TrainingStartedOn}"); Console.WriteLine($" Training model completed on: {modelInfo.TrainingCompletedOn}"); } // Create a new model to store in the account CustomFormModel model = await client.StartTraining(new Uri(trainingFileUrl), useTrainingLabels : false, new TrainingOptions() { ModelDisplayName = "My new model" }).WaitForCompletionAsync(); // Get the model that was just created CustomFormModel modelCopy = client.GetCustomModel(model.ModelId); Console.WriteLine($"Custom Model with Id {modelCopy.ModelId} and name {modelCopy.DisplayName} recognizes the following form types:"); foreach (CustomFormSubmodel submodel in modelCopy.Submodels) { Console.WriteLine($"Submodel Form Type: {submodel.FormType}"); foreach (CustomFormModelField field in submodel.Fields.Values) { Console.Write($" FieldName: {field.Name}"); if (field.Label != null) { Console.Write($", FieldLabel: {field.Label}"); } Console.WriteLine(""); } } // Delete the model from the account. client.DeleteModel(model.ModelId); #endregion }
public async Task ManageModels() { string endpoint = TestEnvironment.Endpoint; string apiKey = TestEnvironment.ApiKey; #region Snippet:FormRecognizerSampleManageModels var client = new DocumentModelAdministrationClient(new Uri(endpoint), new AzureKeyCredential(apiKey)); // Check number of custom models in the FormRecognizer account, and the maximum number of models that can be stored. AccountProperties accountProperties = client.GetAccountProperties(); Console.WriteLine($"Account has {accountProperties.Count} models."); Console.WriteLine($"It can have at most {accountProperties.Limit} models."); // List the first ten or fewer models currently stored in the account. Pageable <DocumentModelInfo> models = client.GetModels(); foreach (DocumentModelInfo modelInfo in models.Take(10)) { Console.WriteLine($"Custom Model Info:"); Console.WriteLine($" Model Id: {modelInfo.ModelId}"); if (string.IsNullOrEmpty(modelInfo.Description)) { Console.WriteLine($" Model description: {modelInfo.Description}"); } Console.WriteLine($" Created on: {modelInfo.CreatedOn}"); } // Create a new model to store in the account #if SNIPPET Uri trainingFileUri = < trainingFileUri >; #else Uri trainingFileUri = new Uri(TestEnvironment.BlobContainerSasUrl); #endif BuildModelOperation operation = client.StartBuildModel(trainingFileUri, DocumentBuildMode.Template); Response <DocumentModel> operationResponse = await operation.WaitForCompletionAsync(); DocumentModel model = operationResponse.Value; // Get the model that was just created DocumentModel newCreatedModel = client.GetModel(model.ModelId); Console.WriteLine($"Custom Model with Id {newCreatedModel.ModelId} has the following information:"); Console.WriteLine($" Model Id: {newCreatedModel.ModelId}"); if (string.IsNullOrEmpty(newCreatedModel.Description)) { Console.WriteLine($" Model description: {newCreatedModel.Description}"); } Console.WriteLine($" Created on: {newCreatedModel.CreatedOn}"); // Delete the created model from the account. client.DeleteModel(newCreatedModel.ModelId); #endregion }
// </snippet_analyze_response> // <snippet_manage> private static async Task ManageModels( FormRecognizerClient trainingClient, string trainingFileUrl) { // </snippet_manage> // <snippet_manage_model_count> // Check number of models in the FormRecognizer account, // and the maximum number of models that can be stored. AccountProperties accountProperties = trainingClient.GetAccountProperties(); Console.WriteLine($"Account has {accountProperties.CustomModelCount} models."); Console.WriteLine($"It can have at most {accountProperties.CustomModelLimit}" + $" models."); // </snippet_manage_model_count> // <snippet_manage_model_list> // List the first ten or fewer models currently stored in the account. Pageable<CustomFormModelInfo> models = trainingClient.GetModelInfos(); foreach (CustomFormModelInfo modelInfo in models.Take(10)) { Console.WriteLine($"Custom Model Info:"); Console.WriteLine($" Model Id: {modelInfo.ModelId}"); Console.WriteLine($" Model Status: {modelInfo.Status}"); Console.WriteLine($" Created On: {modelInfo.CreatedOn}"); Console.WriteLine($" Last Modified: {modelInfo.LastModified}"); } // </snippet_manage_model_list> // <snippet_manage_model_get> // Create a new model to store in the account CustomFormModel model = await trainingClient.StartTrainingAsync( new Uri(trainingFileUrl)).WaitForCompletionAsync(); // Get the model that was just created CustomFormModel modelCopy = trainingClient.GetCustomModel(model.ModelId); Console.WriteLine($"Custom Model {modelCopy.ModelId} recognizes the following" + " form types:"); foreach (CustomFormSubModel subModel in modelCopy.Models) { Console.WriteLine($"SubModel Form Type: {subModel.FormType}"); foreach (CustomFormModelField field in subModel.Fields.Values) { Console.Write($" FieldName: {field.Name}"); if (field.Label != null) { Console.Write($", FieldLabel: {field.Label}"); } Console.WriteLine(""); } } // </snippet_manage_model_get> // <snippet_manage_model_delete> // Delete the model from the account. trainingClient.DeleteModel(model.ModelId); }
private static void EvaluateExisting(string endpoint, string apiKey) { FormTrainingClient client = new FormTrainingClient(new Uri(endpoint), new AzureKeyCredential(apiKey)); // Check number of models in the FormRecognizer account, and the maximum number of models that can be stored. AccountProperties accountProperties = client.GetAccountProperties(); Console.WriteLine($"Account has {accountProperties.CustomModelCount} models."); Console.WriteLine($"It can have at most {accountProperties.CustomModelLimit} models."); // List the first ten or fewer models currently stored in the account. Pageable <CustomFormModelInfo> models = client.GetCustomModels(); foreach (CustomFormModelInfo modelInfo in models.Take(10)) { Console.WriteLine($"Custom Model Info:"); Console.WriteLine($" Model Id: {modelInfo.ModelId}"); Console.WriteLine($" Model name: {modelInfo.ModelName}"); Console.WriteLine($" Is composed model: {modelInfo.Properties.IsComposedModel}"); Console.WriteLine($" Model Status: {modelInfo.Status}"); Console.WriteLine($" Training model started on: {modelInfo.TrainingStartedOn}"); Console.WriteLine($" Training model completed on: {modelInfo.TrainingCompletedOn}"); } }