AI-901 Text and speech solutions practice questions

12 sample questions with full explanations. Try each one before you open the answer. New to this area? Read the Text and speech solutions study guide first.

  1. Question 1

    An automated support pipeline must identify the language of every incoming ticket and return the result in the same structured format every time, so later steps never break. Which option fits best?

    • A Prompt a general-purpose chat model to name the language of each ticket
    • B Azure Speech in Foundry Tools
    • C Language detection in Azure Language in Foundry Tools
    • D The prebuilt-invoice analyzer in Azure Content Understanding
    Show answer and explanation

    Answer: C

    Azure Language has purpose-built analyzers that return structured, deterministic output, which suits automated pipelines where consistent results matter. Its language detection returns the language and a confidence score for each text.

    • A: A chat model can usually name the language, but its output depends on the prompt and can vary between calls, which is risky for an automated pipeline.
    • B: Azure Speech works with spoken audio. The tickets are text.
    • D: The invoice analyzer extracts fields from invoices. It isn't built for language detection.

    Source: Understand text analysis in Foundry (Get started with text analysis in Azure) (Microsoft Learn)

  2. Question 2

    You're writing a Python app that calls Azure Language in Foundry Tools to detect languages and personal information in text. Which client do you create?

    • A An OpenAI client that calls the Responses API
    • B A TextAnalyticsClient from the azure-ai-textanalytics package
    • C A SpeechRecognizer from the Azure Speech SDK
    • D A ContentUnderstandingClient
    Show answer and explanation

    Answer: B

    The Azure Language SDK for Python is the azure-ai-textanalytics package. You create a TextAnalyticsClient with your Foundry resource endpoint and a credential, then call methods such as detect_language and recognize_pii_entities.

    • A: An OpenAI client calls generative models. It doesn't call Azure Language's purpose-built analyzers.
    • C: A SpeechRecognizer converts spoken audio to text. It doesn't analyze text.
    • D: A ContentUnderstandingClient runs Content Understanding analyzers on documents, images, audio and video.

    Source: Create a client application that analyzes text (Get started with text analysis in Azure) (Microsoft Learn)

  3. Question 3

    Your Python app uses the Azure Language SDK. It must return a version of each customer message with names, phone numbers and email addresses masked, plus a list of what was found. Which method should it call?

    • A detect_language()
    • B analyze_sentiment()
    • C extract_key_phrases()
    • D recognize_pii_entities()
    Show answer and explanation

    Answer: D

    recognize_pii_entities() finds personal details in text and returns both the redacted text and a list of the entities it found, with each entity's category and confidence score.

    • A: detect_language() returns the language of each text. It doesn't find or mask personal details.
    • B: analyze_sentiment() rates text as positive, negative or neutral.
    • C: extract_key_phrases() returns the main talking points, not personal details, and it doesn't redact anything.

    Source: Create a client application that analyzes text (Get started with text analysis in Azure) (Microsoft Learn)

  4. Question 4

    Your app calls detect_language() in the Azure Language SDK. For each statement, choose Yes if it is true or No if it is false.

    • The method takes a list of text strings, so you can analyze several texts in one call.
    • Each result includes the detected language, its ISO 639-1 code and a confidence score between 0 and 1.
    • Because the result is generated probabilistically, the same text may get a different answer on every call.
    Show answer and explanation
    The method takes a list of text strings, so you can analyze several texts in one call.Yes
    Each result includes the detected language, its ISO 639-1 code and a confidence score between 0 and 1.Yes
    Because the result is generated probabilistically, the same text may get a different answer on every call.No

    detect_language() accepts a list of strings and returns the language, its ISO 639-1 code and a confidence score for each one. Azure Language analyzers return deterministic, structured output; variation between calls is a trait of generative models, not of these analyzers.

    Source: Create a client application that analyzes text (Get started with text analysis in Azure) (Microsoft Learn)

  5. Question 5

    A Foundry agent must reliably find and redact personal information in customer messages, and you want to add this with as little custom integration code as possible. What should you do?

    • A Write instructions telling the agent's model to remove anything that looks personal
    • B Connect the Azure Language MCP server to the agent as a tool
    • C Add the company's privacy policy to the agent as knowledge
    • D Write code in the agent that calls the Azure Language REST API and manages its authentication
    Show answer and explanation

    Answer: B

    A language model alone can't do deterministic, structured text analysis. Connecting the Azure Language MCP server gives the agent Azure Language's analyzers as tools it can discover and call, without custom integration work or managing tokens in the agent's code.

    • A: Relying on the model's judgment isn't reliable or deterministic. It might miss details or remove the wrong ones.
    • C: A privacy policy tells the agent about the rules. It doesn't give it a way to detect and redact personal data.
    • D: Calling the REST API directly would work, but it's the custom integration work the MCP server avoids.

    Source: Use Azure Language with an agent (Get started with text analysis in Azure) (Microsoft Learn)

  6. Question 6

    A support app receives customers' recorded questions as WAV files. You want one model call to take each recording and return a written answer, without a separate transcription step. What should you use?

    • A An audio-capable model such as gpt-audio, with the recording sent as audio input
    • B A text-only chat model, with the WAV file attached to the prompt
    • C An image generation model
    • D Azure Language in Foundry Tools
    Show answer and explanation

    Answer: A

    Audio-enabled models accept audio as input in a prompt and can answer with text, audio or both. Sending the recording as audio input lets one call understand the question and answer it.

    • B: A text-only model can't understand audio, so it couldn't use the recording.
    • C: Image generation models create pictures from descriptions. They don't understand audio.
    • D: Azure Language analyzes text. It can't take audio input.

    Source: Quickstart: Get started with Azure OpenAI audio generation (Microsoft Learn)

  7. Question 7

    You're building a voice assistant that must hold a natural back-and-forth spoken conversation with as little delay as possible. Which option is designed for this?

    • A Batch transcription of recorded audio files
    • B The chat completions API with audio files sent one request at a time
    • C The Realtime API with a gpt-realtime model
    • D A Global Batch deployment of an audio model
    Show answer and explanation

    Answer: C

    The Realtime API uses the same kind of audio model as the completions API, but it's optimized for low-latency, real-time audio interactions, which is what a live conversation needs.

    • A: Batch transcription processes recordings asynchronously, often minutes later.
    • B: Sending audio files request by request works for one-off questions, but it isn't optimized for low-latency, back-and-forth conversation.
    • D: Global Batch has a 24-hour target turnaround. It can't hold a live conversation.

    Source: Quickstart: Get started with Azure OpenAI audio generation (Microsoft Learn)

  8. Question 8

    You deploy the gpt-audio model in Microsoft Foundry. For each statement, choose Yes if it is true or No if it is false.

    • You can send spoken audio to the model as part of a prompt.
    • The model can return a spoken audio response.
    • The model can only respond with audio, never with text.
    Show answer and explanation
    You can send spoken audio to the model as part of a prompt.Yes
    The model can return a spoken audio response.Yes
    The model can only respond with audio, never with text.No

    Audio-enabled models such as gpt-audio support text, audio, and text plus audio. You can prompt them with audio, and they can answer with spoken audio, text, or both.

    Source: Quickstart: Get started with Azure OpenAI audio generation (Microsoft Learn)

  9. Question 9

    You are adding spoken output to an app with Azure Speech in Foundry Tools. For each statement, choose Yes if it is true or No if it is false.

    • Neural voices help speech sound more natural, for example with better intonation.
    • You can adjust how the audio is delivered, such as its speed and pitch.
    • You can only use prebuilt voices; custom voices aren't supported.
    Show answer and explanation
    Neural voices help speech sound more natural, for example with better intonation.Yes
    You can adjust how the audio is delivered, such as its speed and pitch.Yes
    You can only use prebuilt voices; custom voices aren't supported.No

    Neural voices overcome common synthesis problems such as flat intonation. You can tune delivery settings such as speed and pitch, and you can also develop custom voices and use them with the text to speech API.

    Source: Speech synthesis (Get started with speech in Azure) (Microsoft Learn)

  10. Question 10

    A live-captioning app uses a SpeechRecognizer from the Azure Speech SDK. It should show words on screen while the person is still talking, then replace them with the final text for each phrase. Which event gives the app the in-progress text?

    • A recognized
    • B synthesis_completed
    • C recognizing
    • D canceled
    Show answer and explanation

    Answer: C

    The recognizing event fires with interim text while speech is still being processed, so captions can appear right away. The recognized event then delivers the final text for the phrase.

    • A: recognized fires once a phrase is finished, with the final text. It doesn't give the in-progress words.
    • B: synthesis_completed relates to speech synthesis (text to speech), not recognition.
    • D: canceled fires when recognition stops, for example because of an error.

    Source: How to recognize speech (Azure Speech in Foundry Tools) (Microsoft Learn)

  11. Question 11

    You're creating a voice assistant with the Azure Speech Voice Live API, connecting it directly to a model rather than to an existing Foundry agent. For each statement, choose Yes if it is true or No if it is false.

    • You need to choose a generative AI model for the assistant to use.
    • You must build and connect your own speech-to-text and text-to-speech services before Voice Live can be used.
    • A Python app can use Voice Live after installing the azure-ai-voicelive package.
    Show answer and explanation
    You need to choose a generative AI model for the assistant to use.Yes
    You must build and connect your own speech-to-text and text-to-speech services before Voice Live can be used.No
    A Python app can use Voice Live after installing the azure-ai-voicelive package.Yes

    Voice Live combines speech to text, AI reasoning and text to speech in one service, so you don't connect separate speech services yourself. You do choose a generative AI model, which Voice Live uses alongside its own acoustic models. In Python, you install the azure-ai-voicelive package.

    Source: Creating a speech-capable agent (Get started with speech in Azure) (Microsoft Learn)

  12. Question 12

    Your Python app uses continuous recognition with a SpeechRecognizer from the Azure Speech SDK. You want captions to update on screen while the user is still speaking, before each sentence is finished. Which event should you handle for these updates?

    • A recognized
    • B recognizing
    • C session_stopped
    • D canceled
    Show answer and explanation

    Answer: B

    The recognizing event fires with intermediate results while speech is still being processed, so it suits live, updating captions. The recognized event fires later with the final result for each utterance.

    • A: recognized carries the final result for an utterance, so captions would only appear after each phrase ends.
    • C: session_stopped signals the end of the whole recognition session. It carries no text to show.
    • D: canceled reports a cancelled attempt or a connection failure, not recognized speech.

    Source: How to recognize speech (Azure Speech) (Microsoft Learn)

Want more practice on Text and speech solutions?

Practice the full question bank for this area, in random order, with your progress saved in your browser.

Practice Text and speech solutions