Generative AI Models: How to Compare and Choose One

Model leaderboards change often. A repeatable comparison on your own task lasts longer than any ranking.

A Generative AI model is a trained system that produces new content from an input. To choose one, compare candidate models on your own task: output quality on a test set, supported modalities, hosting and licence terms, context length, latency and cost. The best model for one application can be the wrong one for another.

What a model actually is

A model is a set of learned parameters plus the architecture that uses them. It is trained once, at great cost, and then used many times for inference, which is the step that produces an output for your request. When you use a chat product, you are using an application built around one or more models, not the model alone.

Language models usually come in two forms. A base model has been trained to continue text and is useful mainly to researchers and for further training. An instruction-tuned or chat model has been trained further to follow requests, hold a conversation and decline harmful tasks. Applications almost always use the instruction-tuned form.

Each model has a name and a version, and the version matters. A provider’s model card or documentation describes what that version can do, its limits, its context length and how it was evaluated. Read it before you build on the model.

The model landscape in brief

Widely used text and multimodal model families include OpenAI's GPT models, Anthropic's Claude, Google's Gemini, Meta's Llama and models from Mistral AI. Image generation includes diffusion-based families such as Stable Diffusion. Speech recognition and synthesis use their own specialised models.

Vendors release new versions frequently, and capabilities, prices and limits change with them. Read the provider's current documentation and model card for the exact version you plan to use rather than relying on a summary article, including this one.

Match the model type to the task

Not every job needs a large chat model. Many applications combine several specialised models, each doing the part it is best at.

Match the model type to the task
TaskModel type to considerNote
Writing, summarising, answering questionsGeneral instruction-tuned language modelPair with retrieval when answers must come from your documents
Search and retrievalEmbedding modelProduces vectors for similarity search, not text
Ranking search resultsRerankerReorders retrieved passages by relevance before generation
Simple classification or routingSmall language model or a fine-tuned classifierOften faster and cheaper than a large model
Images from textDiffusion-based image modelCheck licence and content policy for commercial use
Speech to text and text to speechSpeech recognition and synthesis modelsTest with the accents and languages of your users

Hosted API models and open-weight models

Open-weight does not always mean unrestricted. Read the licence for commercial use, attribution and acceptable-use conditions before building on a model.

Running an open-weight model yourself has become easier. Tools such as Ollama and llama.cpp run smaller models on a laptop, often using quantisation, which stores parameters at lower precision to save memory at some cost in quality. Larger models still need GPUs and serving infrastructure.

Hosted API models and open-weight models
ConsiderationHosted API modelOpen-weight model you run
SetupAn account and an API keyInfrastructure, serving software and monitoring
Data handlingGoverned by the provider's terms and settingsStays within the environment you control
Cost patternUsage-based pricingCompute and engineering time, used or idle
CustomisationPrompting, retrieval and any offered tuningPrompting, retrieval and fine-tuning within the licence
UpdatesProvider-managed versions and retirementsYou choose when to change versions

Criteria that matter for an application

  • Task quality on examples drawn from your real inputs, including difficult cases.
  • Modalities: text only, or also images, audio, documents or tool calls.
  • Context length relative to the documents and conversation you need to supply.
  • Latency and throughput at the volume you expect.
  • Cost per completed task, not only price per token.
  • Data, privacy and regional requirements for your users.
  • Safety behaviour and how the model responds to unsafe or out-of-scope requests.

Read the model card and pricing page

  • Context window and maximum output length, in tokens.
  • Input and output token prices, which often differ, plus any discounts for caching or batch processing.
  • Rate limits for your account tier.
  • Knowledge cutoff date, after which the model has no training information.
  • Supported languages and modalities, including file and image inputs.
  • Data retention and whether your inputs may be used for training.
  • Deprecation schedule, so you know when a version will be retired.

Build a small evaluation before you choose

Collect twenty to fifty representative inputs with written expectations. Include routine cases, edge cases and inputs the system should refuse. Run each candidate model with the same prompt and settings, then score the outputs with clear criteria such as correct, supported by the supplied context, and in the required format.

Public benchmarks are a starting signal, but they rarely match your documents, users or output format. Keep your test set and rerun it when you change model versions or prompts, so a regression is visible before users see it.

