Dashboard Part 1 Foundry Services
⚙️ Part 1 · Topic 1 of 5

Select the Appropriate Microsoft Foundry Service

Before you write a single line of code, you need to know what each Azure AI service does and when to choose one over another. This topic also introduces the core vocabulary — endpoint, API key, resource, subscription — that every other topic in this course assumes you already know.

🐍 Python examples included ⏱️ ~45 min read 🎯 High exam weight 📋 No prerequisites

The words you must know before anything else

These terms appear in almost every exam question and every code example across all 6 parts. Learn them here once and you'll recognise them everywhere.

🏥
Think of it like a hospital system

Imagine Azure as a large hospital network. Your subscription is your hospital membership — it covers all costs. A resource group is a specific ward (e.g. Cardiology). An Azure AI resource is a specific machine in that ward (e.g. the MRI scanner). The endpoint is the reception desk's phone number — the address you call to use that machine. The API key is your staff ID badge — it proves you're allowed to use it.

Subscription

Your Azure account's billing container. Everything you create in Azure lives under a subscription, and all costs are charged to it. Think of it as your Azure account with a payment method attached.

Resource Group

A logical folder that holds related Azure resources together. For example, you might put your AI service, your storage account, and your web app all in one resource group called "MyAIProject". Deleting the group deletes everything inside it.

Resource

Any individual service you create in Azure — an AI Language service, a storage account, a virtual machine. Each resource has its own settings, costs, and access controls.

Endpoint

A URL address that your code sends requests to in order to use an Azure AI service. It always looks like: https://your-resource-name.cognitiveservices.azure.com/ You find it in the Azure portal under your resource → "Keys and Endpoint".

API Key

A secret string (like a long password) that proves your code is authorised to call an Azure AI service. Azure gives you two keys (Key1 and Key2) so you can rotate them — swap to Key2, regenerate Key1, swap back — without downtime. Never share or hard-code your key.

SDK

Software Development Kit. A pre-built Python library that makes calling Azure AI services much easier than writing raw HTTP requests. For example, azure-ai-textanalytics is the SDK for the Azure AI Language service. You install it with pip.

REST API

A way to call a service by sending standard HTTP requests (GET, POST, etc.) to its endpoint URL, with your API key in the request header. The SDK does this for you under the hood — but the exam sometimes shows you raw REST calls, so you need to recognise them.

Region

The physical data centre location where your Azure resource runs — e.g. East US, Canada Central, UK South. Not all services and models are available in all regions. Choosing the right region affects latency, compliance (data residency), and feature availability.

Microsoft Foundry

The unified platform (portal and SDK) that brings together Azure's AI services — OpenAI, Vision, Language, Speech, Document Intelligence, and more — under one roof. The exam calls individual services "Microsoft Foundry Services". Previously called "Azure AI Studio".

Cognitive Services

The old name for Azure AI Services. The exam may use either name. If you see "Cognitive Services" in a question, it means "Azure AI Services". The endpoint domain cognitiveservices.azure.com still exists and is used in current resources.

What is Microsoft Foundry and why does it matter?

Before 2024, Azure had dozens of separate AI services each with their own portal, their own SDKs, and their own way of doing things. Microsoft Foundry is the answer to that complexity — a single platform that unifies all of them.

💡
Plain English Definition

Think of Microsoft Foundry as the control centre for all Azure AI services. Instead of going to five different portals to manage your Vision service, your Language service, and your OpenAI deployment, you go to one place: ai.azure.com. From there you can create projects, deploy models, test them, and connect them to your data — all in one place.

How Foundry is organised

Foundry has a hierarchy you need to know for the exam:

1
Hub

The top-level container in Foundry. A Hub holds shared resources like storage accounts, compute, and connections to other Azure services. A company typically has one Hub per team or business unit. Think of it as the office building.

2
Project

Lives inside a Hub. A Project is where you do your actual work — deploying models, building prompt flows, connecting to data. Think of it as your individual office inside the building. One Hub can have many Projects.

3
Foundry Services (the individual AI services)

The actual AI capabilities you deploy and use within a Project — Azure OpenAI, Vision, Language, Speech, Document Intelligence, etc. These are the services the exam tests you on across all 6 domains.

