From d0924a820d475e18755e8f1cd5c02ed9aeea799a Mon Sep 17 00:00:00 2001 From: Deyaaeldeen Almahallawi Date: Thu, 9 Dec 2021 14:36:35 -0800 Subject: [PATCH 1/3] [Text Analytics] Add a sample for model versions --- .../samples-dev/modelVersion.ts | 74 +++++++++++++++++++ .../samples/v5/javascript/README.md | 2 + .../samples/v5/javascript/modelVersion.js | 73 ++++++++++++++++++ .../samples/v5/typescript/README.md | 2 + .../samples/v5/typescript/src/modelVersion.ts | 73 ++++++++++++++++++ 5 files changed, 224 insertions(+) create mode 100644 sdk/textanalytics/ai-text-analytics/samples-dev/modelVersion.ts create mode 100644 sdk/textanalytics/ai-text-analytics/samples/v5/javascript/modelVersion.js create mode 100644 sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/modelVersion.ts diff --git a/sdk/textanalytics/ai-text-analytics/samples-dev/modelVersion.ts b/sdk/textanalytics/ai-text-analytics/samples-dev/modelVersion.ts new file mode 100644 index 000000000000..a1504841bdbf --- /dev/null +++ b/sdk/textanalytics/ai-text-analytics/samples-dev/modelVersion.ts @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * This sample shows how to choose model versions to use with pre-built Text + * Analytics models. + * + * @summary shows how to choose model versions for pre-built models. + * @azsdk-weight 40 + */ + +import { TextAnalyticsClient, AzureKeyCredential } from "@azure/ai-text-analytics"; + +// Load the .env file if it exists +import * as dotenv from "dotenv"; +dotenv.config(); + +// You will need to set these environment variables or edit the following values +const endpoint = process.env["ENDPOINT"] || ""; +const apiKey = process.env["TEXT_ANALYTICS_API_KEY"] || ""; + +const documents = ["This document is written in English."]; + +export async function main() { + console.log("== Choosing Model Version Sample =="); + + const client = new TextAnalyticsClient(endpoint, new AzureKeyCredential(apiKey)); + + // TODO: show a list of different model versions to use from + const recognizeEntitiesResults = await client.recognizeEntities(documents, "en", { + /** + * Specify the model version by setting this property. "latest" indicates + * the latest generaly availability version of the model. When not specified, + * latest will be assumed. Model versions are date based, e.g "2021-06-01". + */ + modelVersion: "latest" + }); + + console.log( + `The results of recognizeEntities has been computed using model version: ${recognizeEntitiesResults.modelVersion}` + ); + + const poller = await client.beginAnalyzeActions( + documents, + { + recognizeEntitiesActions: [ + { + /** + * Specify the model version by setting this property. "latest" indicates + * the latest generaly availability version of the model. When not specified, + * latest will be assumed. Model versions are date based, e.g "2021-06-01". + */ + modelVersion: "latest" + } + ] + }, + "en" + ); + + const beginAnalyzeActionsResults = await poller.pollUntilDone(); + + for await (const page of beginAnalyzeActionsResults) { + const entitiesAction = page.recognizeEntitiesResults[0]; + if (!entitiesAction.error) { + console.log( + `The results of recognizeEntities action has been computed using model version: ${entitiesAction.results.modelVersion}` + ); + } + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/README.md b/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/README.md index 0b8851ffe494..1c707e8079bb 100644 --- a/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/README.md +++ b/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/README.md @@ -27,6 +27,7 @@ These sample programs show how to use the JavaScript client libraries for Azure | [authenticationMethods.js][authenticationmethods] | authenticates a service client using both Azure Active Directory and an API key | | [beginAnalyzeActions.js][beginanalyzeactions] | applies multiple Text Analytics actions per document | | [customText.js][customtext] | applies multiple Custom Text Analytics actions per document | +| [modelVersion.js][modelversion] | shows how to choose model versions for pre-built models. | ## Prerequisites @@ -80,6 +81,7 @@ Take a look at our [API Documentation][apiref] for more information about the AP [authenticationmethods]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/authenticationMethods.js [beginanalyzeactions]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/beginAnalyzeActions.js [customtext]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/customText.js +[modelversion]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/modelVersion.js [apiref]: https://docs.microsoft.com/javascript/api/@azure/ai-text-analytics [freesub]: https://azure.microsoft.com/free/ [createinstance_azurecognitiveservicesinstance]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account diff --git a/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/modelVersion.js b/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/modelVersion.js new file mode 100644 index 000000000000..50c743ff1d9a --- /dev/null +++ b/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/modelVersion.js @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * This sample shows how to choose model versions to use with pre-built Text + * Analytics models. + * + * @summary shows how to choose model versions for pre-built models. + */ + +const { TextAnalyticsClient, AzureKeyCredential } = require("@azure/ai-text-analytics"); + +// Load the .env file if it exists +const dotenv = require("dotenv"); +dotenv.config(); + +// You will need to set these environment variables or edit the following values +const endpoint = process.env["ENDPOINT"] || ""; +const apiKey = process.env["TEXT_ANALYTICS_API_KEY"] || ""; + +const documents = ["This document is written in English."]; + +async function main() { + console.log("== Choosing Model Version Sample =="); + + const client = new TextAnalyticsClient(endpoint, new AzureKeyCredential(apiKey)); + + // TODO: show a list of different model versions to use from + const recognizeEntitiesResults = await client.recognizeEntities(documents, "en", { + /** + * Specify the model version by setting this property. "latest" indicates + * the latest generaly availability version of the model. When not specified, + * latest will be assumed. Model versions are date based, e.g "2021-06-01". + */ + modelVersion: "latest" + }); + + console.log( + `The results of recognizeEntities has been computed using model version: ${recognizeEntitiesResults.modelVersion}` + ); + + const poller = await client.beginAnalyzeActions( + documents, + { + recognizeEntitiesActions: [ + { + /** + * Specify the model version by setting this property. "latest" indicates + * the latest generaly availability version of the model. When not specified, + * latest will be assumed. Model versions are date based, e.g "2021-06-01". + */ + modelVersion: "latest" + } + ] + }, + "en" + ); + + const beginAnalyzeActionsResults = await poller.pollUntilDone(); + + for await (const page of beginAnalyzeActionsResults) { + const entitiesAction = page.recognizeEntitiesResults[0]; + if (!entitiesAction.error) { + console.log( + `The results of recognizeEntities action has been computed using model version: ${entitiesAction.results.modelVersion}` + ); + } + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/README.md b/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/README.md index 464b9951e7c6..c20b93ddf8ac 100644 --- a/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/README.md +++ b/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/README.md @@ -27,6 +27,7 @@ These sample programs show how to use the TypeScript client libraries for Azure | [authenticationMethods.ts][authenticationmethods] | authenticates a service client using both Azure Active Directory and an API key | | [beginAnalyzeActions.ts][beginanalyzeactions] | applies multiple Text Analytics actions per document | | [customText.ts][customtext] | applies multiple Custom Text Analytics actions per document | +| [modelVersion.ts][modelversion] | shows how to choose model versions for pre-built models. | ## Prerequisites @@ -92,6 +93,7 @@ Take a look at our [API Documentation][apiref] for more information about the AP [authenticationmethods]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/authenticationMethods.ts [beginanalyzeactions]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/beginAnalyzeActions.ts [customtext]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/customText.ts +[modelversion]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/modelVersion.ts [apiref]: https://docs.microsoft.com/javascript/api/@azure/ai-text-analytics [freesub]: https://azure.microsoft.com/free/ [createinstance_azurecognitiveservicesinstance]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account diff --git a/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/modelVersion.ts b/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/modelVersion.ts new file mode 100644 index 000000000000..87d3c13127d6 --- /dev/null +++ b/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/modelVersion.ts @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * This sample shows how to choose model versions to use with pre-built Text + * Analytics models. + * + * @summary shows how to choose model versions for pre-built models. + */ + +import { TextAnalyticsClient, AzureKeyCredential } from "@azure/ai-text-analytics"; + +// Load the .env file if it exists +import * as dotenv from "dotenv"; +dotenv.config(); + +// You will need to set these environment variables or edit the following values +const endpoint = process.env["ENDPOINT"] || ""; +const apiKey = process.env["TEXT_ANALYTICS_API_KEY"] || ""; + +const documents = ["This document is written in English."]; + +export async function main() { + console.log("== Choosing Model Version Sample =="); + + const client = new TextAnalyticsClient(endpoint, new AzureKeyCredential(apiKey)); + + // TODO: show a list of different model versions to use from + const recognizeEntitiesResults = await client.recognizeEntities(documents, "en", { + /** + * Specify the model version by setting this property. "latest" indicates + * the latest generaly availability version of the model. When not specified, + * latest will be assumed. Model versions are date based, e.g "2021-06-01". + */ + modelVersion: "latest" + }); + + console.log( + `The results of recognizeEntities has been computed using model version: ${recognizeEntitiesResults.modelVersion}` + ); + + const poller = await client.beginAnalyzeActions( + documents, + { + recognizeEntitiesActions: [ + { + /** + * Specify the model version by setting this property. "latest" indicates + * the latest generaly availability version of the model. When not specified, + * latest will be assumed. Model versions are date based, e.g "2021-06-01". + */ + modelVersion: "latest" + } + ] + }, + "en" + ); + + const beginAnalyzeActionsResults = await poller.pollUntilDone(); + + for await (const page of beginAnalyzeActionsResults) { + const entitiesAction = page.recognizeEntitiesResults[0]; + if (!entitiesAction.error) { + console.log( + `The results of recognizeEntities action has been computed using model version: ${entitiesAction.results.modelVersion}` + ); + } + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); From 0aeff98e64c22b1440dbb29452dc8ce744b83340 Mon Sep 17 00:00:00 2001 From: Deyaaeldeen Almahallawi Date: Thu, 9 Dec 2021 14:49:10 -0800 Subject: [PATCH 2/3] address feedback --- .../ai-text-analytics/samples-dev/modelVersion.ts | 3 ++- .../ai-text-analytics/samples/v5/javascript/modelVersion.js | 3 ++- .../samples/v5/typescript/src/modelVersion.ts | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sdk/textanalytics/ai-text-analytics/samples-dev/modelVersion.ts b/sdk/textanalytics/ai-text-analytics/samples-dev/modelVersion.ts index a1504841bdbf..87fcfec23b54 100644 --- a/sdk/textanalytics/ai-text-analytics/samples-dev/modelVersion.ts +++ b/sdk/textanalytics/ai-text-analytics/samples-dev/modelVersion.ts @@ -26,12 +26,13 @@ export async function main() { const client = new TextAnalyticsClient(endpoint, new AzureKeyCredential(apiKey)); - // TODO: show a list of different model versions to use from const recognizeEntitiesResults = await client.recognizeEntities(documents, "en", { /** * Specify the model version by setting this property. "latest" indicates * the latest generaly availability version of the model. When not specified, * latest will be assumed. Model versions are date based, e.g "2021-06-01". + * See the documentation for a list of all model versions: + * https://docs.microsoft.com/en-us/azure/cognitive-services/language-service/named-entity-recognition/how-to-call#specify-the-ner-model */ modelVersion: "latest" }); diff --git a/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/modelVersion.js b/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/modelVersion.js index 50c743ff1d9a..8d7245cd8750 100644 --- a/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/modelVersion.js +++ b/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/modelVersion.js @@ -25,12 +25,13 @@ async function main() { const client = new TextAnalyticsClient(endpoint, new AzureKeyCredential(apiKey)); - // TODO: show a list of different model versions to use from const recognizeEntitiesResults = await client.recognizeEntities(documents, "en", { /** * Specify the model version by setting this property. "latest" indicates * the latest generaly availability version of the model. When not specified, * latest will be assumed. Model versions are date based, e.g "2021-06-01". + * See the documentation for a list of all model versions: + * https://docs.microsoft.com/en-us/azure/cognitive-services/language-service/named-entity-recognition/how-to-call#specify-the-ner-model */ modelVersion: "latest" }); diff --git a/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/modelVersion.ts b/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/modelVersion.ts index 87d3c13127d6..14d1182d68df 100644 --- a/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/modelVersion.ts +++ b/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/modelVersion.ts @@ -25,12 +25,13 @@ export async function main() { const client = new TextAnalyticsClient(endpoint, new AzureKeyCredential(apiKey)); - // TODO: show a list of different model versions to use from const recognizeEntitiesResults = await client.recognizeEntities(documents, "en", { /** * Specify the model version by setting this property. "latest" indicates * the latest generaly availability version of the model. When not specified, * latest will be assumed. Model versions are date based, e.g "2021-06-01". + * See the documentation for a list of all model versions: + * https://docs.microsoft.com/en-us/azure/cognitive-services/language-service/named-entity-recognition/how-to-call#specify-the-ner-model */ modelVersion: "latest" }); From 929dc5deac208dcb79e5d9d32bc11dc5f40360ff Mon Sep 17 00:00:00 2001 From: Deyaaeldeen Almahallawi Date: Thu, 9 Dec 2021 14:50:10 -0800 Subject: [PATCH 3/3] edit --- sdk/textanalytics/ai-text-analytics/samples-dev/modelVersion.ts | 2 ++ .../ai-text-analytics/samples/v5/javascript/modelVersion.js | 2 ++ .../ai-text-analytics/samples/v5/typescript/src/modelVersion.ts | 2 ++ 3 files changed, 6 insertions(+) diff --git a/sdk/textanalytics/ai-text-analytics/samples-dev/modelVersion.ts b/sdk/textanalytics/ai-text-analytics/samples-dev/modelVersion.ts index 87fcfec23b54..6a6ecf8de472 100644 --- a/sdk/textanalytics/ai-text-analytics/samples-dev/modelVersion.ts +++ b/sdk/textanalytics/ai-text-analytics/samples-dev/modelVersion.ts @@ -50,6 +50,8 @@ export async function main() { * Specify the model version by setting this property. "latest" indicates * the latest generaly availability version of the model. When not specified, * latest will be assumed. Model versions are date based, e.g "2021-06-01". + * See the documentation for a list of all model versions: + * https://docs.microsoft.com/en-us/azure/cognitive-services/language-service/named-entity-recognition/how-to-call#specify-the-ner-model */ modelVersion: "latest" } diff --git a/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/modelVersion.js b/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/modelVersion.js index 8d7245cd8750..61c11ce7feb7 100644 --- a/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/modelVersion.js +++ b/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/modelVersion.js @@ -49,6 +49,8 @@ async function main() { * Specify the model version by setting this property. "latest" indicates * the latest generaly availability version of the model. When not specified, * latest will be assumed. Model versions are date based, e.g "2021-06-01". + * See the documentation for a list of all model versions: + * https://docs.microsoft.com/en-us/azure/cognitive-services/language-service/named-entity-recognition/how-to-call#specify-the-ner-model */ modelVersion: "latest" } diff --git a/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/modelVersion.ts b/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/modelVersion.ts index 14d1182d68df..b41a09562fb1 100644 --- a/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/modelVersion.ts +++ b/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/src/modelVersion.ts @@ -49,6 +49,8 @@ export async function main() { * Specify the model version by setting this property. "latest" indicates * the latest generaly availability version of the model. When not specified, * latest will be assumed. Model versions are date based, e.g "2021-06-01". + * See the documentation for a list of all model versions: + * https://docs.microsoft.com/en-us/azure/cognitive-services/language-service/named-entity-recognition/how-to-call#specify-the-ner-model */ modelVersion: "latest" }