public async Task AnalyzeOperationSingleCategoryClassifyWithDisableServiceLogs() { var mockResponse = new MockResponse(202); mockResponse.AddHeader(new HttpHeader("Operation-Location", "something/jobs/2a96a91f-7edf-4931-a880-3fdee1d56f15")); var mockTransport = new MockTransport(new[] { mockResponse, mockResponse }); var client = CreateTestClient(mockTransport); var documents = new List <string> { "Elon Musk is the CEO of SpaceX and Tesla." }; var actions = new SingleCategoryClassifyAction(FakeProjectName, FakeDeploymentName) { DisableServiceLogs = true }; TextAnalyticsActions batchActions = new TextAnalyticsActions() { SingleCategoryClassifyActions = new List <SingleCategoryClassifyAction>() { actions }, }; await client.StartAnalyzeActionsAsync(documents, batchActions); var contentString = GetString(mockTransport.Requests.Single().Content); string logging = contentString.Substring(contentString.IndexOf("loggingOptOut"), 19); var expectedContent = "loggingOptOut\":true"; Assert.AreEqual(expectedContent, logging); }
public async Task SingleCategoryClassifyConvenienceAsync() { // Create a Text Analytics client. string endpoint = TestEnvironment.Endpoint; string apiKey = TestEnvironment.ApiKey; var client = new TextAnalyticsClient(new Uri(endpoint), new AzureKeyCredential(apiKey), CreateSampleOptions()); #region Snippet:TextAnalyticsSingleCategoryClassifyAsync // Get input document. string document = @"I need a reservation for an indoor restaurant in China. Please don't stop the music. Play music and add it to my playlist."; // Prepare analyze operation input. You can add multiple documents to this list and perform the same // operation to all of them. var batchInput = new List <string> { document }; // Set project and deployment names of the target model #if SNIPPET // To train a model to classify your documents, see https://aka.ms/azsdk/textanalytics/customfunctionalities string projectName = "<projectName>"; string deploymentName = "<deploymentName>"; #else string projectName = TestEnvironment.SingleClassificationProjectName; string deploymentName = TestEnvironment.SingleClassificationDeploymentName; #endif var singleCategoryClassifyAction = new SingleCategoryClassifyAction(projectName, deploymentName); TextAnalyticsActions actions = new TextAnalyticsActions() { SingleCategoryClassifyActions = new List <SingleCategoryClassifyAction>() { singleCategoryClassifyAction } }; // Start analysis process. AnalyzeActionsOperation operation = await client.StartAnalyzeActionsAsync(batchInput, actions); await operation.WaitForCompletionAsync(); #endregion Snippet:TextAnalyticsSingleCategoryClassifyAsync #region Snippet:TextAnalyticsSingleCategoryClassifyOperationStatus // View operation status. Console.WriteLine($"AnalyzeActions operation has completed"); Console.WriteLine(); Console.WriteLine($"Created On : {operation.CreatedOn}"); Console.WriteLine($"Expires On : {operation.ExpiresOn}"); Console.WriteLine($"Id : {operation.Id}"); Console.WriteLine($"Status : {operation.Status}"); Console.WriteLine($"Last Modified: {operation.LastModified}"); Console.WriteLine(); #endregion Snippet:TextAnalyticsSingleCategoryClassifyOperationStatus #region Snippet:TextAnalyticsSingleCategoryClassifyAsyncViewResults // View operation results. await foreach (AnalyzeActionsResult documentsInPage in operation.Value) { IReadOnlyCollection <SingleCategoryClassifyActionResult> singleClassificationActionResults = documentsInPage.SingleCategoryClassifyResults; foreach (SingleCategoryClassifyActionResult classificationActionResults in singleClassificationActionResults) { Console.WriteLine($" Action name: {classificationActionResults.ActionName}"); foreach (SingleCategoryClassifyResult documentResults in classificationActionResults.DocumentsResults) { Console.WriteLine($" Class category \"{documentResults.Classification.Category}\" predicted with a confidence score of {documentResults.Classification.ConfidenceScore}."); Console.WriteLine(); } } } #endregion Snippet:TextAnalyticsSingleCategoryClassifyAsyncViewResults }
public void SingleCategoryClassifyConvenience() { // Create a Text Analytics client. string endpoint = TestEnvironment.Endpoint; string apiKey = TestEnvironment.ApiKey; var client = new TextAnalyticsClient(new Uri(endpoint), new AzureKeyCredential(apiKey), CreateSampleOptions()); // Get input document. string document = @"I need a reservation for an indoor restaurant in China. Please don't stop the music. Play music and add it to my playlist."; // Prepare analyze operation input. You can add multiple documents to this list and perform the same // operation to all of them. var batchInput = new List <string> { document }; // Set project and deployment names of the target model // To train a model to classify your documents, see https://aka.ms/azsdk/textanalytics/customfunctionalities string projectName = TestEnvironment.SingleClassificationProjectName; string deploymentName = TestEnvironment.SingleClassificationDeploymentName; var singleCategoryClassifyAction = new SingleCategoryClassifyAction(projectName, deploymentName); TextAnalyticsActions actions = new TextAnalyticsActions() { SingleCategoryClassifyActions = new List <SingleCategoryClassifyAction>() { singleCategoryClassifyAction } }; // Start analysis process. AnalyzeActionsOperation operation = client.StartAnalyzeActions(batchInput, actions); // Wait for completion with manual polling. TimeSpan pollingInterval = new TimeSpan(1000); while (true) { Console.WriteLine($"Status: {operation.Status}"); operation.UpdateStatus(); if (operation.HasCompleted) { break; } Thread.Sleep(pollingInterval); } // View operation status. Console.WriteLine($"AnalyzeActions operation has completed"); Console.WriteLine(); Console.WriteLine($"Created On : {operation.CreatedOn}"); Console.WriteLine($"Expires On : {operation.ExpiresOn}"); Console.WriteLine($"Id : {operation.Id}"); Console.WriteLine($"Status : {operation.Status}"); Console.WriteLine($"Last Modified: {operation.LastModified}"); Console.WriteLine(); // View operation results. foreach (AnalyzeActionsResult documentsInPage in operation.GetValues()) { IReadOnlyCollection <SingleCategoryClassifyActionResult> singleClassificationActionResults = documentsInPage.SingleCategoryClassifyResults; foreach (SingleCategoryClassifyActionResult classificationActionResults in singleClassificationActionResults) { Console.WriteLine($" Action name: {classificationActionResults.ActionName}"); foreach (SingleCategoryClassifyResult documentResults in classificationActionResults.DocumentsResults) { Console.WriteLine($" Class category \"{documentResults.Classification.Category}\" predicted with a confidence score of {documentResults.Classification.ConfidenceScore}."); Console.WriteLine(); } } } }