🎯
Exam Tip — Portal URL

The Microsoft Foundry portal lives at ai.azure.com. The Azure portal (where you manage all Azure resources) lives at portal.azure.com. Questions may ask which portal to use for a specific task — Foundry-level tasks (deploying models, prompt flows, evaluations) happen at ai.azure.com, while infrastructure tasks (creating resource groups, setting network rules, configuring RBAC) happen at portal.azure.com.

Every Azure AI service you need to know

The exam requires you to choose the right service for a given scenario. Here is every service, what it does in one sentence, and its old name (the exam may use either name — this trips up many candidates).

Azure AI Vision
formerly: Computer Vision + Custom Vision

Analyses images and videos. Can detect objects, extract text from images (OCR), describe scenes, detect faces, identify brands. Used when your input is an image or video file.

Azure AI Vision — Custom Models
formerly: Custom Vision

Train your own image classifier or object detector using your own labelled photos. Use when the pre-built Vision service doesn't recognise your specific objects (e.g. company-specific products).

Azure AI Video Indexer
formerly: Video Indexer (unchanged)

Extracts rich insights from videos — transcripts, speaker identification, scene detection, keywords, emotions, brands. Use when your input is a video file or live stream.

Azure AI Face
formerly: Face API

Detects, analyses, and identifies human faces in images. Returns attributes (age estimate, glasses, emotion, landmarks). Note: Face identification requires Microsoft approval (Limited Access policy).

Azure AI Language
formerly: Text Analytics + LUIS + QnA Maker

Analyses written text. Extracts key phrases, detects sentiment, identifies named entities, detects PII, and classifies text. Also now includes Conversational Language Understanding (CLU) and Custom Question Answering.

Azure AI Translator
formerly: Translator Text API

Translates text and documents between 100+ languages. Can also detect the source language automatically and transliterate (convert between scripts, e.g. Arabic to Latin). Supports custom translation models.

Azure AI Content Safety
formerly: Content Moderator (different service)

Detects harmful content in text and images — hate speech, sexual content, violence, self-harm. Returns severity scores (0–6). Used to moderate user-generated content or AI model outputs.

Azure AI Speech
formerly: Speech Services / Cognitive Services Speech

Converts speech to text (transcription), text to speech (voice synthesis), and speech to speech (translation). Also supports speaker recognition, intent recognition, and custom voice models. Use when your input or output is audio.

🎯
Key Exam Distinction

If you need to translate text → use Azure AI Translator.
If you need to translate spoken audio → use Azure AI Speech (it has translation built in).
If you need to understand intent from speech (e.g. "Book me a flight") → use Azure AI Speech + CLU together.

Azure AI Document Intelligence
formerly: Form Recognizer ← exam will use BOTH names

Extracts structured data from documents — invoices, receipts, ID cards, tax forms, contracts. Has prebuilt models for common document types and lets you train custom models for your own forms. Use when your input is a document with a structured layout.

Azure AI Content Understanding
New service (2024) — no old name

Ingests and analyses multimodal content — documents, images, videos, and audio — in one pipeline. More flexible than Document Intelligence. Use when you need to process mixed media types in a single workflow.

Azure OpenAI Service
No old name — launched 2023

Provides access to OpenAI's large language models (GPT-4o, GPT-4, GPT-3.5-turbo) and image models (DALL-E) hosted on Azure infrastructure. Use when you need text generation, summarisation, code generation, or image creation at enterprise scale with Azure security.

💡
Azure OpenAI vs Public OpenAI — Key Difference

Both use the same models (GPT-4o etc.), but Azure OpenAI is hosted inside Azure. This means: your data stays within your Azure tenant, you can apply RBAC and private endpoints, and you're covered by Microsoft's enterprise compliance guarantees. The exam always expects you to choose Azure OpenAI over public OpenAI for enterprise or compliance scenarios.

Azure AI Search
formerly: Azure Cognitive Search

A fully managed search service that can index content from Blob Storage, SQL, Cosmos DB, and more. Supports full-text search, semantic ranking, vector search, and AI enrichment via skillsets. Use when you need enterprise-wide search across large document collections.

