Azure Cognitive Services REST APIs

  • Author: Ronald Fung

  • Creation Date: 24 May, 2023

  • Next Modified Date: 24 May, 2024


A. Introduction

Azure Cognitive Services are cloud-based artificial intelligence (AI) services that help developers build cognitive intelligence into applications without having direct AI or data science skills or knowledge. They are available through REST APIs and client library SDKs in popular development languages

Inputs

Name

Description

Type

Default

resource_group_name

The name of the new or existing resource group to use

string

""

name

The name of the resource

string

""

location

The location of the resource

string

""

kind

The type of cognitive resource

string

""

sku

The sku of the resource

string

""

Tags

A map of tags to add to all resources

map

{}

Outputs

Name

Description

id

The ID of the created resource

primary_key

The key to access the resource

endpoint

The url to access the resource


B. How is it used at Seagen

Note To be able to use cognitive services, we first need to agree to terms of the service for your subscription. Please contact the GDCT team to do that step. Once completed, you are free to deploy the resources.


C. Features

Azure Cognitive Services is a collection of pre-built APIs that enable developers to add intelligent features to their applications, without requiring expertise in machine learning or artificial intelligence. Here are some of the key features of Azure Cognitive Services:

  1. Language: Azure Cognitive Services provides natural language processing (NLP) APIs that enable your applications to understand and interpret human language, including sentiment analysis, language translation, and speech recognition.

  2. Vision: Azure Cognitive Services provides computer vision APIs that enable your applications to recognize and analyze images and video, including face detection, image recognition, and video indexing.

  3. Speech: Azure Cognitive Services provides speech APIs that enable your applications to convert spoken audio into text, and text into spoken audio, including speech-to-text, text-to-speech, and speaker recognition.

  4. Decision: Azure Cognitive Services provides decision APIs that enable your applications to make predictions and recommendations based on data, including personalized recommendations and anomaly detection.

  5. Search: Azure Cognitive Services provides search APIs that enable your applications to provide relevant and personalized search results, including semantic search and entity recognition.

  6. Integration with other Azure services: Azure Cognitive Services can integrate with other Azure services such as Azure Bot Service and Azure Functions. This can help you to extend the functionality of your applications and create more complex workflows.

  7. Customization and training: Azure Cognitive Services provides customization and training features that enable you to train the pre-built models to better suit your specific use case.

Overall, Azure Cognitive Services provides a range of features that can help your organization to add intelligent features to your applications, without requiring expertise in machine learning or artificial intelligence. With Azure Cognitive Services, you can improve the user experience of your applications, increase the efficiency of your workflows, and create more value from your data.

Cognitive Service Types

  • Academic

  • AnomalyDetector

  • Bing.Autosuggest

  • Bing.Autosuggest.v7

  • Bing.CustomSearch

  • Bing.Search

  • Bing.Search.v7

  • Bing.Speech

  • Bing.SpellCheck

  • Bing.SpellCheck.v7

  • CognitiveServices

  • ComputerVision

  • ContentModerator

  • CustomSpeech

  • CustomVision.Prediction

  • CustomVision.Training

  • Emotion

  • Face

  • FormRecognizer

  • ImmersiveReader

  • LUIS

  • LUIS.Authoring

  • MetricsAdvisor

  • Personalizer

  • QnAMaker

  • Recommendations

  • SpeakerRecognition

  • Speech

  • SpeechServices

  • SpeechTranslation

  • TextAnalytics(Language service)

  • TextTranslation

  • WebLM

Resources

Example Usage

resource "azurerm_cognitive_account" "cognitive_service_01" {
  name                = var.cognitive_service_01_name
  resource_group_name = azurerm_resource_group.rg01.name
  location            = azurerm_resource_group.rg01.location
  kind                = var.cognitive_service_01_type

  sku_name = "F0"

  identity {
    type = "SystemAssigned"
  }

  tags = merge(local.tags, var.cognitive_tags)
}

D. Where Implemented

LeanIX


E. How it is tested

Testing Azure Cognitive Services involves several steps to ensure that the service is functioning as expected and delivering accurate and reliable results. Here are some of the key steps involved in testing Azure Cognitive Services:

  1. Input data validation: Before testing Azure Cognitive Services, it’s important to ensure that the input data is valid and conforms to the expected format. For example, if you’re testing the language API, you need to ensure that the input text is in the correct language and format.

  2. Unit testing: Unit testing involves testing each individual component of the Azure Cognitive Service to ensure that it’s functioning as expected. This can involve testing the various APIs for accuracy and reliability.

  3. Integration testing: Integration testing involves testing how the Azure Cognitive Service interacts with other components of the application. This can involve testing how the service integrates with other Azure services, such as Azure Functions or Azure Machine Learning.

  4. Performance testing: Performance testing involves testing the Azure Cognitive Service under various load conditions to ensure that it can handle the expected volume of requests and deliver results within an acceptable time frame.

  5. Accuracy testing: Accuracy testing involves testing the Azure Cognitive Service to ensure that it’s delivering accurate and reliable results. This can involve testing the service against a variety of input data and comparing the results to the expected output.

  6. Regression testing: Regression testing involves retesting the Azure Cognitive Service after changes have been made to ensure that the changes haven’t introduced any new errors or issues.

Overall, testing Azure Cognitive Services requires a thorough and comprehensive approach to ensure that the service is functioning as expected and delivering accurate and reliable results. By following these steps, you can ensure that your Azure Cognitive Service is ready for production use and can deliver value to your users.


F. 2023 Roadmap

????


G. 2024 Roadmap

????


H. Known Issues

As with any technology, Azure Cognitive Services may encounter issues or limitations that can affect its performance or functionality. Here are some known issues and limitations that you should be aware of when using Azure Cognitive Services:

  1. Language and accent recognition: Azure Cognitive Services may encounter difficulties recognizing certain languages or accents, particularly if they’re less common or have dialectical variations.

  2. Bias in pre-built models: Azure Cognitive Services pre-built models may contain biases that reflect the biases of the data they were trained on. This can result in inaccurate or unfair results for certain groups of people.

  3. Limited customization: While Azure Cognitive Services provides customization features, these may be limited in scope and may not be able to fully address all use cases.

  4. Limited accuracy for complex tasks: While Azure Cognitive Services is effective for many common AI tasks, it may not be accurate enough for complex tasks that require specialized expertise or advanced algorithms.

  5. Limited interoperability: Azure Cognitive Services may not be fully interoperable with other AI technologies or platforms, which can limit its usefulness in certain contexts.

  6. Resource constraints: Azure Cognitive Services may encounter resource constraints, particularly when processing large volumes of data or handling complex tasks. This can result in slower performance or errors.

Overall, it’s important to be aware of these known issues and limitations when using Azure Cognitive Services. By understanding these limitations and working around them, you can ensure that your use of Azure Cognitive Services is effective and provides value to your organization.


[x] Reviewed by Enterprise Architecture

[x] Reviewed by Application Development

[x] Reviewed by Data Architecture