Blog

What AI Models to Use? Choosing the Right AI Model for Your Needs

By Jhony Vidal
February 23, 2025
3 min read
What AI Models to Use? Choosing the Right AI Model for Your Needs

The question I hear most often is, “Which AI model should we use?” I understand why people ask, but there is no useful answer without a task, a budget, and a way to measure success.

Model names and benchmark positions change quickly. The decision process changes much more slowly. This is the process I use.

Start with the job

I write down what the system must do before looking at providers. “Build an AI assistant” is too broad. “Extract five fields from an invoice and return valid JSON” is something I can test.

I also separate different jobs. The best model for a complex coding task may be wasteful for classification. A fast model that handles thousands of routine requests may struggle with an unusual case. One application can use more than one model.

In an agent architecture, I still keep model routing separate from tool permissions and workflow controls.

Useful questions are:

  1. What input will the model receive?
  2. What output must it produce?
  3. Which mistakes are tolerable, and which are harmful?
  4. How quickly must it respond?
  5. What is the cost limit per successful task?

Optimising AI Model Selection
Optimising AI Model Selection

Build a small evaluation set

I do not choose from a demo prompt. I collect a small set of real examples, including awkward inputs and known failure cases. For an extraction task, that might be 50 documents with the expected fields. For a support assistant, it might be common questions, ambiguous questions, policy boundaries, and requests the assistant should refuse.

The first evaluation does not need a large platform. A versioned file, a repeatable script, and clear pass criteria are enough to make the decision better than intuition alone.

I measure what the product needs, for example:

  • field accuracy and valid structured output;
  • grounded answers and correct citations;
  • tool-call success;
  • code that passes tests;
  • refusal behaviour;
  • end-to-end latency;
  • cost per completed task.

Human review is still useful, but I define the review question. “Which answer feels better?” is vague. “Which answer follows the policy and gives the correct next step?” is easier to judge.

Compare the whole system

A model rarely runs alone. Prompts, retrieval, tools, output validation, retries, and guardrails all affect the result. I compare models inside the same application path so I do not mistake better surrounding code for a better model.

This also exposes an important trade-off: a cheaper model that needs several retries may cost more than a stronger model that succeeds first time.

AreaWhat I check
QualitySuccess rate on the real evaluation set
ReliabilityStructured output, tool use, and consistency
SpeedMedian and slow-tail latency, not only the best request
CostTotal cost per successful task, including retries
ContextWhether the task truly needs a large context window
OperationsRate limits, regional availability, monitoring, and support

Treat privacy as an architecture decision

Sensitive data does not automatically mean self-hosting, and a hosted API does not automatically mean unsafe. I check the actual service terms and configuration: retention, training use, data location, encryption, private networking, access control, and audit logs.

Self-hosted open-weight models give a team more control, but they also transfer responsibility for patching, scaling, model serving, safety controls, and monitoring. That can be the right trade-off when data or deployment requirements demand it. It is not free privacy.

Start with a strong baseline, then make it cheaper

For a new feature, I usually start with a capable hosted model. It gives me a quality baseline quickly. Once the workflow is useful and measured, I test smaller models against the same evaluation set.

Common ways to reduce cost are:

  • cache repeated or stable work;
  • shorten unnecessary context;
  • route routine requests to a smaller model;
  • use deterministic code for calculations and validation;
  • batch work that does not need an immediate response;
  • fine-tune or distil only after simpler options have been measured.

Routing is often more useful than finding one model for everything. A small model can classify the request or handle routine work, while difficult cases move to a stronger model. The router itself needs evaluation; a cheap wrong route is still a failure.

Avoid fragile model aliases in production

Providers offer stable versions, dated versions, preview releases, and aliases such as “latest”. I prefer a pinned production version and an explicit upgrade process. A moving alias can change behaviour without a code deployment.

For each upgrade, I rerun the evaluation set, compare latency and cost, inspect changed failures, and keep a rollback path. Preview models are useful for experiments, but I do not build a critical workflow around an endpoint with a short or unclear support window.

My decision rule

I choose the least expensive model that meets the quality, safety, latency, and operational requirements on the real task. Not the smallest model at any cost, and not the most capable model by default.

When two models are close, I prefer the one the team can operate with confidence. Clear limits, stable versions, good observability, and a provider relationship often matter more than a small benchmark difference.

The model is a replaceable part of the product. A good evaluation set is what lets the team replace it without guessing.

References


Tags

ai-engineering

Share

Previous Article
Why Threat Modelling Matters for Software and AI Systems
Jhony Vidal

Jhony Vidal

Lead AI Engineer

Topics

AI Podcast
Data, AI & Automation

Related Posts

Vector Databases: What They Are and How They Power AI
February 24, 2025
4 min

Legal Stuff

Privacy NoticeCookie PolicyTerms Of Use

Social Media