BrainyBeeBrainyBee
ExploreBlogStart Studying
HomeDeveloping AI Apps and Agents on Azure (AI-103)Choose an appropriate model for each task, including LLMs, small language models, multimodal models, and Foundry Tools
Lesson3,097 words

Choose an appropriate model for each task, including LLMs, small language models, multimodal models, and Foundry Tools

AI-103 › Unit 1: Plan and manage an Azure AI solution › Choose the appropriate Foundry services for generative AI and agents › Choose an appropriate model for each task, including LLMs, small language models, multimodal models, and Foundry Tools

Choose an appropriate model for each task, including LLMs, small language models, multimodal models, and Foundry Tools

Model selection is the first architectural decision in a Foundry solution and the one most often made backwards. Teams reach for the most capable model available, discover the bill, and then tune prompts to claw back cost that a different model would never have incurred. This lesson builds a repeatable selection method: eliminate cheaply, measure late, and let the requirement — not the leaderboard — name the model.

Why This Matters

A model choice sets your cost curve, your latency floor, and your failure modes for the life of the workload. Three properties make it unusually unforgiving.

Cost scales with volume, and reasoning is invisible. Reasoning models generate reasoning tokens in addition to the tokens you can see. Those tokens "never appear in the message content, but they occupy space in the context window and are billed as output tokens." A summarization endpoint returning 200 visible words can be billed for thousands of tokens. At ten million requests a day, choosing a frontier reasoning model for a six-way classification is not a small inefficiency — it is the entire budget.

Capability you do not use is capability you still pay for. A model that can plan a multi-step research task brings that machinery to every request, including the ones that need a single label. The extra depth does not make a fixed-label classification more correct; the answer space was six options either way.

Some constraints cannot be bought off. Data residency, egress prohibitions, and genuinely offline operation are absolute. No amount of model quality satisfies a rule that says the audio must not leave the device. These constraints eliminate whole deployment families in one move, which is why they belong early in the decision rather than late.

The exam tests this as a reading skill. A well-written scenario names the deciding property in one sentence — ten million messages a day, no connectivity at the site, values feed a pricing engine — and the rest is context. Learning to find that sentence is most of the objective.

Selection questions are rarely about model quality

If two options are both technically capable, the stem is deciding on something else: cost at volume, latency, modality, placement, or whether a maintained schema already exists. Find the constraint sentence first, then choose.

Prerequisites

Before this lesson you should be comfortable with:

  • The distinction between a model and a deployment — you deploy a model and address it by the deployment name you chose, which need not match the underlying model name.
  • What an embedding is: a dense vector representing meaning, used for similarity search rather than for generating an answer.
  • The basic shape of a Foundry project and the fact that models are reached through a project endpoint.
  • That Foundry Tools are prebuilt capabilities — Document Intelligence, Speech, Language, Vision, Content Safety, AI Search — distinct from the generative models in the catalogue.

Learning Objectives

By the end of this lesson you will be able to:

  1. Apply a four-step elimination order — modality, complexity and envelope, placement, evaluation — to any selection scenario.
  2. Distinguish when a small language model outperforms a frontier model on the criteria that matter.
  3. Explain how reasoning tokens and reasoning_effort change the cost calculus of reasoning models.
  4. Decide when model-router earns its dispatch step and when it is overhead.
  5. Choose between a Foundry Tool and a generative model for a well-defined task.

Building Blocks

Frontier reasoning models. The most capable tier — multi-step reasoning, planning, and tool-calling orchestration. They deliberate internally, producing reasoning tokens that are billed as output. The reasoning_effort parameter governs how much they think, with supported values including none, minimal, low, medium, high, xhigh, and max. Crucially, effort is a request parameter, not a property of the deployment: one deployment can serve a none-effort routing call and a high-effort analysis call in the same pipeline.

Small language models (SLMs). Compact models sized for narrow, high-volume, latency-sensitive work — classification, routing, extraction against a fixed label set. The Phi-4 family is the reference example. They are not "worse" models; they are correctly sized ones.

