CertGrid
Microsoft Certification

AI-103: Developing AI Apps and Agents on Azure Practice Exam

Validates building, managing, and deploying generative AI and agent solutions on Microsoft Foundry - Azure AI solutions, generative AI and agentic apps, vision, and text analysis. The active replacement for the retired AI-102.

Start with a free AI-103 practice test, then work through 814 exam-style questions with full answer explanations, and take timed mock exams to track your readiness against the exam objectives.

814
Practice pool
40-60 qs
Real exam (typical)
120 min
Real exam time
700 / 1000
Passing score

CertGrid runs a fixed 50-question timed mock, separate from the real exam format above.

Objective-mapped practice, aligned to current exam objectives · Reviewed Aug 2026 · Independent practice platform.

What the AI-103 exam covers

Free AI-103 practice test questions

A sample of 10 questions with answers and explanations. Sign up free to practice all 814.

  1. Question 1Plan and manage an Azure AI solution

    You are building a Python agent in Microsoft Foundry that must extract structured fields from scanned invoices, then summarize the extracted totals in fluent prose. Which combination of models BEST fits this pipeline?

    • AA small language model for extraction and an LLM for the summary
    • BDocument Intelligence for extraction and an LLM for the summaryCorrect
    • CA multimodal LLM for both extraction and summary
    • DAn embedding model for extraction and an LLM for the summary
    ✓ Correct answer: B

    Scanned invoices are semi-structured documents where Azure AI Document Intelligence prebuilt invoice models reliably return typed fields such as InvoiceTotal with high accuracy and low cost. Passing those fields to an LLM produces the fluent narrative, so each task uses the tool built for it.

    Why the other options are wrong
    • AA small language model is text-only and cannot read a scanned image, so it cannot perform the extraction step.
    • CA single multimodal LLM can read images but is far less accurate and more costly for high-volume structured field extraction than Document Intelligence.
    • DEmbedding models produce vectors for similarity search, not structured field values, so they cannot extract invoice fields.
  2. Question 2Plan and manage an Azure AI solution

    You must ensure that images uploaded to your multimodal assistant are screened for harmful visual content before the model processes them. Which Azure AI Content Safety API should you call?

    • AThe Analyze Image moderation APICorrect
    • BThe Analyze Text moderation API
    • CThe Prompt Shields text API
    • DThe groundedness detection API
    ✓ Correct answer: A

    Azure AI Content Safety provides an image moderation API that classifies an image for hate, sexual, violence, and self-harm severity. Calling it on uploads screens visual content before it reaches the model. The call takes the image itself, returns a severity level per harm category, and your application decides the threshold at which an upload is rejected, so screening happens before the image is ever passed to the multimodal deployment.

    Why the other options are wrong
    • BThe text moderation API scores text, not image content.
    • CPrompt Shields analyze text prompts for injection, not images for harmful visuals.
    • DGroundedness detection evaluates factual support of text answers, not image safety.
  3. Question 3Implement generative AI and agentic solutions

    In a human-in-the-loop design, a reviewer approves a pending tool call in an external ticketing UI, not in the agent runtime. What must your integration do so the paused Foundry run resumes correctly?

    • ASubmit the decision as the tool-output response for the paused runCorrect
    • BRecreate the agent with a new definition that omits the approval
    • CSend the reviewer's identity token to the model as a user message
    • DRestart the Foundry project so the run picks up the approval
    ✓ Correct answer: A

    The run stays paused in requires_action until your integration submits the corresponding tool outputs; capturing the reviewer's decision in the ticketing UI and posting it as the tool-output response resumes the run. Recreating the agent, sending an identity token as a user message, or restarting the project do not deliver the awaited tool-output response.

    Why the other options are wrong
    • BRecreating the agent without approval abandons the paused run and defeats the safeguard.
    • CAn identity token as a user message is not the tool-output response the run is waiting for.
    • DRestarting the project does not supply the pending tool outputs the run requires to continue.
  4. Question 4Implement text analysis solutions

    A bank needs to extract, from unstructured loan notes, a fixed set of domain fields (borrower risk band, collateral type, decision) and to reject any note whose text cannot support a confident answer. What is the BEST way to have the model signal low confidence in its structured output?

    • AInclude a confidence or 'unknown' value in the schema for each fieldCorrect
    • BRely on the model to omit fields it is unsure about
    • CLower the temperature to zero and assume all answers are certain
    • DTranslate the note to English to boost accuracy
    ✓ Correct answer: A

    Adding an explicit confidence indicator or an 'unknown' allowed value to each schema field lets the model report uncertainty in a structured, machine-readable way your code can act on to reject the note. This keeps low-confidence handling deterministic. It is the recommended design for gated extraction pipelines.

    Why the other options are wrong
    • BRelying on the model to omit uncertain fields is ambiguous because a missing field cannot be distinguished from a parsing gap.
    • CLowering temperature to zero reduces randomness but does not make every extracted value correct or signal uncertainty.
    • DTranslating an already-English note adds no accuracy and provides no mechanism to flag low confidence.
  5. Question 5Plan and manage an Azure AI solution

    You must select a model from the Foundry model catalog for an on-premises edge appliance with limited GPU memory and no reliable internet, where responses must be generated locally. Which selection best fits these constraints?

    • AA small open-weight model deployable to the edgeCorrect
    • BA frontier Azure OpenAI model via its cloud endpoint
    • CA very-large-context proprietary model
    • DA multimodal cloud model with a REST API
    ✓ Correct answer: A

    The appliance has no reliable connectivity and constrained GPU memory, so you need a model whose weights you can deploy and run on-device; a small open-weight model from the catalog fits both the footprint and the offline requirement. Cloud-hosted proprietary endpoints cannot serve an isolated edge box.

    Why the other options are wrong
    • BA frontier model behind a cloud endpoint cannot be reached from an offline appliance.
    • CA very-large-context proprietary model exceeds the limited GPU memory and is cloud-hosted.
    • DA multimodal cloud REST model still depends on the internet the appliance lacks.
  6. Question 6Plan and manage an Azure AI solution

    A developer needs to call chat completions and list the model deployments on one Azure OpenAI resource, but must never be able to read or regenerate the account keys and must not be able to change the resource. Following least privilege, which Azure RBAC role should you assign at that resource?

    • ACognitive Services OpenAI UserCorrect
    • BCognitive Services Contributor
    • CAzure AI Developer
    • DReader
    ✓ Correct answer: A

    Cognitive Services OpenAI User is documented as letting you view Azure OpenAI resources and use them for inference and content generation. In practice that means viewing the resource and its model deployments and making inference API calls with Microsoft Entra ID, while being unable to view, copy or regenerate the keys under Keys and Endpoint and unable to create or edit deployments. That last part is what the requirement turns on. Cognitive Services User is the role usually reached for first, but Microsoft describes it as letting you read and list keys of Cognitive Services and its definition carries the Microsoft.CognitiveServices/accounts/listkeys/action permission, so assigning it would hand the developer exactly the keys the requirement rules out. Scope matters as much as the name here: these roles apply to an Azure OpenAI or AI Services resource, and Microsoft's Foundry guidance says not to assign built-in roles beginning with Cognitive Services in Foundry scenarios, directing Foundry project access to Foundry User or Foundry Owner instead. Takeaway: when a requirement names key access specifically, compare the candidate roles on listKeys rather than on how broad they sound.

    Why the other options are wrong
    • BCognitive Services Contributor can manage the resource and reach the keys, which exceeds the privileges this developer is allowed to hold.
    • CAzure AI Developer is scoped to Azure Machine Learning workspaces and Foundry hubs rather than to an Azure OpenAI resource, and it grants far more than the inference-and-read access described here.
    • DReader cannot call the inference data plane, so the developer could not run chat completions.
  7. Question 7Implement generative AI and agentic solutions

    While streaming a gpt-4o response that uses function calling, your handler tries to parse each chunk's tool call arguments as JSON and crashes early in the stream. Why do the streamed tool_call argument fragments fail to parse individually, and what should the handler do?

    • AArguments stream as partial fragments; concatenate them and parse once the call is completeCorrect
    • BEach chunk holds a complete JSON object, so the crash means the schema is wrong and must be simplified
    • CStreaming does not support tool calls at all, so you must disable stream whenever tools are present
    • DThe first chunk holds the full arguments, so you can safely ignore every later chunk for that call
    ✓ Correct answer: A

    When streaming, tool call arguments arrive incrementally as string pieces in successive delta.tool_calls fragments, so any single fragment is usually invalid JSON. The handler must accumulate the fragments keyed by the tool call index or id and parse only after the call finishes. Parsing mid-stream is the cause of the crash.

    Why the other options are wrong
    • BChunks carry partial argument strings, not complete objects, so the failure is not a schema problem.
    • CStreaming fully supports tool calls; disabling it is unnecessary and removes the progressive behavior.
    • DArguments are split across many chunks, so relying on only the first chunk loses most of the payload.
  8. Question 8Implement generative AI and agentic solutions

    Your agent must answer over 2 million archived legal documents with strict relevance and citation requirements, far beyond what a simple uploaded-file store handles well. Which knowledge integration is the MOST appropriate for this scale?

    • AThe Azure AI Search tool backed by a dedicated, capacity-sized search indexCorrect
    • BThe file search tool with all documents uploaded to one vector store
    • CThe Code Interpreter tool loading documents per request
    • DThe Bing grounding tool over a public legal database
    ✓ Correct answer: A

    At millions of documents you need a dedicated Azure AI Search service sized for the corpus, with hybrid and semantic ranking for relevance and reliable citation fields. The Azure AI Search tool connects the agent to that scalable index. This is the enterprise-scale grounding pattern.

    Why the other options are wrong
    • BThe file search vector store is intended for smaller, bounded document sets and is not sized for millions of legal documents.
    • CLoading documents per request in Code Interpreter cannot provide indexed retrieval at that scale.
    • DBing grounding targets public web content and cannot search a private legal archive.
  9. Question 9Implement computer vision solutions

    You are enforcing a strict image budget for a multimodal call because token cost scales with visual detail. A photo needs only a broad scene-level answer, not fine print. Which setting keeps cost lowest while still answering the coarse question?

    • AUse the low detail setting on the image content partCorrect
    • BUse the high detail setting to be safe
    • COmit the detail setting so the model always uses the maximum tiles
    • DSend the image twice at low detail to average the tokens
    ✓ Correct answer: A

    Low detail processes the image as a single downscaled representation, consuming far fewer image tokens than high detail, which is ideal when only a coarse scene-level answer is needed. This directly minimizes the visual token cost. Choosing detail to match the required granularity is the intended cost control.

    Why the other options are wrong
    • BHigh detail splits the image into many tiles and consumes the most tokens, the opposite of the budget goal.
    • COmitting detail does not force minimum tiles; auto behavior can escalate to high for large images, increasing cost.
    • DSending the image twice doubles token usage rather than reducing it and provides no averaging benefit.
  10. Question 10Implement text analysis solutions

    A live captioning agent must show partial words on screen as the speaker talks and then correct them when the phrase finalizes. In the Python Speech SDK, which event stream should you render to achieve the low-latency partial captions?

    • AThe recognizing event, which fires with intermediate hypothesesCorrect
    • BThe recognized event, which fires only on final results
    • CThe session stopped event
    • DThe canceled event on error
    ✓ Correct answer: A

    The recognizing event delivers intermediate, still-changing hypotheses as the speaker talks, which is what live captions display before a phrase is final. Rendering these gives the low-latency partial text the scenario needs. The recognized event then supplies the corrected final result.

    Why the other options are wrong
    • BThe recognized event fires only when a phrase is final, so relying on it alone loses the live partial captions.
    • CThe session stopped event signals the end of a recognition session, not incremental transcript text.
    • DThe canceled event indicates an error or cancellation and carries no ongoing caption content.