⚠️
Critical Exam Trap — Old Names

Microsoft renamed most services in 2023–2024. The exam may use either the old name or the new name in the same question. The most dangerous ones:

Old Name (still appears in exam)New Name (current)
Form RecognizerAzure AI Document Intelligence
Cognitive ServicesAzure AI Services
Computer VisionAzure AI Vision
LUIS (Language Understanding)Conversational Language Understanding (CLU) inside Azure AI Language
QnA MakerCustom Question Answering inside Azure AI Language
Text AnalyticsAzure AI Language (sentiment, NER, key phrases)
Azure Cognitive SearchAzure AI Search
Azure AI StudioMicrosoft Foundry / Azure AI Foundry

The decision framework for exam questions

Most exam scenario questions follow a pattern: a company has a problem, you pick the service. Use this framework to work through any scenario systematically, starting with the type of input.

Q1
What is the input? What kind of data are you working with?
📸 Image/photo → Azure AI Vision or Custom Vision
🎬 Video file / live stream → Azure AI Video Indexer or Vision Spatial Analysis
🔊 Audio / spoken words → Azure AI Speech
📝 Written text → Azure AI Language or Azure AI Translator
📄 Document with a form/layout (invoice, receipt, contract) → Azure AI Document Intelligence
📦 Mix of docs, images, video, audio → Azure AI Content Understanding
💬 Generate new text, code, or images → Azure OpenAI
🗂️ Search across many documents → Azure AI Search
Q2
Does the scenario mention custom training or a specific domain?
Yes — my own labelled images → Custom Vision (image classification or object detection)
Yes — my own document templates → Custom Document Intelligence model
Yes — my own intents and utterances → Conversational Language Understanding (CLU)
Yes — my own FAQ pairs → Custom Question Answering
Yes — my own translation style → Custom Translator
No — use standard/prebuilt → Use the prebuilt version of the relevant service
Q3
Does the scenario mention compliance, enterprise, or staying within Azure?
Yes → Always pick the Azure version of the service (e.g. Azure OpenAI over public OpenAI, Azure AI Search over Elasticsearch). Enterprise scenarios require Azure's security, RBAC, and compliance guarantees.

Quick scenario practice

Read each scenario and think about which service you'd choose before revealing the answer.

Answer: Azure AI Document Intelligence

The input is a document with a known structure (an invoice). Document Intelligence has a prebuilt Invoice model that extracts fields like VendorName, InvoiceTotal, DueDate, etc. without any custom training needed.

Why not Azure AI Vision OCR? OCR just extracts raw text — it doesn't understand that a number is a "total" vs a "date". Document Intelligence understands document structure.

Answer: Azure AI Speech (for transcription) + Azure AI Language (for sentiment)

This is a two-service solution. First, Speech converts the audio to text. Then, Language's sentiment analysis feature analyses the text to determine if the customer's tone is negative/frustrated. The exam often has multi-service scenario questions.

Answer: Azure AI Language — Custom Question Answering

Custom Question Answering (formerly QnA Maker) lets you import a document or FAQ page and creates a knowledge base. When a user asks a question, it finds the best matching answer. It's purpose-built for FAQ-style bots.

Why not Azure OpenAI? OpenAI would also work, but the question says "answer questions from their catalogue" — that is the exact use case Custom QnA was designed for. OpenAI would be the answer if the scenario said "generate responses" or "have a natural conversation".

Answer: Azure AI Video Indexer

Video Indexer is specifically designed for this: extracting topics, keywords, speaker transcripts, named entities, and more from video files at scale, making them searchable. It is not just transcription — it provides rich structured metadata about the video content.

Answer: Azure AI Search (with Document Intelligence as a skillset)

Azure AI Search is built for searching large document collections. You'd configure it to read from Blob Storage, use a skillset that includes OCR (to read the PDFs) and entity extraction (to pull out dates, names, clause types), and then index all that into a searchable index.

This is one of the classic "trap" questions. Document Intelligence alone doesn't give you search — it just extracts. You need AI Search to make the extracted content searchable.

Free tier vs Standard tier — F0 and S0

When you create an Azure AI resource, you choose a pricing tier. The exam tests whether you know when to use each tier and what the limitations are.

