AI-901: Generative AI Apps & Agents (Foundry)
Generative AI Apps & Agents (Foundry) is one of the skill areas tested on the Azure AI Fundamentals (Foundry refresh) (AI-901) exam. Below are free AI-901 practice questions with worked answers and a concept diagram — each with a plain-language explanation. Practice the first 10 questions of AI-901 free, no signup.
The concept, in one picture
2 free AI-901 Generative AI Apps & Agents (Foundry) questions
For each of the following statements, select Yes if the statement is true. Otherwise, select No. NOTE: Each correct selection is worth one point.
- In Microsoft Foundry Agent Service, a tool_choice value of auto lets the agent decide on its own whether to invoke a tool.Yes
- In Microsoft Foundry Agent Service, a tool_choice value of none still allows the model to choose whether to invoke a tool.No
- In Microsoft Foundry Agent Service, a tool_choice value of required forces the agent to invoke at least one tool on every run.Yes
The tool_choice setting in Microsoft Foundry Agent Service determines whether and how an agent calls tools. With auto, the agent or model decides for itself whether to call a tool, so statement 1 is true. With none, the model is blocked from calling any tool rather than left to choose, so statement 2 is false. With required, the agent is compelled to call at least one tool on each run, so statement 3 is true.
You are building an app that pulls fields out of PDFs with Azure Content Understanding in Foundry Tools. Using the Python SDK, you must submit a PDF for analysis and then obtain the extracted results. What should you do?
- Send the PDF to an analyzer and read the output from the HTTP response headers.
- ✓ Invoke begin_analyze() and then call poller.result() to obtain the results.
- Run OCR to pull text from the PDF and hand-map the fields in your own code.
- Invoke analyze() to get all extracted fields back synchronously in the same call.
In the Python SDK, Azure Content Understanding analysis is a long-running operation. Calling begin_analyze() starts the operation and returns a poller (an LROPoller), and calling poller.result() waits for and returns the extracted results, so that is the correct workflow. Results are not read from HTTP response headers; the task calls for Azure Content Understanding rather than a hand-built OCR mapping pipeline; and the SDK follows an asynchronous long-running pattern, not a single synchronous analyze() call that returns everything at once.
Practice AI-901 free
The first 10 questions of every exam are free. No signup, no email wall.
Start practicing →Get a free AI-901 study plan by email
A short plan to work through AI-901 by skill area, plus a note when we add new questions. Optional — the practice above stays free. No spam, unsubscribe anytime.