Multimodal models. Accept images alongside text in a single request and reason over both — scenes, diagrams, charts. The right choice when the questions asked of an image are open-ended and unpredictable.

Embedding models. Return dense vectors. text-embedding-3-large is the reference. They enable similarity search and RAG grounding, and they never return a label or an answer on their own.

Image and video generation models. gpt-image-2 is generally available and supports arbitrary resolutions — both edges a multiple of 16 px, long edge up to 3,840 px (4K), aspect ratio up to 3:1. The gpt-image-1 series — gpt-image-1, gpt-image-1.5, gpt-image-1-mini — is in limited access preview and restricted to the fixed sizes 1024x1024, 1024x1536, and 1536x1024. Video generation is served by Sora 2 through an asynchronous jobs API.

Foundry Tools. Prebuilt capabilities with maintained schemas and classifiers. Document Intelligence returns extracted fields as strongly typed data — InvoiceDate as a date, SubTotal as a currency — so "normalization happens automatically without any configuration." Content Safety classifies harm categories and detects injection. AI Search performs hybrid retrieval with a semantic ranker.

model-router. A deployable model that assesses each incoming request and forwards it to a suitable model in its pool, behind a single endpoint.

Foundry Local. Runs a model on the device, for scenarios where connectivity is absent or data must not leave the hardware boundary.

What each family is for

Attribute
Frontier reasoning

Multi-step reasoning, planning, orchestration

The answer space is small and fixed

Small language model

Narrow task, high volume, tight latency

The task genuinely needs deliberation

Multimodal

Open-ended questions about an image

The same fields are needed every time

Embedding

Similarity search, RAG grounding

You need a label or an answer

Foundry Tool

A maintained schema already covers it

The task is open-ended or novel

Deep Dive

The elimination order

Selection is a filter, and the order matters because each step is cheaper than the next.

1. Modality. Absolute, and it eliminates whole families in one move. An embedding model cannot generate an image; an image model cannot classify text. No capability argument survives a modality mismatch, so this test costs nothing and removes the most candidates.

2. Complexity and the envelope. Now narrow within the surviving family. Ask what the task actually requires: does it need multi-step deliberation, or is it a single judgement against a small answer space? Then apply the envelope — throughput, latency target, cost per request. A narrow task at high volume with a tight latency target names a small language model without further argument.

3. Placement. Where is the model permitted to run? Data residency, egress prohibitions, sovereignty, and offline operation are constraints that can eliminate every cloud-hosted candidate regardless of tier. This step comes third because it is still free to apply and can invalidate everything above it — but it is written third because it is scenario-specific rather than universal.

4. Evaluate on your own data. Only now is there a short list worth measuring. Evaluation is the expensive step — it needs datasets, evaluator runs, and interpretation — so it goes last, against candidates that have already survived the free filters. Benchmarks comparing models on public datasets help at this stage; they do not replace measurement on your own task.

Eliminate cheaply, measure late

  1. 1

    Modality

    Absolute. Rules out entire families at zero cost.

Reasoning models and the cost of thinking

The economics of reasoning models are unintuitive because the expensive part is invisible. Reasoning tokens are billed as output tokens and consume the context window, and a single request "can spend anywhere from a few hundred to tens of thousands of reasoning tokens depending on how hard the problem is."

Two consequences follow. First, token analytics that count only visible output will understate the bill; read completion_tokens_details.reasoning_tokens on a Chat Completions response, or output_tokens_details.reasoning_tokens on a Responses API response, to see what was actually spent.

Second, the output cap covers reasoning too. max_completion_tokens (Chat Completions) and max_output_tokens (Responses) both cover "reasoning tokens, visible output tokens, and formatting tokens." A cap sized for the visible answer can therefore be exhausted before any visible output is produced — and the documented result is that "you pay for input and reasoning tokens but receive no answer." Applications must check status on every response rather than treating an empty body as an empty answer. The guidance suggests reserving around 25,000 tokens for reasoning plus output while learning a workload's appetite, then tuning down.

The lever that controls the spend is reasoning_effort. Because it is a request parameter, a pipeline can set it per step — none or low on mechanical routing and classification, higher only where deliberation earns its cost.