Tier What it is Limitations Use when
F0 Free tier. No cost. Limited calls per minute/month. Cannot use private endpoints. Only one F0 per service per subscription. Learning, development, and small demos.
S0 Standard paid tier. Pay per call. No artificial rate limits (subject to quota). Production workloads, higher volume, or when you need private endpoints.
🎯
Exam Tip — Common Pricing Tier Questions

If a scenario says "the company needs to ensure the service is not accessible from the public internet" — the answer involves S0 tier + private endpoint because F0 does not support private endpoints. This is a very common exam trap.

Two Python concepts before any code

You don't need to be a Python developer to pass the AI-102 exam. The exam tests whether you can read Python code and understand what it does. Every code block in this course will have every line explained. But first, two concepts that appear in every example:

Concept 1 — Importing a library

A library (also called a package or module) is a collection of pre-written Python code you can use in your program. Azure provides libraries for each AI service. Before you can use a library, you import it — like taking a tool out of a toolbox before using it.

# The "from" keyword means: "from this library..."
# The "import" keyword means: "...bring me this specific tool"
from azure.ai.textanalytics import TextAnalyticsClient

# Now we can use TextAnalyticsClient in our code
# Think of it like: "I've taken the TextAnalyticsClient tool out of the azure.ai.textanalytics toolbox"

Concept 2 — Calling a function

A function is a named block of code that does a specific task. You call it by writing its name followed by brackets. You can pass information into brackets (called arguments). The function does its work and often returns a result.

# This creates a "client" object — a connection to your Azure AI service
# TextAnalyticsClient is the function name
# endpoint= and credential= are named arguments (information you're passing in)
client = TextAnalyticsClient(endpoint=endpoint, credential=credential)

# This calls the "analyze_sentiment" function on our client
# We pass in a list of texts to analyse
# The result is stored in the variable "result"
result = client.analyze_sentiment(documents=["I love this product!"])
That's all the Python you need for now

Every subsequent topic will introduce new concepts exactly when they're needed — functions, loops, conditionals — all with plain-English explanations before showing the code. You will never see a concept in code that hasn't been explained in words first.

How to install the SDK and make your first call

This walks through a complete, working Python example. Even if you don't run it now, reading through it will make every other code example in the course feel familiar.

Step 1 — Install the Azure AI Language SDK

An SDK must be installed before you can import it. You install Python packages using a tool called pip — run this in your terminal or command prompt:

# pip is Python's package installer — it downloads the library from the internet
# azure-ai-textanalytics is the SDK for Azure AI Language service
pip install azure-ai-textanalytics

Step 2 — The complete Python script

The example below calls the Azure AI Language service to detect the language of a piece of text. Read every comment carefully.

# ── Import the tools we need from the Azure SDK ──────────────

# TextAnalyticsClient is the main object we use to call the Language service
from azure.ai.textanalytics import TextAnalyticsClient

# AzureKeyCredential wraps our API key so the SDK knows how to send it securely
from azure.core.credentials import AzureKeyCredential


# ── Your service details ──────────────────────────────────────

# Your endpoint URL — copy this from Azure portal → your resource → Keys and Endpoint
# Replace the placeholder with your actual endpoint
endpoint = "https://YOUR-RESOURCE-NAME.cognitiveservices.azure.com/"

# Your API key — also from Keys and Endpoint in the portal
# In production code you would load this from an environment variable, NOT hard-code it
key = "YOUR-API-KEY-HERE"


# ── Create the credential object ─────────────────────────────

# AzureKeyCredential wraps your key into a format the SDK understands
# Think of it as putting your key card into a card holder before swiping
credential = AzureKeyCredential(key)


# ── Create the client ─────────────────────────────────────────

# TextAnalyticsClient is your connection to the Language service
# You pass your endpoint and credential so it knows where to connect and how to prove your identity
client = TextAnalyticsClient(endpoint=endpoint, credential=credential)


# ── Call the service ──────────────────────────────────────────

# detect_language() takes a list of text documents
# Even if you only have one text, you still wrap it in a list: ["your text here"]
result = client.detect_language(documents=["Bonjour, comment ça va?"])


