AI-901 courseLesson 14 of 14 · 10 min
AI-901 Cheat Sheet: Last-Minute Revision for Azure AI Fundamentals
XUtilHub Team ·
Exam skills covered
- Revision of all skills measured
Everything you need for AI-901 on one page. Read it the day before the exam, then take the practice test one more time.
The exam
- Identify AI concepts and capabilities: 40–45%
- Implement AI solutions by using Microsoft Foundry: 55–60%
- Pass mark: 700 (scaled). Expect scenarios, matching and short Python snippets.
Responsible AI: the six principles
| Principle | Think… |
|---|---|
| Fairness | Equal outcomes for similar people, no bias |
| Reliability and safety | Works consistently, tested on edge cases, monitored |
| Privacy and security | Protect personal data, consent, resist attacks |
| Inclusiveness | Usable by everyone, including people with disabilities |
| Transparency | People know it's AI and understand its limits and decisions |
| Accountability | Humans and governance are responsible |
Generative AI safety in Foundry: content filters / guardrails, prompt shields, system prompts, grounding, evaluations. Process: identify → measure → mitigate → operate.
How generative AI works
- Text → tokens (about 4 characters or ¾ of a word each) → embeddings (meaning as vectors) → transformer with attention → predicts the next token.
- Context window = max tokens per request. Pricing is usually per input and output token.
- Hallucination = confident but wrong output. Fix with grounding / RAG.
- Training: pre-training → fine-tuning → alignment.
- Model types: LLM, SLM (Phi), reasoning, multimodal, image generation (diffusion), embedding.
Choosing and deploying models
- Choose by capability, then quality, cost, latency, context window, region.
- Global Standard: pay per token, any region, the usual default.
- Data Zone: processing stays in a geography (EU or US).
- Regional Standard: processing stays in one region.
- Provisioned (PTU): reserved throughput, predictable latency.
- Batch: asynchronous, lower cost, big jobs.
- Temperature / top_p: randomness (low = focused). Max tokens: length. Reasoning models may use reasoning effort instead of temperature.
Workloads and keywords
| Workload | Keywords |
|---|---|
| Generative AI | draft, write, chat, create content |
| Agentic AI | take actions, call APIs, multi-step tasks |
| Text analysis | sentiment, key phrases, entities, PII, summarise, language |
| Speech | transcribe, captions (recognition); read aloud (synthesis); translate |
| Computer vision | classify (whole image), detect (boxes), segment (pixels), OCR |
| Image generation | create an image from a description |
| Information extraction | invoices, forms, receipts, fields from audio or video |
Prompts
- System prompt: role, scope, rules, tone, format, for the whole conversation.
- User prompt: the specific request.
- Techniques: be specific, add context, delimiters, few-shot examples, ask for a format (JSON), ground in data, say what to do when unsure.
Foundry essentials
- Hierarchy: subscription → Foundry resource → project → deployments, agents, tools.
- Project endpoint:
https://<resource>.services.ai.azure.com/api/projects/<project>. - Portal flow: model catalog → deploy (name + type) → playground → view code.
Code patterns to recognise
Chat with a model
project = AIProjectClient(endpoint=endpoint, credential=DefaultAzureCredential())
openai = project.get_openai_client()
r = openai.responses.create(model="<deployment>", instructions="...", input="...")
print(r.output_text)
Chat with an agent
project.agents.create_version(agent_name="my-agent",
definition=PromptAgentDefinition(model="<deployment>", instructions="..."))
openai = project.get_openai_client(agent_name="my-agent")
conv = openai.conversations.create()
r = openai.responses.create(conversation=conv.id, input="...")
Text analysis: TextAnalyticsClient(endpoint, AzureKeyCredential(key)) → analyze_sentiment, extract_key_phrases, recognize_entities, recognize_pii_entities, detect_language, begin_abstract_summary.
Speech: SpeechConfig(subscription, region) → SpeechRecognizer(...).recognize_once_async().get() / SpeechSynthesizer(...).speak_text_async(text).get(). SSML controls voice, speed and pauses.
Spoken prompt: content part {"type": "input_audio", "input_audio": {"data": <base64>, "format": "wav"}}.
Image in a prompt: content parts input_text + input_image (URL or base64 data URL).
Image generation: openai.images.generate(model="gpt-image-1", prompt="...").
Content Understanding: client.begin_analyze(analyzer_id="prebuilt-invoice", inputs=[...]) → poller → result() → fields with confidence. REST: 202 + Operation-Location, then poll.
Agents
- Agent = model + instructions + tools (+ conversations).
- Tools: file search (your documents), code interpreter (run Python, analyse data), web search (current info), functions / OpenAPI (your APIs), MCP.
- Responsible agents: least privilege, human approval for big actions, guardrails, evaluation.
Commonly confused pairs
- Speech recognition (audio → text) vs speech synthesis (text → audio)
- Image classification (what) vs object detection (what and where)
- Extractive (reuse sentences) vs abstractive (new sentences) summaries
- Fairness (outcomes) vs inclusiveness (access)
- Transparency (explain) vs accountability (who's responsible)
- Provisioned (reserved capacity) vs Standard (pay per token)
- Embedding model (vectors for search) vs chat model (generates text)
Exam-day tips
- Read the last line first. Know what's being asked before reading a long scenario.
- Find the constraint: cheapest, no code, data residency, real time, guaranteed throughput.
- Eliminate obviously wrong answers, then decide between the last two.
- Don't overthink fundamentals questions. The simplest service that meets the need is usually right.
- Flag and move on if you're stuck; come back at the end.
- For online exams, check your room, ID and system (run Microsoft's system test) well before the start time.
Good luck! Once you pass, take a look at the AI courses roadmap for what to learn next.
Check your understanding
Exam-style questions on this lesson. Get them all right to mark the lesson complete.
Finished reading?