Short answer, long bill

A reasoning model returning three sentences may have generated thousands of invisible tokens to get there. If a workload looks cheap in your dashboards and expensive on the invoice, this is the first place to look — and reasoning_effort set per request is the fix, not a smaller cap.

When routing helps, and when it does not

model-router is deployed like any other model and dispatches each request to a suitable model in its pool. It earns its place when request complexity genuinely varies — the classic shape being a large majority of simple lookups and a small minority needing depth. Cost then tracks complexity without the team building and maintaining a classifier.

It stops being worth the dispatch step when traffic is homogeneous. Ten million instances of the same simple classification have no complexity variance to exploit; the router adds a hop and still forwards to a small model. Choosing the small model directly is simpler and cheaper.

Routing also interacts with governance. Because the serving model becomes a per-request property, any requirement to state which model produced a given output means capturing that from the response and storing it with the output. Reconstructing it later fails, because the pool's contents and the router's behaviour change over time.

Tool or model?

The sharpest recurring decision is not which model but whether a model at all. Reach for a Foundry Tool when the task is well-defined, a schema or classifier already exists, and you want typed, consistent output with a maintained contract. Reach for a model when the task is open-ended, the output is prose, or nothing prebuilt covers it.

The trap is that a well-prompted frontier model will often produce the right values for a task a tool was built for. What it cannot supply is the guarantee: a maintained schema, automatic type normalization, and stability when the input layout changes. A prompt shifts that maintenance onto you, and the failure mode — a renamed field that parses cleanly and feeds a wrong number downstream — is silent.

Worked Examples

Example 1 — high-volume intent classification. Ten million short customer messages a day must be sorted into six fixed categories at the lowest cost per message.

Modality: text in, label out — every text model survives. Complexity and envelope: the answer space is six options and volume dominates cost, which names a small language model. Placement: unconstrained. Evaluate: measure candidate SLMs on a labelled sample of real messages. A frontier reasoning model would spend reasoning tokens on a six-way choice ten million times; model-router would add a dispatch step to homogeneous traffic and still route to a small model.

Example 2 — invoice field extraction feeding a pricing engine. Standard supplier invoices; the downstream service rejects anything not matching its schema.

The phrase standard plus typed values moves this out of model selection entirely. Document Intelligence with prebuilt-invoice returns fields whose schemas are "defined and maintained by Microsoft," with InvoiceDate as a date and SubTotal as a currency. A generative model would often produce the right values and would offer no guarantee of the right shape.

Example 3 — offline field inspection. Inspectors dictate findings at remote sites with no connectivity, and policy forbids audio leaving the device.

Placement decides this before anything else. Both constraints eliminate every cloud-hosted candidate regardless of capability or price, so the answer is an on-device deployment. Choosing a cheaper cloud model would satisfy neither constraint — the audio still leaves the device.

Visual Explanations

The selection filter, in order:

Loading Diagram...
Figure 1 — Mermaid diagram

Where a Tool short-circuits the whole tree:

Loading Diagram...
Figure 2 — Mermaid diagram

Common Mistakes

Choosing by capability instead of by requirement. The most capable model is the right answer only when the task needs that capability. A stem describing a narrow, high-volume task is not asking which model is best.

Treating reasoning models as having one cost per call. Effort is per request. A pipeline that leaves every step at the default effort pays frontier deliberation prices on its routing decisions.

Sizing the output cap for the visible answer. The cap covers reasoning tokens too, so a tight cap on a reasoning model produces billed requests with empty bodies.

Reaching for model-router on uniform traffic. Routing exploits variance. With none, it is a hop.

Assuming a prompt can replace a schema. A prompt asks; a tool guarantees. When the consumer is another system rather than a person, the guarantee is the requirement.

Applying placement constraints last. Discovering after benchmarking that no cloud model is permitted wastes the benchmark. Residency and egress are free to check and eliminate the most candidates.

Confusing GA with preview when a stem says "generally available". Among image models, only gpt-image-2 is GA; the gpt-image-1 series is limited access preview on fixed sizes.