The sketch below runs the same test cases through several models and reports an average score and median latency. Replace call_model with your provider’s SDK and score with a function that applies your written criteria.

import statistics
import time

def evaluate(model_name, call_model, test_cases, score):
    results = []
    for case in test_cases:
        start = time.perf_counter()
        output = call_model(model_name, case['input'])
        latency = time.perf_counter() - start
        results.append((score(output, case), latency))
    return {
        'model': model_name,
        'mean_score': statistics.mean(s for s, _ in results),
        'median_latency_s': statistics.median(t for _, t in results),
    }

for name in ['model-a', 'model-b']:
    print(evaluate(name, call_model, test_cases, score))

Estimate cost per completed task

Token prices are quoted per million tokens, with separate prices for input and output. A request that sends 2,000 input tokens and receives 300 output tokens costs (2,000 × input price + 300 × output price) ÷ 1,000,000. Multiply by the number of requests a task needs, including retries, retrieval and any checking step.

A cheaper model that needs two attempts can cost more than a dearer one that succeeds first time. Some providers also discount repeated prompt prefixes through caching or offer cheaper batch processing for work that is not urgent. Measure tokens on your own test cases instead of estimating from word counts.

Larger is not automatically better

A larger model can follow complex instructions more reliably, but a smaller one may meet a narrow requirement at lower latency and cost. Many applications route simple requests to a smaller model and reserve a larger one for harder cases. Decide from measured results on your task, not from parameter counts.

Smaller models are often produced by distillation, in which a small model is trained to imitate a larger one on a particular kind of task. Combined with quantisation, this can make a model fast enough to run on a laptop or phone, at some loss of general capability.

Prompting, retrieval or fine-tuning?

Prompting, retrieval or fine-tuning?
ApproachUse it whenEffort
PromptingThe task can be described with instructions and a few examplesLow; start here every time
Retrieval (RAG)Answers must come from current or private documentsModerate; needs indexing and retrieval tests
Fine-tuningA consistent style, format or narrow skill is not reliable with promptingHigher; needs curated examples and re-evaluation
Training from scratchAlmost never for applications; reserved for research or very large organisationsVery high data, compute and expertise

Sources: Lewis et al.: Retrieval-Augmented Generation. Checked 23 October 2026.

Plan for model changes

  • Call models through a thin internal wrapper so that switching providers changes one module, not the whole application.
  • Pin exact model versions in configuration and record which version produced each result.
  • Rerun your test set before moving to a new version, because prompts tuned for one model can behave differently on another.
  • Watch deprecation notices and schedule migrations before retirement dates.
  • Keep a fallback model for outages if the application is critical.

What to practise at each level

What to practise at each level
LevelPractiseOutcome
BeginnerUse two chat assistants on the same ten tasks and read one model cardYou can explain why outputs differ and what a model card tells you
IntermediateCall two model APIs with a 30-case test set; record quality, latency and tokensA comparison table you can defend in an interview
AdvancedRun a quantised open-weight model locally, compare it with a hosted model and add routingA measured decision about cost, quality and data handling

Common questions

What is the best Generative AI model?

There is no single best model. Quality, cost, latency and licence terms differ by task. Test candidate models on examples from your own application and choose the smallest one that meets the requirement.

What is the difference between a model and an application like a chatbot?

The model generates content. An application adds instructions, retrieval, tools, user interface, permissions and checks around it. The same model can power very different applications.

Should a beginner learn one model or several?

Learn the shared concepts — tokens, context, prompting, retrieval and evaluation — and practise with at least two providers. That makes switching models a routine engineering task.

What is an open-weight model?

A model whose trained parameters are published so that you can run it on your own hardware, subject to its licence. It is not necessarily open source in the full sense, because training data and code may not be released.

Can I run a Generative AI model on my laptop?

Smaller open-weight models, especially quantised ones, can run on a modern laptop for experiments. Larger models need GPUs, so most applications use hosted APIs for them.

What is a context window?

The maximum amount of input and output, measured in tokens, that a model can handle in one request. Long documents and conversations must fit inside it or be shortened and retrieved selectively.

Explore AI training

Bring Us the Problem. We Will Help Define the Right Build.

Tell us what users need to do, what is slowing the business down and what a successful outcome should look like. We will help you identify the appropriate AI, software, product or training pathway.