Official Exam Details: (AI-103)
AI-103
70%
134 Verified Questions
120 Minutes
Exam Format & Question Types
This certification exam features multiple-choice questions (single and multi-select), interactive Hotspots, Hot Areas, and Drag-and-Drop scenario configurations designed to test real-world technical competency.
AI-103: Designing and Implementing an Azure AI Solution – Master Study Guide
Exam Overview & Profile
The AI-103 certification validates an Azure AI Engineer’s expertise in designing, building, and deploying AI solutions on Microsoft Azure. This role involves working with Azure Cognitive Services, Azure Bot Service, Azure Machine Learning, and knowledge mining to create intelligent applications. Candidates are expected to have a strong understanding of C# or Python, experience with REST APIs, and a solid grasp of core Azure services.
- Target Audience: Azure AI Engineers, Developers, Data Scientists focused on implementing AI solutions.
- Question Count: Typically 40-60 questions, including multiple-choice, drag-and-drop, and scenario-based items.
- Duration: Approximately 120-150 minutes to complete the exam.
- Passing Score Context: A scaled score of 700 out of 1000 is required. This signifies proficiency across all major domains, not just overall correct answers.
Deep-Dive Domain Breakdown
This exam assesses your ability to architect and implement solutions across key AI disciplines using Azure’s powerful suite of services. Focus on both the individual service capabilities and how they integrate into cohesive solutions.
1. Analyze and interpret images and videos
- Azure Computer Vision: Image analysis (tags, descriptions, categories), object detection, OCR (optical character recognition), facial detection (not identification).
- Azure Custom Vision Service: Building custom image classification and object detection models.
- Azure Video Indexer: Extracting insights from videos (speech-to-text, face detection, emotion detection).
2. Apply natural language processing (NLP)
- Azure Text Analytics: Sentiment analysis, key phrase extraction, language detection, named entity recognition (NER).
- Azure Language Understanding (LUIS): Building custom natural language models for intent recognition and entity extraction in conversational AI.
- Azure Speech Services: Speech-to-text, text-to-speech, custom speech models.
- Azure Translator Text: Real-time text translation.
- QnA Maker: Creating a knowledge base from semi-structured content for FAQ bots.
3. Mine knowledge from search
- Azure AI Search (formerly Azure Search): Creating indexes, using indexers, integrating cognitive skills (e.g., from Computer Vision, Text Analytics) for AI enrichment pipelines.
- Azure AI Document Intelligence (formerly Form Recognizer): Extracting data from documents (forms, receipts, invoices) using pre-built and custom models.
4. Create and implement conversational AI solutions
- Azure Bot Service: Hosting and deploying bots, integrating with various channels (Web Chat, Teams, etc.).
- Bot Framework SDK (v4): Developing complex conversational logic, dialog management, integrating LUIS and QnA Maker.
- Direct Line API: Custom channel integration.
5. Implement responsible AI
- Understanding principles of fairness, reliability, privacy, security, inclusiveness, and transparency in AI solutions.
- Mitigating bias in data and models.
High-Yield Exam Tips & Scenario Traps
Mastering architectural decision-making is key. Here are critical points to remember:
- Pre-built vs. Custom: Always prefer pre-built Cognitive Services (e.g., Computer Vision, Text Analytics) if they meet the requirement. Use Custom Vision or LUIS only when specific custom models are absolutely necessary.
- LUIS vs. QnA Maker: Use LUIS for understanding user intent and extracting entities for actions or commands (e.g., “book a flight”). Use QnA Maker for answering specific, factual questions from a defined knowledge base (e.g., “What are your hours?”).
- Azure AI Search & Cognitive Skills: Recognize that Azure AI Search is not just for text search; its cognitive skillsets are crucial for enriching data with AI (e.g., extracting entities from documents before indexing).
- Security: Understand the difference between API keys (for service authentication) and Azure AD integration (for secure access control to resources). Implement least privilege.
- Scalability & Cost: Consider the pricing tiers and throughput limits of services. Architect for scalability by using Azure’s managed services.
- Data Residency & Privacy: Be aware of where data is processed and stored by each service, especially for compliance-sensitive solutions.
- Scenario Traps: Watch out for questions that describe complex machine learning scenarios. AI-103 often tests your ability to leverage existing Azure AI services efficiently, rather than building models from scratch using Azure Machine Learning studio.
Frequently Asked Questions (FAQ)
Q1: How should I structure my AI-103 study plan for maximum effectiveness?
A: A highly effective plan involves three phases: First, deeply engage with Microsoft Learn modules for each core AI service mentioned above. Second, undertake hands-on labs to implement practical solutions – deploy bots, build custom vision models, create LUIS applications, and use Azure AI Search with cognitive skills. Finally, use practice exams to identify knowledge gaps and refine your architectural decision-making under timed conditions. Focus on understanding why a particular service is chosen over others in a given scenario.
Q2: What programming languages and tools are essential for this exam?
A: While the exam tests concepts, practical experience in either Python or C# is highly beneficial, especially for interacting with Azure Cognitive Services APIs and developing with the Bot Framework SDK. You should also be comfortable navigating the Azure portal to configure and manage AI resources, and understand REST API concepts for service integration.
Q3: Are there performance-based labs or just multiple-choice questions on AI-103?
A: Microsoft certification exams can include various question types, ranging from multiple-choice to scenario-based case studies, and potentially performance-based labs where you might need to perform tasks within a simulated Azure environment or review code snippets. It’s crucial to prepare for both theoretical knowledge and practical application, as the ability to implement solutions is a core aspect of the AI Engineer role.
Q4: What’s the best strategy for answering scenario-based questions that involve multiple AI services?
A: For scenario-based questions, dissect the problem by identifying key requirements, constraints (e.g., budget, latency, data type, security), and desired outcomes. Then, map each requirement to the most appropriate Azure AI service. For instance, if the goal is to extract specific commands from user input for a bot, think LUIS. If it’s to answer common questions from a document, think QnA Maker. If it’s to analyze images for specific objects, consider Custom Vision. Always evaluate integration points and potential service dependencies.
Free AI-103 Sample Practice Questions
Test your knowledge with these sample scenario questions complete with verified explanations:
Instructions
This is a case study. Case studies are not timed separately from other exam sections. You can use as much exam time as you would like to complete each case study. However, there might be additional case studies or other exam sections. Manage your time to ensure that you can complete all the exam sections in the time provided. Pay attention to the Exam Progress at the top of the screen so you have sufficient time to complete any exam sections that follow this case study.
To answer the case study questions, you will bed to reference information that is provided in the case. Case studies and associated questions might contain exhibits or other resources that provide more information about the scenario described in the case. Information provided in an individual question does not apply to the other questions in the case study.
A Review Screen will appear at the end of this case study. From the Review Screen, you can review and change your answers before you move to the next exam section. After you leave this case study, you will NOT be able to return to it.
To start the case study –
To display the first question in this case study, select the “Next” button. To the left of the question, a menu provides links to information such as business requirements, the existing environment, and problem statements. Please read through all this information before answering any questions. When you are ready to answer a question, select the “Question” button to return to the question.
Overview –
Company Information –
Contoso, Ltd is a multinational retail company that builds, deploys, and manages generative AI and agent-based solutions by using Microsoft Foundry.
Existing Environment –
Identity Environment –
Contoso uses Microsoft Entra ID for identity management, authentication, and authorization capabilities that enable agents to access organizational resources and services.
Contoso recently formed a new AI engineering team named Agent1Dev Team to optimize and maintain existing AI solutions.
The team collaborates with solution architects, DevOps engineers, and security engineers to design, implement. monitor, and secure AI applications.
Contoso also has a team named Agent1Test Team that is responsible for validating AI solutions before the solution deployments.
Generative Environment –
Contoso has a Microsoft Foundry deployment that contains two projects named Project1 and Project2.
Project1 –
Project1 contains a customer support agent named Agent1 that assists customers with product inquiries and troubleshooting requests.
Agent1 has the following configurations:
Agent1 uses a base model deployment.
A safety evaluation pipeline is NOT enabled.
Tool invocation approval workflows are NOT enabled.
Conversation memory constraints are NOT configured.
Agent1 interacts with customers by using digital support channels and answers general questions about Contoso products.
Project1 is deployed to an Azure region located in the European Union (EU).
Agent1Dev Team will use Project1 to optimize and maintain Agent1.
Project2 –
Project2 contains a deployed video generation model. The marketing department at Contoso has access to Project2 and plans to use the model to develop a video creation solution.
Development of the solution is incomplete.
Data Environment –
Contoso stores product-related information in Azure resources that support AI applications.
The Azure environment contains an Azure Blob Storage account named storage1 that stores product detail sheets for all the Contoso products.
The product sheets include specifications, feature descriptions, and product support information that Agent1 can use to answer customer questions. The product sheets are stored in the PDF format.
Problem Statements –
Contoso identifies the following issues:
Agent1 has only general knowledge of the Contoso products.
A recent chat interaction with Agent1 was analyzed for sentiment. The results of the analysis have NOT been processed yet.
Agent1 does NOT use the detailed product information in the product sheets stored in storage1 when responding to customer questions.
The finance department at Contoso reports that vendor invoices must be reviewed manually to ensure that the invoices match the terms defined in the vendor contracts. The invoices contain tables, logos, and varied layouts that make the documents difficult to process consistently.
Requirements –
Planned Changes –
Contoso plans to implement the following changes:
Implement a solution for Project1 that analyzes the vendor invoices by evaluating both the visual layout and the textual content of the invoices, so that the invoice details can be verified against the vendor contract terms.
Update the base model deployment used by Agent1 and standardize the model version to ensure continuity and consistent responses.
Enable Agent1 to retrieve and use the detailed product information from the product sheets stored in storage1.
Implement an indexing solution for the product sheets that Agent1 can use to answer customer questions.
Complete the development of the video creation solution.
Technical Requirements –
Contoso identifies the following technical requirements:
The model deployment used by Agent1 must support scalable, high-throughput generative AI workloads and dynamically scale to handle variable customer support traffic, without requiring reserved throughput capacity.
The product sheets must be processed by using an indexing pipeline that enables semantic and vector search, so that Agent1 can retrieve the relevant product information.
Responses generated by using the product sheet information must be relevant, complete, and accurate.
Agent1 must be able to use the product sheets to answer natural language questions about product details.
The model version used by Agent1 must remain consistent to ensure stable responses.
The data processed by the model must remain within the EU.
Security and Compliance Requirements
Contoso identifies the following security and compliance requirements:
API keys must NOT be used to access Foundry-deployed models.
Access to the Azure resources must follow the principle of least privilege.
The developers at Contoso must authenticate to Microsoft Foundry resources by using Microsoft Entra authentication.
Access to Project1 must be assigned to the members of Agent1Dev Team by using a security group named SC_Agent1_Dev.
Access to Project1 must be assigned to the members of Agent1Test Team by using a security group named SC_Agent1_Test.
Agent1 must never reveal customer information, even if a document that contains customer data is added erroneously to the product sheet repository in storage1.
The product sheets might contain images that include embedded text. Agent1 must be protected from malicious instructions potentially hidden within the images.
Business Requirements –
Contoso identifies the following business requirements:
Users that interact with Agent1 must have a personalized experience in future interactions, including the ability for Agent1 to retain conversation context and recall relevant information from previous interactions.
Agent1 must answer questions only about the products sold by Contoso.
QUESTION 1 [HOT_AREA]
Scenario: Contoso Ltd.
You need to configure the model deployment for Agent1 to meet the technical requirements.
What should you configure? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Click to View Verified Solution & Explanation
Deployment type: Standard
The technical requirements state that the deployment must dynamically scale without requiring reserved throughput capacity. The Standard deployment type is a pay-as-you-go model that automatically scales to handle variable traffic, fulfilling this requirement. Furthermore, the requirement that all data must remain within the EU is met by a regional Standard deployment, as Project1 is deployed in an EU region. A Global Standard deployment would route traffic to other regions, violating data residency rules.
Version update policy: Opt out of automatic model version upgrades
The case study requires that the model version remains consistent to ensure stable and continuous responses. Selecting Opt out of automatic model version upgrades pins the deployment to the currently selected model version. This prevents unexpected changes in the agent’s behavior and gives the Agent1Dev Team full control over when to update the model, aligning perfectly with the requirement to standardize the version for consistency.
QUESTION 2
Scenario: Contoso Ltd.
You need to configure Agent1 to meet the security and compliance requirements.
What should you use?
- A. self-harm content filtering
- B. prompt shields
- C. Personally identifiable information (PII) Detection
- D. violence content filtering
Click to View Verified Solution & Explanation
Correct Option: C
✅ Option C (Correct)
Reasoning: The primary security and compliance requirement states, "Agent1 must never reveal customer information, even if a document that contains customer data is added erroneously to the product sheet repository in storage1." Personally Identifiable Information (PII) Detection is specifically designed to identify and redact or block sensitive personal data from being revealed in an AI model’s output, directly addressing this critical requirement. While other safety features are important, PII detection is the most direct and effective mechanism for safeguarding customer information in this context.
❌ Why the other choices are incorrect:
- Option A is incorrect: Self-harm content filtering focuses on detecting and mitigating content related to self-harm. It does not address the issue of preventing the revelation of customer information or malicious instructions.
- Option B is incorrect: Prompt shields (or jailbreak prevention) are primarily used to prevent an agent from being manipulated by malicious input prompts to perform unintended actions or reveal confidential information. While it can contribute to overall security, PII detection is a more direct control for preventing the output of sensitive customer data that might be present in retrieved documents.
- Option D is incorrect: Violence content filtering is designed to detect and filter content related to violence. This does not address the specific requirement of protecting customer information or malicious instructions embedded in images.
Reference: https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/content-filtering
General Practice Questions
QUESTION 3
You are planning a Microsoft Foundry project named Project1 that will contain multiple agents. Each agent will access the same Azure AI Search resource.
You need to recommend a solution to centrally manage the Azure AI Search credentials within Project1. The solution must be implemented across all the agents.
What should you recommend?
- A. Enable role-based access control (RBAC) for the Azure AI Search resource.
- B. Disable key-based access control on the Azure AI Search resource.
- C. Add a connection to the Azure AI Search resource.
- D. Create a managed private endpoint that connects to the Azure AI Search resource.
Click to View Verified Solution & Explanation
Correct Option: C
Adding a connection to the Azure AI Search resource within the ‘Microsoft Foundry project’ is the most effective solution for centrally managing credentials. In platforms like Azure AI Studio (which ‘Microsoft Foundry project’ is likely analogous to for AI-103 context), connections serve as project-level resources that encapsulate authentication details (such as API keys or managed identity configurations) for external services. This allows multiple agents within the project to reference a single, centrally managed connection, ensuring consistent and secure access without distributing credentials to individual agents. The connection handles the secure storage and retrieval of these credentials.
While enabling role-based access control (RBAC) is a best practice for secure access, it primarily manages authorization on the Azure AI Search resource itself, not the central management of the credentials within the project artifact that agents would use. A connection can leverage RBAC by using a managed identity. Disabling key-based access control would remove an authentication method but doesn’t provide a central management solution. Creating a managed private endpoint enhances network security but does not address credential management.
Reference: https://learn.microsoft.com/en-us/azure/ai-studio/how-to/create-connections
QUESTION 4 [HOT_AREA]
Your company is piloting a customer support agent in a Microsoft Foundry project name Project1. Project1 is connected to an existing Application Insights resource, and the company’s support team reviews runs in the Traces tab.
The Foundry Agent Service is configured to perform the following actions:
- Retrieve the Application Insights connection string by calling project_client.telemetry.get_application_insights_connection_string().
- Call configure_azure_monitor(connection_string=…) to enable telemetry.
- A separate LangChain service is configured to use OpenTelemetry and has the following configurations:
- Uses AzureAIOpenTelemetryTracer(connection_string=…, enable_content_recording=False)
- Passes the tracer by using config={“callbacks”:[azure_tracer]}
Company policy has the following requirements:
- Telemetry from LangChain and OpenTelemetry must be distinguishable within the same Application Insights resource.
- Secrets and credentials must NOT be stored in prompts, tool arguments, or span attributes.
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Click to View Verified Solution & Explanation
Here are the correct answers for each statement based on Azure Monitor, OpenTelemetry, and LangChain integration principles:
The LangChain service will appear in Traces without configuring a tracer.
Answer: No
Reasoning: LangChain does not natively emit OpenTelemetry traces to Application Insights out-of-the-box. It requires either auto-instrumentation or explicit configuration of a tracer (like the AzureAIOpenTelemetryTracer passed via callbacks mentioned in your scenario) to capture and send spans to Azure Monitor.
Setting different OTEL_SERVICE_NAME values separates the services in Application Insights.
Answer: Yes
Reasoning: In OpenTelemetry, the OTEL_SERVICE_NAME environment variable defines the logical name of the service emitting the telemetry. Application Insights maps this value to the Cloud role name. By giving your Foundry Agent Service and your LangChain service different OTEL_SERVICE_NAME values, they will appear as distinct nodes in the Application Map and can be easily filtered in the Traces tab, satisfying the company policy.
When using enable_content_recording=False, prompts and tool data will be captured in the telemetry.
Answer: No
Reasoning: The enable_content_recording parameter specifically controls whether the payload data (the actual text of the user prompts, LLM completions, and tool inputs/outputs) is logged. Setting it to False disables this feature for privacy and security reasons, meaning only metadata (like latency, token counts, and status codes) will be captured, not the content itself.
QUESTION 5 [DRAG_DROP]
You have a Microsoft Foundry project that processes procurement documents submitted by suppliers.
You need to implement two pipelines by using Azure Content Understanding in Foundry Tools. The solution must meet the following requirements:
Include a pipeline named Pipeline1 that supports cost-effective, high-volume processing of standalone PDF invoices.
Include a pipeline named Pipeline2 that supports cross-document validation by using multi-step reasoning and reference data.
How should you configure each pipeline? To answer, drag the appropriate configurations to the correct pipelines. Each configuration may be used once, more than once, of not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Question Interface:
Click to View Verified Solution & Explanation
The provided solution correctly maps the configurations to the pipeline requirements. Assuming the draggable options are labeled A, B, C, D from top to bottom:
✅ Step 1: Pipeline1 matches with -> Single-file task in standard mode
Reasoning: The requirement is to process ‘standalone PDF invoices’, indicating that each document is handled independently. This directly corresponds to a ‘Single-file task’. The ‘cost-effective’ requirement points to using the ‘standard mode’, which is typically the base-level, lower-cost processing option.
✅ Step 2: Pipeline2 matches with -> Multi-file task in pro mode
Reasoning: This pipeline needs to perform ‘cross-document validation’, which inherently requires processing multiple files together, making a ‘Multi-file task’ necessary. The need for ‘multi-step reasoning and reference data’ signifies a complex workflow that aligns with the advanced capabilities of a ‘pro mode’.
QUESTION 6 [HOT_AREA]
You have a Python application named App1 that integrates with a Microsoft Foundry project named Project1.
You need to ensure that App1 meets the following requirements:
Authenticates by using a Microsoft Entra managed identity
Sends prompts to a deployed model by using the Azure OpenAI Responses API
How should you complete the Python code? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Click to View Verified Solution & Explanation
Box 1: DefaultAzureCredential
The application is required to authenticate using a Microsoft Entra managed identity. The DefaultAzureCredential class from the azure.identity library is the recommended approach for most applications that run on Azure. It automatically chains together multiple credential types, including managed identity, which simplifies authentication across different development and deployment environments.
Box 2: create
To send a prompt to a deployed model and receive a response, the application needs to call the method that generates a completion. In the context of the Azure OpenAI SDK and related client libraries, the create method is used to initiate this action. It sends the request with the specified model and input prompt to the service endpoint.
QUESTION 7 [HOT_AREA]
You have a Microsoft Foundry project that contains a workflow for a customer support triage process.
You have an Ask a question node that stores user responses in a local variable named Var01.
You need to create the following Power Fx expressions:
An if/else condition expression that ensures that Var01 contains a value
A Send message expression that returns the stored user response in uppercase
How should you configure the expressions? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Click to View Verified Solution & Explanation
If/else condition expression:
✅ Not(IsBlank(Local.Var01))
Reasoning: This Power Fx expression is used to verify that the local variable Local.Var01 is not empty. The IsBlank function returns true if the variable is blank (null or an empty string). By using the Not function, the condition is inverted, making the expression evaluate to true only when Local.Var01 contains a value.
Send message expression:
✅ {Upper(Local.Var01)}
Reasoning: This expression correctly returns the user’s response in uppercase. The Upper function in Power Fx converts all characters in a given text string to uppercase. The expression references the local variable Local.Var01 and applies this transformation. The curly braces {} are used to embed and evaluate the Power Fx formula within the message text.
Reference: https://learn.microsoft.com/en-us/microsoft-copilot-studio/authoring-formulas
QUESTION 8 [HOT_AREA]
You have a Microsoft Foundry project that contains a customer support agent built by using the Foundry Agent Service.
The agent uploads user-provided screenshots to Azure Storage through a ticketing tool and receives a blob URL for additional reasoning.
You need to use image moderation during agent runs and prevent harmful content from being returned during runs. Azure AI Content Safety must access the images by using the blob URL. The solution must follow the principle of least privilege.
What should you configure for Content Safety? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Click to View Verified Solution & Explanation
Answer Area Selections:
Here are the correct selections and the reasoning for each.
Guardrails:
✅ Select User input, Output, Tool response, and Tool call and set Action to Block.
Reasoning: To comprehensively prevent harmful content, all stages of the agent’s run must be monitored: user input, tool calls, tool responses, and the final agent output. The requirement to “prevent harmful content from being returned” necessitates the “Block” action, which stops the harmful content from proceeding, unlike “Annotate” which only flags it.
Storage access:
✅ A system-assigned managed identity that is assigned the Storage Blob Data Reader role
Reasoning: This option adheres to the principle of least privilege. Using a system-assigned managed identity is a secure best practice that avoids storing credentials like access keys. The `Storage Blob Data Reader` role grants the Azure AI Content Safety service the exact read-only permission it needs to access and analyze the image from the blob URL, without granting excessive write or delete permissions.
Reference: https://learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/enable-authentication
QUESTION 9
You have a Microsoft Foundry project that contains three agents as shown in the following table.