Practice Exercises

  1. A workload classifies 8 million short messages daily into six categories, lowest cost per message. Which family, and which two properties decided it?
  2. A team migrates a prompt-tuned workload to a reasoning model and many requests return empty bodies while still being billed. Diagnose it and name the two parameters involved.
  3. Traffic is 90% simple FAQ lookups and 10% multi-step tax reasoning, on one interactive endpoint. What do you deploy, and what would provisioned throughput solve instead?
  4. Extraction of vendor, date, and total from standard invoices, output consumed by a pricing service. Tool or model, and what property makes it decisive?
  5. A regulated service routes through model-router and an auditor must name the model behind any archived output. What must the design do, and why does a later lookup fail?
▶Answers
  1. A small language model. Decided by the small fixed answer space (no deliberation required) and volume dominating cost.
  2. Reasoning tokens are generated before the visible answer and count against the same limit. Raise max_completion_tokens (or max_output_tokens) to leave headroom, and lower reasoning_effort where depth is unnecessary. Confirm consumption in completion_tokens_details.reasoning_tokens.
  3. model-router — complexity varies per request and the team wants no classifier. Provisioned throughput solves predictable latency and guaranteed rate limits, a different problem.
  4. A Foundry Tool — Document Intelligence with a prebuilt model. Decisive property: strongly typed output against a maintained schema, because the consumer is a system that rejects anything off-shape.
  5. Capture the serving model from each response and store it with the output. A later lookup fails because the router's pool and behaviour change over time, so current state cannot reconstruct a past request.

Summary & Concept Map

Model selection is elimination, not comparison. Modality is absolute and free to check; complexity and the cost envelope pick the tier; placement can invalidate everything above it; evaluation on your own data comes last because it is the expensive step. Reasoning models are powerful and their cost is invisible — reasoning tokens are billed as output, share the output cap, and are governed per request by reasoning_effort. model-router converts complexity variance into cost savings and adds nothing to uniform traffic. And before choosing any model, ask whether a Foundry Tool already owns the task with a maintained schema.

Loading Diagram...
Figure 3 — Mermaid diagram
Loading flashcards…

Sources and freshness

Written against current Microsoft Learn documentation for the AI-103 skills measured (16 April 2026), reviewed 2026-08-20. Microsoft Learn controls every changing product contract — availability, preview status, quotas, limits, regional support, naming, and retirement dates all move independently of this lesson. Where a scenario turns on a specific number or a GA/preview boundary, confirm it against the product's own page before relying on it.

All Developing AI Apps and Agents on Azure (AI-103) Study Resources

Related Notes

  • Quick Note — Choose an appropriate model for each task, including LLMs, small language models, multimodal models, and Foundry Tools1,041 words
  • Choose an appropriate method for retrieval and indexing2,778 words
  • Quick Note — Choose an appropriate method for retrieval and indexing888 words
  • Choose appropriate memory, tool, and knowledge integration services for agent solutions2,815 words
  • Quick Note — Choose appropriate memory, tool, and knowledge integration services for agent solutions949 words
  • Choose the appropriate Foundry services for generative tasks, grounding, vector search, agent workflows, or multimodal processing2,733 words
  • Quick Note — Choose the appropriate Foundry services for generative tasks, grounding, vector search, agent workflows, or multimodal processing901 words
  • Apply responsible AI instrumentation, including evaluators, safety evaluations, and explanation tooling2,891 words
  • Configure safety filters, guardrails, risk detection, and content moderation2,795 words
  • Govern agent behavior with oversight modes, constraints, and tool-access controls2,863 words
  • Implement auditing through trace logging, provenance metadata, and approval workflows2,624 words
  • Configure security including managed identity, private networking, keyless credentials, and role policies2,695 words

Ready to study Developing AI Apps and Agents on Azure (AI-103)?

Practice tests, flashcards, and all study notes — free, no sign-up.

Start Studying

Ready to study Developing AI Apps and Agents on Azure (AI-103)?

Practice tests, flashcards, and all study notes — free, no sign-up needed.

