Notes for my Cloud certifications.
AI-103 is Foundry-first. More than half the score (55-65%) is planning/securing Foundry and building gen AI apps and agents, so most of the study time should go there.
| Domain | Weight | What it covers |
|---|---|---|
| Plan and manage an Azure AI solution | 25-30% | Model/service choice, deployment types, quotas, security, responsible AI |
| Generative AI and agentic solutions | 30-35% | RAG, Foundry Agent Service, tools, multi-agent, evals, tracing |
| Computer vision | 10-15% | Image/video generation and editing, multimodal understanding, Content Understanding |
| Text analysis (incl. speech) | 10-15% | LLM extraction, Language, Translator, Speech |
| Information extraction | 10-15% | Azure AI Search, skillsets, Content Understanding for documents |
| Azure / Foundry | Closest AWS mental model |
|---|---|
| Foundry resource + project | Bedrock account setup + a workspace boundary |
| Foundry Agent Service | Bedrock Agents / AgentCore Runtime |
| Foundry Tools catalog, MCP tool, OpenAPI tool | Action groups, AgentCore Gateway |
| Azure AI Search | OpenSearch / Kendra / Bedrock Knowledge Bases |
| Azure AI Content Safety, guardrails | Bedrock Guardrails |
| Content Understanding | Bedrock Data Automation |
| Foundry evaluations + tracing (App Insights) | Bedrock evaluations + AgentCore Observability |
Most questions here are “pick the right option under a constraint” (cost, latency, residency, security). Know the object model, the deployment types, and the security defaults cold.
AIServices): The top-level Azure resource. Holds model deployments, Foundry Tools, networking, keys/identity.https://<resource>.services.ai.azure.com/api/projects/<project>AIProjectClient + DefaultAzureCredential| Need | Pick |
|---|---|
| General chat, strong reasoning, tool calling | Flagship LLM (GPT-4.1 / GPT-5 class) |
| Hard multistep reasoning, math, planning | Reasoning model (o-series / GPT-5 reasoning) |
| Cheap, fast, edge or offline, simple tasks | Small language model (Phi family, mini/nano variants); Foundry Local for on-device |
| Images + text in one call | Multimodal model (GPT-4o / 4.1 class) |
| Vectors for search | Embedding model (text-embedding-3-small/large) |
| Generate or edit images | gpt-image-1 class, FLUX |
| Generate video | Sora class |
| Low-latency voice conversation | Realtime / audio models, or Speech + LLM |
| Prebuilt task (translate, OCR, PII, STT) | A Foundry Tool, not an LLM |
| Type | Use when |
|---|---|
| Global Standard | Default. Pay per token, highest quota, data may process in any Azure region |
| Data Zone Standard | Pay per token but processing must stay in the US or EU data zone |
| Standard (regional) | Processing must stay in one region |
| Provisioned (Global / Data Zone / Regional), PTUs | Predictable latency and throughput for steady high volume; reserved capacity |
| Global Batch / Data Zone Batch | Large async jobs, about 50% cheaper, results within 24 hours |
| Serverless API vs managed compute | Partner/open models: serverless = pay per token, managed compute = you pay for VMs |
retry-after headermax_tokensDefaultAzureCredential, disable local (key) auth. Keys only in Key Vault if you must.azd) + Bicep/Terraform, GitHub Actions or Azure DevOps. Run evaluations as a pipeline gate before promotion.require_approval="always" on MCP toolsThe biggest domain. If you only master one thing: which agent tool solves which problem, and how grounding (RAG) is wired into agents.
| Scenario | Tool |
|---|---|
| Answer from a few uploaded files, zero infra | File Search (managed vector store) |
| Answer from an existing enterprise index | Azure AI Search tool (via project connection) |
| Current public info from the web | Grounding with Bing / Web search |
| Math, data analysis, charts, file transforms | Code Interpreter (sandboxed Python) |
| Call your own logic in your app process | Function calling (model returns a call; your code runs it and submits output) |
| Call an existing REST API with a spec | OpenAPI tool (anonymous, API key via connection, or managed identity) |
| Reuse a remote tool server | MCP tool (server_label, server_url, require_approval, connection for auth) |
| Low-code business workflow | Azure Logic Apps / Azure Functions |
| M365 docs or Fabric data | SharePoint tool / Fabric data agent |
| Multi-step web research report | Deep Research tool |
| Let a main agent delegate | Connected agents / A2A |
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
project = AIProjectClient(endpoint=PROJECT_ENDPOINT,
credential=DefaultAzureCredential())
# new API: define agent (model + instructions + tools),
# then call it through the OpenAI-compatible Responses API
# classic API: create_agent -> threads.create -> messages.create -> runs.create_and_process
DefaultAzureCredential.| Question | Evaluator |
|---|---|
| Fabrication / hallucination | Groundedness (is the answer supported by retrieved context?) |
| Did retrieval work? | Retrieval / relevance |
| Is it well written? | Coherence, fluency |
| Agents | Intent resolution, tool call accuracy, task adherence |
azure-ai-evaluation SDK or the Foundry portal, on a test dataset.temperature or top_p = change one, not bothmax_tokens, stop sequences, frequency/presence penaltiesreasoning_effort on reasoning modelsThree buckets: generate/edit media, understand media with multimodal models or Content Understanding, and keep it safe.
image_url (public URL or base64 data URI) in the message content.
detail: low = cheap, fastdetail: high = fine detail, more tokensmax_tokens).A Foundry Tool where you define an analyzer with a field schema (or use a prebuilt one) for documents, images, audio, or video.
| Mode | Use when |
|---|---|
| Standard (single-task) | One file, one extraction |
| Pro | Multi-file, cross-document reasoning, can use reference data for validation; complex, multi-step extraction |
The recurring question is “LLM prompt or Foundry Tool?”
response_format with a JSON schema, strict) instead of “please return JSON”. Low temperature for extraction.| Need | Pick |
|---|---|
| Translate strings in real time, many target languages in one call | Azure Translator text translation |
| Translate whole files, keep formatting | Translator document translation (async, Blob Storage source/target, managed identity) |
| Company terminology | Custom Translator (train on parallel data) or glossary |
| Tone, style, context-aware rewrites | LLM-powered translation flow |
This is Azure AI Search plumbing plus Content Understanding for documents. Know the indexer pipeline order and the four query types.
| Type | What it does | Choose when |
|---|---|---|
| Full-text (BM25) | Keyword matching | Exact terms, IDs, codes |
| Vector | Similarity on embeddings | Meaning, paraphrase, multilingual, images |
| Hybrid | Both, merged with Reciprocal Rank Fusion | Default best for RAG |
| Semantic ranker | Re-ranks top results with a language model; captions and answers | Best relevance; needs a semantic configuration |
Keywords in the question stem usually point straight at one answer. Read this the night before and the morning of.
| Question stem says | Answer is usually |
|---|---|
| “Data must stay in the EU/US” + pay per token | Data Zone Standard deployment |
| “Predictable latency”, “consistent high throughput” | Provisioned (PTU) deployment |
| “Millions of docs overnight”, “lowest cost”, “not time-sensitive” | Global Batch |
| “429 Too Many Requests” | Retry with backoff + retry-after; raise quota; add deployments behind APIM |
| “Without storing keys”, “most secure auth” | Managed identity + Entra ID (DefaultAzureCredential), disable local auth |
| “No public internet access” | Private endpoints + disable public network access (+ Standard agent setup with BYO resources) |
| “Agent answers from a few PDFs, least effort” | File Search tool |
| “Agent answers from existing enterprise index” | Azure AI Search tool |
| “Latest news”, “current prices” | Grounding with Bing / web search tool |
| “Compute”, “analyze a CSV”, “make a chart” | Code Interpreter |
| “Existing REST API with OpenAPI 3 spec” | OpenAPI tool |
| “Reuse tools across agents via an open protocol” | MCP tool |
| “Human must approve before the action” | require_approval on the tool / approval step in the workflow |
| “Orchestrator delegates to specialist agents” | Connected agents (or a handoff/sequential workflow) |
| “Answer invents facts”, “fabrication” | Groundedness evaluation + groundedness detection; improve retrieval |
| “User tries to jailbreak” | Prompt Shields (user prompt attacks) |
| “Malicious instructions hidden in a document/email/image” | Prompt Shields (indirect/document attacks); treat content as data |
| “Output reproduces song lyrics or licensed code” | Protected material detection |
| “Reliable JSON matching a schema” | Structured outputs (JSON schema) |
| “Deterministic, less creative output” | Lower temperature |
| “Best relevance for RAG” | Hybrid search + semantic ranker |
| “Least code to chunk and embed on ingest” | Integrated vectorization (Text Split + embedding skill + vectorizer) |
| “Scanned PDFs in the index” | OCR skill + Text Merge, or Document Layout skill |
| “Custom logic during indexing” | Custom Web API skill (Azure Function) |
| “Extract fields + markdown from docs/images/video for agents” | Content Understanding analyzer |
| “Cross-document reasoning, validate against reference data” | Content Understanding pro mode |
| “Edit only part of an image” | Image edit with a mask (inpainting) |
| “Redact PII at scale” | Azure AI Language PII detection |
| “Translate Word/PDF, keep formatting” | Translator document translation |
| “Speech misrecognizes product names” | Phrase list first, then custom speech |
| “Change pronunciation, pauses, voice style” | SSML |
| “Low-latency voice agent” | Voice Live API / realtime audio model |
| “Trace latency per tool call and token usage” | OpenTelemetry tracing to Application Insights |
| “Run evals automatically before deploy” | Evaluation step in CI/CD (GitHub Actions / Azure DevOps) |
| Question | Answer |
|---|---|
| Your agent must summarize incoming emails, and attackers embed instructions in email bodies. What detects it? | Prompt Shields, indirect (document) attack detection |
| You need 99th-percentile latency guarantees for a chat app with steady load. Deployment type? | Provisioned (PTU) |
| Agent must look up order status from your internal service that runs in your app process. Tool? | Function calling |
| RAG answers cite the wrong chunks. First fix? | Hybrid search + semantic ranker, then tune chunk size/overlap |
| Which evaluator measures whether answers are supported by retrieved context? | Groundedness |
| Agent threads and files must be stored in your own Cosmos DB and Storage accounts. Setup? | Standard agent setup (bring your own resources) |
| Extract invoice fields and a markdown version of each invoice for an agent, validating totals against a price list. | Content Understanding, pro mode with reference data |
| Replace the sky in a product photo but keep everything else. | Image edit with a mask (inpainting) |
| Call center STT keeps missing drug names; no training data yet. | Phrase list |
| A deployed agent is slow; you need to see which tool call takes longest. | Tracing (OpenTelemetry → Application Insights), inspect spans |
| Which Search query type merges BM25 and vector results? | Hybrid (Reciprocal Rank Fusion) |
| Least-code way to chunk and embed blobs during indexing? | Integrated vectorization |