Who this AI-103 practice exam is for

This practice set is for anyone preparing for the AI-103: Developing AI Apps and Agents on Azure exam - from first-time candidates building a foundation to experienced Microsoft practitioners doing a final review before test day. If you learn best by working through realistic questions and reading why each answer is right or wrong, it is built for you.

How to use this AI-103 practice exam

  1. Start with the free sample questions above to gauge your current baseline.
  2. Read the full explanation on every question, including why each wrong option is wrong.
  3. Track your weak domains and focus your study where you are losing the most marks.
  4. Once you are scoring consistently well, take a timed, full-length mock exam.
  5. Use your readiness score to decide when you are ready to book the real AI-103 exam.

Related Microsoft resources

AI-103 practice exam FAQ

How many questions are in the AI-103 practice exam on CertGrid?

CertGrid has 814 practice questions for AI-103: Developing AI Apps and Agents on Azure, covering 5 exam domains. The real AI-103 exam runs 120 min, typically with 40-60 questions. Microsoft publishes 40-60 questions as a typical range across its exams and states the number varies by exam; it does not publish a count for this one. CertGrid's timed mock is a fixed 50 questions.

What is the passing score for AI-103?

Microsoft reports AI-103 on a scaled score from 1 to 1000 with 700 to pass, and that scale is set statistically rather than as a straight percentage of the questions you answer correctly. CertGrid grades this mock as a plain percentage against its own 700 threshold, so treat your score as a readiness signal rather than a prediction of the scaled score Microsoft would report. You have about 120 min to complete it. CertGrid tracks your readiness against the exam objectives so you know where to focus.

Are these official AI-103 exam questions?

No. CertGrid is an independent practice platform. We do not provide real or leaked exam questions. Our questions are original and designed to help you practice the concepts, scenarios, and difficulty style of the AI-103: Developing AI Apps and Agents on Azure exam.

Is there a free AI-103 practice test?

Yes. You can take a free AI-103: Developing AI Apps and Agents on Azure practice test straight away: a fixed set of 20 practice questions for this exam, retryable as often as you like, with no credit card required. You get readiness scoring and a weak-domain breakdown on those questions. Paid plans unlock the full 814-question bank, timed mock exams and full-bank domain analytics.

What CertGrid is (and is not)

CertGrid is an independent IT certification practice platform for Azure, AWS, Google, Cisco, Security, Linux, Kubernetes, Terraform, and other certification tracks. It provides objective-mapped practice questions, readiness scoring, weak-domain drills, and explanations to help learners understand what to study next.

Independent & original. CertGrid is an independent practice platform and is not affiliated with or endorsed by Microsoft. Questions are original practice items designed to mirror certification concepts and exam style. CertGrid does not provide official exam questions or braindumps.