Start Studying — Free
Developing AI Apps and Agents on Azure (AI-103) ResourcesExplore All HivesBlogHome

© 2026 BrainyBee. Free AI-powered exam prep.

Loading Diagram...
Flowchart, top to bottom. Requirement connects to What modality?. B connects to Multi-step reasoning needed? (Text). B connects to Multimodal model (Image in). B connects to gpt-image-2 / Sora 2 (Image or video out). B connects to Embedding model (Vectors). C connects to Small language model (No, narrow + high volume). C connects to Frontier reasoning model (Yes). C connects to model-router (Varies per request). 6 more statements.
Loading Diagram...
Flowchart, left to right. Task connects to Does a maintained schema<br/>or classifier already cover it?. Q connects to Foundry Tool<br/>typed, consistent, maintained (Yes). Q connects to Generative model<br/>flexible, you own the contract (No).
Loading Diagram...
Flowchart, top to bottom. Model selection connects to Modality<br/>absolute. Model selection] --> MOD[Modality<br/>absolute connects to Complexity + envelope. Model selection] --> MOD[Modality<br/>absolute connects to Placement. Model selection] --> MOD[Modality<br/>absolute connects to Evaluate late. CPX connects to Small language model. CPX connects to Frontier reasoning. CPX connects to model-router<br/>when complexity varies. FRM connects to Reasoning tokens<br/>billed as output. 5 more statements.

Model selection — retrieval

Card 1 of 6

Front of flashcard 1 of 6

Elimination order

easy

Modality (absolute) → complexity and envelope (tier) → placement (residency, egress, offline) → evaluate on your own data (expensive, so last).

selection

Model selection — retrieval

Card 1

Front

Elimination order

Back

Modality (absolute) → complexity and envelope (tier) → placement (residency, egress, offline) → evaluate on your own data (expensive, so last).

Card 2

Front

Reasoning tokens

Back

Generated in addition to input and output tokens. Never appear in message content, occupy the context window, and are billed as output tokens. Read completion_tokens_details.reasoning_tokens.

Card 3

Front

Empty response, still billed

Back

The output cap covers reasoning + visible + formatting tokens, so it can be exhausted before any visible output. Raise the cap, lower reasoning_effort, and check status on every response.

Card 4

Front

When model-router pays off

Back

When request complexity varies and you do not want to build a classifier. On homogeneous traffic it adds a dispatch hop and still routes to a small model.

Card 5

Front

Tool or model?

Back

Tool when a maintained schema or classifier already covers the task and you need typed, consistent output. Model when open-ended or nothing prebuilt fits. A prompt asks; a tool guarantees.

Card 6

Front

Image model GA boundary

Back

gpt-image-2 is GA with arbitrary resolutions to 4K. The gpt-image-1 series is limited access preview and fixed to 1024x1024, 1024x1536, 1536x1024.

Model selection — retrieval

Card 1

Front

Elimination order

Back

Modality (absolute) → complexity and envelope (tier) → placement (residency, egress, offline) → evaluate on your own data (expensive, so last).

Card 2

Front

Reasoning tokens

Back

Generated in addition to input and output tokens. Never appear in message content, occupy the context window, and are billed as output tokens. Read completion_tokens_details.reasoning_tokens.

Card 3

Front

Empty response, still billed

Back

The output cap covers reasoning + visible + formatting tokens, so it can be exhausted before any visible output. Raise the cap, lower reasoning_effort, and check status on every response.

Card 4

Front

When model-router pays off

Back

When request complexity varies and you do not want to build a classifier. On homogeneous traffic it adds a dispatch hop and still routes to a small model.

Card 5

Front

Tool or model?

Back

Tool when a maintained schema or classifier already covers the task and you need typed, consistent output. Model when open-ended or nothing prebuilt fits. A prompt asks; a tool guarantees.

Card 6

Front

Image model GA boundary

Back

gpt-image-2 is GA with arbitrary resolutions to 4K. The gpt-image-1 series is limited access preview and fixed to 1024x1024, 1024x1536, 1536x1024.