You need to orchestrate the agents to ensure that the customer requests meet the following requirements:
Support a deterministic, step-based process that uses conditional branching and shared state across the agents.
Optionally trigger a ticket action based on the triage result.
The solution must minimize development effort.
What should you include in the solution?
- A. a workflow
- B. threads and runs without a workflow
- C. a multi-agent group chat session
- D. separate agent runs coordinated in the application code
Click to View Verified Solution & Explanation
Correct Option: A
Reference: https://learn.microsoft.com/en-us/azure/ai-studio/how-to/create-manage-workflow
QUESTION 10
You have a Microsoft Foundry project that contains an agent. The agent uses Azure Speech in Foundry Tools.
You fine-tune a baseline speech to text model for the en-us locale and publish the model.
The agent calls the Speech to text REST API and returns an error message indicating that the project ID is invalid.
You need to set the project property to the correct ID.
To what should you set the project property?
- A. the project URL
- B. the custom speech project ID
- C. the project ID
- D. the custom speech endpoint URL
Click to View Verified Solution & Explanation
Correct Option: B
✅ Option B (Correct)
Reasoning: When fine-tuning a speech-to-text model in Azure, the model is associated with a specific Custom Speech project. The error message "project ID is invalid" returned by the Speech-to-text REST API indicates that the API call requires the unique identifier of this Custom Speech project to correctly locate and utilize the fine-tuned model. Therefore, setting the project property to the custom speech project ID is the correct solution.
❌ Why the other choices are incorrect:
- Option A is incorrect: A project URL is typically a human-readable link and not the specific ID expected by a REST API for identifying a resource.
- Option C is incorrect: While "project ID" sounds similar, "custom speech project ID" (Option B) is more precise and contextually accurate given the scenario involves fine-tuning a speech model, which is managed within Azure’s Custom Speech service.
- Option D is incorrect: The custom speech endpoint URL is the base address for the API service itself, not a parameter used to identify a specific project or model within the service.
Reference: https://learn.microsoft.com/en-us/azure/ai-services/speech-service/custom-speech-overview
QUESTION 11 [HOT_AREA]
You have a Microsoft Foundry project that contains an agent named PaymentAgent.
PaymentAgent includes a function tool that issues customer refunds by using an external API.
You are creating a workflow in YAML.
You need to ensure that the workflow pauses for human approval and continues with the refund step only after approval is granted.
How should you complete the workflow definition? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Click to View Verified Solution & Explanation
✅ ask_question
Reasoning: The workflow must pause to get human approval. The ask_question step type is specifically designed for this function. It halts execution, prompts a user for input, and captures the response, which is the required behavior for an approval gate.
✅ approval == “approved”
Reasoning: The execute_refund step must only run if approval is explicitly granted. The condition property controls this logic. This expression correctly references the output from the step with id: approval and checks if the user’s response was the specific string “approved”.
QUESTION 12
You have an Azure Speech in Foundry Tools resource that hosts a custom speech to text model deployed to a custom endpoint. An agent uses the endpoint to perform real-time speech recognition.
You are approaching the expiration date of the custom speech to text model.
What is the expected behavior when the model expires?
- A. Speech recognition requests will return a 4xx error until a new custom model is deployed.
- B. Speech recognition requests will continue to use the expired custom model until the model is removed manually.
- C. Speech recognition requests will fall back to the most recent base model for the same locale.
- D. The custom model will be deleted automatically when the model expires.
Click to View Verified Solution & Explanation
Correct Option: C
The correct answer is C. Speech recognition requests will fall back to the most recent base model for the same locale.
Why this happens:
According to Microsoft’s custom speech model lifecycle policies, when a custom model reaches its expiration date, it is retired and is no longer available for transcription. However, to prevent outages in real-time applications, any custom endpoint running the expired model will automatically fall back to using the most recent base model for that specific locale.
While the application will continue to transcribe speech without throwing errors or dropping the connection, you will lose the domain-specific accuracy improvements of your custom model until you train and deploy a new one.
QUESTION 13
You have a Microsoft Foundry project that contains a model deployment.
You have an application that calls the deployment by using the Azure OpenAI v1 API and DefaultAzureCredential.
The developers at your company receive HTTP 403 errors when they send inference requests, even after running az login.
You need to ensure that the developers can perform model inference. The solution must follow the principle of least privilege.
Which role-based access control (RBAC) role should you assign to the developers?
- A. Cognitive Services User
- B. Cognitive Services OpenAI User
- C. Contributor
- D. Cognitive Services Data Reader
Click to View Verified Solution & Explanation
Correct Option: B
✅ Option B (Correct)
The Cognitive Services OpenAI User role provides the necessary permissions for performing data actions like sending prompt requests to an Azure OpenAI service, which is required for model inference. This role adheres to the principle of least privilege, as it grants access specifically for using the deployed models without providing broader management or administrative capabilities.
❌ Why the other choices are incorrect:
- Option A is incorrect: The ‘Cognitive Services User’ role is a more general role for Azure Cognitive Services. While it might provide some access, the ‘Cognitive Services OpenAI User’ role is specifically designed for Azure OpenAI resources and their data plane operations, making it the more precise and least privileged choice for this scenario.
- Option C is incorrect: The ‘Contributor’ role provides full management access to all resources within a resource group, but it typically does not grant data plane access by default for Cognitive Services, and it severely violates the principle of least privilege for simple model inference.
- Option D is incorrect: The ‘Cognitive Services Data Reader’ role typically grants permission to read data and metadata, but it is not sufficient for performing interactive inference requests to a model deployment. The ‘User’ role is generally required for active data plane operations like inference.
Reference: https://learn.microsoft.com/en-us/azure/cognitive-services/openai/how-to/role-based-access-control
QUESTION 14
You have a Microsoft Foundry project that contains an agent. The agent has a Model Context Protocol (MCP) tool that queries a knowledge base stored in Azure AI Search.
Some agent runs return answers from the base model without invoking the knowledge base, which results in responses without grounded citations.
You are provided with the following code snippet that runs the agent.

