Back to Blog
4 min read

Azure Applied AI Services: Pre-Built AI for Common Scenarios

Microsoft has been expanding its AI offerings beyond the foundational Cognitive Services into what they call Applied AI Services. These are higher-level services that combine multiple AI capabilities to solve specific business scenarios out of the box.

What Are Applied AI Services?

While Cognitive Services give you building blocks like vision, speech, and language APIs, Applied AI Services package these together with business logic for common use cases. Think of it as the difference between buying individual components versus a pre-assembled solution.

The current lineup includes:

  • Azure Form Recognizer: Extract data from documents
  • Azure Metrics Advisor: Detect anomalies in time-series data
  • Azure Cognitive Search: AI-powered search
  • Azure Immersive Reader: Help users read and comprehend text
  • Azure Bot Service: Build conversational AI

Form Recognizer in Practice

Form Recognizer has been particularly useful in document processing scenarios. Here’s how to extract data from invoices:

from azure.ai.formrecognizer import DocumentAnalysisClient
from azure.core.credentials import AzureKeyCredential

endpoint = "https://your-resource.cognitiveservices.azure.com/"
credential = AzureKeyCredential("your-key")

client = DocumentAnalysisClient(endpoint, credential)

# Analyze an invoice
with open("invoice.pdf", "rb") as f:
    poller = client.begin_analyze_document("prebuilt-invoice", f)
    result = poller.result()

for document in result.documents:
    vendor_name = document.fields.get("VendorName")
    invoice_total = document.fields.get("InvoiceTotal")

    if vendor_name:
        print(f"Vendor: {vendor_name.value}")
    if invoice_total:
        print(f"Total: {invoice_total.value.amount} {invoice_total.value.currency_symbol}")

The prebuilt models handle common document types without training:

  • Invoices
  • Receipts
  • Business cards
  • ID documents

For custom document types, you can train your own models with as few as 5 labeled examples.

Custom Model Training

When prebuilt models don’t fit your needs, create custom models:

from azure.ai.formrecognizer import DocumentModelAdministrationClient

admin_client = DocumentModelAdministrationClient(endpoint, credential)

# Start training with labeled data in blob storage
training_data_url = "https://yourstorage.blob.core.windows.net/training-data?sas-token"

poller = admin_client.begin_build_document_model(
    build_mode="template",
    blob_container_url=training_data_url,
    model_id="custom-contract-model"
)

model = poller.result()
print(f"Model ID: {model.model_id}")
print(f"Fields: {[name for name in model.doc_types]}")

Metrics Advisor for Anomaly Detection

Metrics Advisor monitors your time-series data and automatically detects anomalies. It’s particularly useful for:

  • Application performance monitoring
  • Business metrics tracking
  • IoT sensor data analysis
from azure.ai.metricsadvisor import MetricsAdvisorClient
from azure.ai.metricsadvisor.models import (
    SqlServerDataFeedSource,
    DataFeedSchema,
    DataFeedMetric,
    DataFeedDimension,
    DataFeedGranularityType,
)

# Create a data feed from SQL Server
data_feed = client.create_data_feed(
    name="Website Performance Metrics",
    source=SqlServerDataFeedSource(
        connection_string="your-connection-string",
        query="""
            SELECT
                timestamp,
                region,
                response_time,
                error_count
            FROM performance_logs
            WHERE timestamp >= @StartTime AND timestamp < @EndTime
        """
    ),
    granularity=DataFeedGranularityType.HOURLY,
    schema=DataFeedSchema(
        metrics=[
            DataFeedMetric(name="response_time"),
            DataFeedMetric(name="error_count")
        ],
        dimensions=[
            DataFeedDimension(name="region")
        ],
        timestamp_column="timestamp"
    )
)

Once ingested, Metrics Advisor applies ML algorithms to detect:

  • Unexpected spikes or drops
  • Trend changes
  • Seasonal anomalies

Azure Cognitive Search is often the glue that ties AI services together. You can enrich your search index with cognitive skills:

{
  "name": "document-skillset",
  "description": "AI enrichment pipeline",
  "skills": [
    {
      "@odata.type": "#Microsoft.Skills.Vision.OcrSkill",
      "name": "ocr-skill",
      "context": "/document/normalized_images/*",
      "inputs": [
        {
          "name": "image",
          "source": "/document/normalized_images/*"
        }
      ],
      "outputs": [
        {
          "name": "text",
          "targetName": "text"
        }
      ]
    },
    {
      "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill",
      "name": "keyphrase-skill",
      "context": "/document",
      "inputs": [
        {
          "name": "text",
          "source": "/document/content"
        }
      ],
      "outputs": [
        {
          "name": "keyPhrases",
          "targetName": "keyphrases"
        }
      ]
    }
  ]
}

This skillset extracts text from images via OCR and identifies key phrases, making documents searchable by their content rather than just metadata.

When to Use Applied AI vs Cognitive Services

Choose Applied AI Services when:

  • Your scenario matches a pre-built solution
  • You want faster time-to-value
  • You don’t need fine-grained control over individual AI components

Choose Cognitive Services when:

  • You need specific AI capabilities
  • You’re building a custom solution
  • You want maximum flexibility

Cost Considerations

Applied AI Services pricing varies by service:

  • Form Recognizer: Per page analyzed
  • Metrics Advisor: Per time series monitored
  • Cognitive Search: Per search unit + AI enrichment transactions

For high-volume scenarios, these costs can add up. Run a proof of concept to estimate production costs before committing.

Getting Started

The fastest way to explore these services:

  1. Create an Azure account if you don’t have one
  2. Provision a Cognitive Services multi-service resource
  3. Use the built-in studios (Form Recognizer Studio, Language Studio)
  4. Export code once you’ve validated your approach

These studios provide a no-code way to test the services with your own data before writing any code.

Resources

Michael John Peña

Michael John Peña

Senior Data Engineer based in Sydney. Writing about data, cloud, and technology.