private static async Task CreateModel(string endpoint, string apiKey, string trainingSetUrl, string modelName) { // Create a new model to store in the account Uri trainingSetUri = new Uri(trainingSetUrl); FormTrainingClient client = new FormTrainingClient(new Uri(endpoint), new AzureKeyCredential(apiKey)); TrainingOperation operation = client.StartTraining(trainingSetUri, useTrainingLabels: true, modelName); Response <CustomFormModel> operationResponse = await operation.WaitForCompletionAsync(); CustomFormModel model = operationResponse.Value; // Get the model that was just created CustomFormModel modelCopy = client.GetCustomModel(model.ModelId); Console.WriteLine($"Custom Model with Id {modelCopy.ModelId} and name {modelCopy.ModelName} 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); }
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 }
// </snippet_analyze_response> // <snippet_manage> private static async Task ManageModels( FormTrainingClient 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> Pageable <CustomFormModelInfo> models = trainingClient.GetCustomModels(); foreach (CustomFormModelInfo modelInfo in models) { Console.WriteLine($"Custom Model Info:"); Console.WriteLine($" Model Id: {modelInfo.ModelId}"); Console.WriteLine($" Model Status: {modelInfo.Status}"); Console.WriteLine($" Training model started on: {modelInfo.TrainingStartedOn}"); Console.WriteLine($" Training model completed on: {modelInfo.TrainingCompletedOn}"); } // </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.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(""); } } // </snippet_manage_model_get> // <snippet_manage_model_delete> // Delete the model from the account. trainingClient.DeleteModel(model.ModelId); }
private static async Task ManageModels( FormTrainingClient trainingClient, string trainingFileUrl) { // 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."); // List the first ten or fewer models currently stored in the account. Pageable <CustomFormModelInfo> models = trainingClient.GetCustomModels(); 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.TrainingStartedOn}"); Console.WriteLine($" Last Modified: {modelInfo.TrainingCompletedOn}"); } // Create a new model to store in the account CustomFormModel model = await trainingClient.StartTrainingAsync( new Uri(trainingFileUrl), useTrainingLabels : false).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.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. trainingClient.DeleteModel(model.ModelId); }