You need to add the correct tool _choice parameter to the code to deterministically force the agent to invoke the MCP tool on each run.
What should you add?
- A. tool_choice={“required”}
- B. tool_choice={“auto”}
- C. tool_choice={“type”:“knowledge_base”}
- D. tool_choice ={“type”:“mcp”}
Click to View Verified Solution & Explanation
Correct Option: D
tool_choice parameter in agent run configurations controls how the agent selects tools.
- Option A (
tool_choice={“required”}): This option, if syntactically valid (often it’stool_choice="required"as a string ortool_choice={"type": "required"}), would force the agent to call *a* tool if one is available. However, it does not guarantee that the *specific* MCP tool will be chosen, especially if other tools exist. - Option B (
tool_choice={“auto”}): This is typically the default behavior, where the agent autonomously decides whether to invoke a tool. The problem states this leads to inconsistent tool invocation, so it is incorrect. - Option C (
tool_choice={“type”:“knowledge_base”}): While the MCP tool queries a knowledge base, ‘knowledge_base’ is a descriptive category, not necessarily the specific ‘type’ identifier for the MCP tool within the agent framework. - Option D (
tool_choice ={"type”:“mcp”}): The question explicitly refers to a ‘Model Context Protocol (MCP) tool’. This strongly suggests that ‘mcp’ is the recognized type or identifier for this specific tool. By settingtool_choice ={"type”:“mcp”}, you are directly instructing the agent to invoke the tool identified as ‘mcp’, ensuring deterministic invocation of the desired knowledge base tool. This aligns with standard practices for forcing specific tool use in large language model applications.
Forcing a specific tool usually involves identifying it by its name or type in the tool_choice parameter. Given the options, ‘mcp’ is the most precise identifier for the ‘MCP tool’.
QUESTION 15 [DRAG_DROP]
You have a Microsoft Foundry project that contains a customer support agent grounded in internal documentation.
After a recent update, users report the following issues:
Some answers are unsupported by retrieved documents.
A small number of responses are flagged for policy violations.
You need to evaluate each issue.
Which observability signals should you use for each issue? To answer, drag the appropriate observability signals to the correct issues. Each observability signal may be used once, more than once, or not at all. You may need to drag the spit bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Question Interface:
Click to View Verified Solution & Explanation
Correct Mappings:
✅ **Step 1: Groundedness evaluation metrics** matches with -> **Unsupported responses**
Reasoning: The issue described is that answers are not supported by the retrieved documents. Groundedness evaluation metrics are designed specifically to measure how well a generated response is factually supported by the provided source information. A low groundedness score directly indicates an unsupported response or hallucination.
✅ **Step 2: Risk and safety metrics** matches with -> **Policy violations**
Reasoning: The issue is responses being flagged for policy violations. Risk and safety metrics, such as those provided by Azure AI Content Safety, are used to detect and quantify harmful content related to hate, violence, sexual content, and self-harm. These metrics directly identify responses that violate safety policies.
Incorrect Mappings:
- Latency breakdown traces: This signal is used to diagnose performance bottlenecks and measure the speed of the application, not the quality or safety of the content.
- Token usage analytics: This signal tracks the number of tokens processed, which is relevant for cost management and monitoring usage limits, but not for evaluating the content of the responses.
Reference: https://learn.microsoft.com/en-us/azure/ai-studio/how-to/evaluate-monitor-models-and-prompts
QUESTION 16
You have a Microsoft Foundry project named Project1 that contains an agent. The agent uses an OpenAPI 3.0 specification to call an external weather service.
The weather service requires a key to be passed in an HTTP header. The key value is stored as a connection in Project1.
You need to ensure that the key value from the connection is included automatically whenever the OpenAPI tool is invoked.
What should you configure in the OpenAPI specification?
- A. a header parameter defined for each operation
- B. an Azure Key Vault connection
- C. an API key security scheme
- D. a Bearer token security scheme
Click to View Verified Solution & Explanation
Correct Option: C
An API key security scheme in an OpenAPI 3.0 specification is the standard and most appropriate way to define how an API key, stored externally (like in a connection), should be passed to an API. You would define a security scheme of type apiKey, specify its in property as header, and provide the name of the HTTP header where the key should be sent (e.g., X-API-KEY). When an OpenAPI-enabled tool or platform (like Azure AI Studio’s agent framework) consumes this specification, it can then map the defined security scheme to a connection containing the key value, ensuring the key is automatically included in the HTTP header for all relevant API calls. This directly addresses the requirement for automatic inclusion from a connection.
Reference: https://swagger.io/docs/specification/authentication/api-keys/
QUESTION 17
You have a Microsoft Foundry project that serves a high-volume chat app.
Most requests are simple FAQs, but some require advanced reasoning.
You need to reduce costs and latency for common queries, without degrading the quality of the responses to complex questions.
What should you do?
- A. Route all the requests to a smaller model.
- B. Use a model cascade that routes the requests to different models.
- C. Increase the value of the max_tokens parameter for all the requests.
- D. Route all the requests to the most capable model.
Click to View Verified Solution & Explanation
Correct Option: B
Why the other choices are incorrect:
- A: Route all the requests to a smaller model. This would likely degrade the quality of responses for complex questions, which contradicts a key requirement.
- C: Increase the value of the max_tokens parameter for all the requests. Increasing
max_tokensfor all requests, especially simple ones, would increase computational cost and latency, not reduce them. - D: Route all the requests to the most capable model. This would significantly increase costs and latency for simple, common queries, as the most capable models are generally the most expensive and slowest to operate.
QUESTION 18 [HOT_AREA]
You have a Microsoft Foundry project that contains an internal Q&A agent.
Users report the following issues when they ask the agent questions:
An increase in the following response: “No relevant information found”
Periodic HTTP 429 rate limit exceeded errors during peak hours
You need to identify whether each issue is caused by model unavailability, resource limits, or inference failures.
What should you do? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Click to View Verified Solution & Explanation
Metrics to enable: Model Availability Rate and Provisioned Utilization
Diagnostic log to collect: AllMetrics
This setup gives full visibility into model health and resource utilization, enabling precise diagnosis of both availability and rate‑limit issues in your Microsoft Foundry Q&A agent.
QUESTION 19
You have a Microsoft Foundry project that contains a high-traffic agent.
After a recent update, operational costs increase significantly.
Monitoring confirms that the volume of user traffic to the agent remains unchanged.
You suspect that changes to the request or response characteristics are causing the increase. You need to identify whether the additional costs are driven by the model input size, the model output size, or expanded tool usage.
Which observability capability should you use?
- A. latency
- B. evaluation metrics
- C. run success rate
- D. token usage
Click to View Verified Solution & Explanation
Correct Option: D
✅ Option D (Correct)
Reasoning: Operational costs for AI agents, especially those leveraging large language models (LLMs) and tools, are primarily driven by token consumption (input and output) and the number of tool invocations. If user traffic volume remains unchanged but costs increase, it strongly suggests that the per-request cost has risen. Monitoring token usage directly provides insights into the size of model inputs and outputs. An increase in input tokens (larger user prompts), output tokens (more verbose model responses), or the number of tool calls (which often consume tokens or are metered separately but correlated) would directly explain the elevated operational costs without a change in request volume.
❌ Why the other choices are incorrect:
- Option A is incorrect: Latency measures the time taken for requests to be processed. While increased complexity (leading to higher token usage or more tool calls) could increase latency, latency itself does not directly quantify the cost drivers like token count or tool usage. It’s a symptom, not the root cause for cost identification.
- Option B is incorrect: Evaluation metrics (e.g., accuracy, relevance, coherence) assess the quality and performance of the agent’s responses. They are crucial for model improvement but do not directly indicate the cost components related to token consumption or tool usage.
- Option C is incorrect: Run success rate indicates the proportion of requests that complete successfully. While a decrease might indicate issues that could indirectly impact cost (e.g., retries), it doesn’t explain an increase in cost for successful runs due to changes in input/output size or tool usage when traffic volume is stable.
Reference: https://learn.microsoft.com/azure/ai-studio/concepts/cost-management-for-foundry
QUESTION 20 [HOT_AREA]
You have a Microsoft Foundry project that contains an agent.
The agent uses tools to retrieve internal content and call external APIs. The agent is configured to let the model decide when to call the tools.
You need to publish the agent for a compliance workflow. The solution must meet the following requirements:
Each workflow run must include a retrieval step before generating a response.
Tool calls must authenticate by using the published agent’s own identity.
Tool access must use an identity isolated from other project resources.
Tool access must use support audit tracing.
What should you do? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Click to View Verified Solution & Explanation
Set tool_choice to: ✅ required
Reasoning: The compliance workflow requires that a retrieval step is included in every run. Setting the `tool_choice` parameter to ‘required’ forces the model to call one of the available tools. This satisfies the requirement that the retrieval tool must be used, rather than leaving the decision to the model’s discretion (‘auto’).
Configure the tool to authenticate by: ✅ Using a distinct agent identity bound to the client application
Reasoning: The requirements for the agent to use its own identity, be isolated, and support auditing point to using a dedicated security principal. A distinct agent identity (such as a Managed Identity) provides this isolation, allows for granular permission scoping, and ensures that all API calls made by the tool can be traced back to the specific agent for auditing purposes.
Reference: https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/function-calling
Need the Full Exam Simulator?
Practice the complete question bank in a realistic, timed environment with advanced tracking.