# ── Read the response ─────────────────────────────────────────

# result is a list — one item per document we sent
# result[0] is the response for our first (and only) document
doc = result[0]

# .primary_language is a property on the response object
# .name is the full language name (e.g. "French")
# .confidence_score is how sure the service is, between 0.0 and 1.0
print(f"Detected language: {doc.primary_language.name}")
print(f"Confidence: {doc.primary_language.confidence_score}")

# Expected output:
# Detected language: French
# Confidence: 1.0
🔑
The Pattern — Same Every Time

Every Azure AI SDK call follows this same 4-step pattern, regardless of which service you're calling:
1. Import the right SDK class
2. Set your endpoint and key
3. Create a client object
4. Call a method on the client and read the result

In Topic 2 onwards you'll see this same skeleton with different services and different method names.

What the exam specifically tests in this topic

⚠️
Top 5 Trick Questions in This Area

1. Document Intelligence vs AI Vision OCR — If the scenario says "extract text from an image" → AI Vision OCR. If it says "extract structured fields from a document/form" → Document Intelligence.

2. CLU vs Custom Question Answering — CLU is for understanding commands and intent ("Book me a flight to Paris"). QnA is for answering factual questions ("What is your return policy?").

3. F0 can't use private endpoints — Any scenario involving network isolation requires S0 tier.

4. Azure OpenAI vs Azure AI Language for text tasks — If the scenario wants specific, structured outputs (sentiment score, named entities, language code), use Azure AI Language. If it wants free-form generated text, use Azure OpenAI.

5. Video Indexer vs Spatial Analysis — Video Indexer analyses recorded video files. Spatial Analysis analyses live video streams for people detection and movement. Know the difference.

Test your understanding

5 questions. Select an answer to see the explanation immediately.

Topic 1 Quiz 1 / 5

A company wants to automatically extract the vendor name, due date, and total amount from uploaded PDF invoices. Which Azure AI service should they use?

💡 Explanation

B is correct. Azure AI Document Intelligence (formerly Form Recognizer) is purpose-built for extracting structured fields from documents. Its prebuilt Invoice model specifically recognises fields like VendorName, InvoiceTotal, and DueDate. AI Vision OCR only extracts raw text without understanding that a number is a "total". AI Language could extract entities but wouldn't understand invoice structure. AI Search enables searching, not extraction.

What is the correct term for the URL address your Python code sends requests to in order to use an Azure AI service?

💡 Explanation

C is correct. The endpoint is the URL address your code uses to reach the service — for example https://my-resource.cognitiveservices.azure.com/. The API key is a credential (like a password) that proves your identity. A resource group is a logical folder for organising resources. A subscription is the billing container for your Azure account.

Scenario: A retail company wants to build a chatbot that answers customer questions using the content from their 200-page product manual. Customers will ask questions like "Does Model X support Bluetooth?" and the bot should return the exact relevant answer from the manual.

Which service is the best fit?

💡 Explanation

B is correct. Custom Question Answering (formerly QnA Maker) is exactly designed for this scenario — you import the product manual, it builds a knowledge base, and returns the best matching answer to each customer question. CLU (option C) is for understanding commands and intents, not for FAQ-style question answering. Azure OpenAI (option A) could work but would generate answers — the question specifically says the bot should return answers from the manual, which points to QnA. AI Search (option D) provides search results, not direct answers.

A developer is setting up an Azure AI Language resource. The company's security policy requires that the service must not be accessible over the public internet. Which pricing tier must the developer select?

💡 Explanation

B is correct. Private endpoints — which remove your resource from the public internet and make it accessible only within your private network — are only supported on the S0 (Standard) tier and above. The F0 free tier does not support private endpoints. This is a frequently tested exam fact.

An exam question refers to "Azure Cognitive Search". Which current Azure service does this refer to?

💡 Explanation

C is correct. "Azure Cognitive Search" is the old name for "Azure AI Search". The exam may use either name. This is one of the most important old-to-new name mappings to memorise. Other important ones: Form Recognizer → Document Intelligence, LUIS → CLU, Text Analytics → Azure AI Language, QnA Maker → Custom Question Answering.

Mark this topic as complete