Skip to content

← Models and routing

Model selection and fallbacks

The "models" array defines an ordered fallback chain. If the first fails, OpenRouter tries the next. Resilience with no extra code.

6 slides 4 min read
  1. OpenRouter · Models i routing

    Model selection and fallbacks

    An ordered list of models in case the first one fails.

    OpenRouter · Models and routing arlaf.dev
  2. From "model" to "models"

    Besides the single-slug "model" field, you can send a "models" array with several. It's a priority chain, not a random list.

    OpenRouter · Models and routing arlaf.dev
  3. How the chain works

    OpenRouter tries the models in order. If the first is unavailable or errors, it moves to the next, and so on until one responds or the list runs out.

    OpenRouter · Models and routing arlaf.dev
  4. A body with a fallback chain

    {
      "models": [
        "anthropic/claude-3.5-sonnet",
        "openai/gpt-4o",
        "meta-llama/llama-3.1-70b-instruct"
      ],
      "messages": [
        { "role": "user", "content": "Resumeix aquest text." }
      ]
    }
    
    OpenRouter · Models and routing arlaf.dev
  5. Why it matters

    A provider can go down, get saturated or reject a request. With fallbacks, your app keeps responding without you adding retries or catch logic.

    OpenRouter · Models and routing arlaf.dev
  6. First to respond wins — your app doesn't stall because one provider went down.
    OpenRouter · Models and routing arlaf.dev
Read the full note

Triar un model és tan senzill com posar el seu slug al camp model. Però quan una petició ha de ser resilient, OpenRouter et dóna una eina millor: l’array models.

Una cadena, no una llista

En comptes d’enviar un sol model, envies un array models amb diversos slugs. L’ordre és el que mana: és una cadena de fallbacks prioritzada, on el primer element és la teva opció preferida i la resta són plans B, C, etc.

Com es recorre la cadena

OpenRouter prova el primer model de la llista. Si està disponible i respon, has acabat. Si no — perquè el proveïdor està caigut, saturat o retorna un error — salta automàticament al següent model de l’array, i així successivament fins que un respon o s’esgota la llista.

{
  "models": [
    "anthropic/claude-3.5-sonnet",
    "openai/gpt-4o",
    "meta-llama/llama-3.1-70b-instruct"
  ],
  "messages": [
    { "role": "user", "content": "Resumeix aquest text." }
  ]
}

Per què val la pena

Els proveïdors fallen: hi ha talls, pics de demanda i peticions rebutjades. Sense fallbacks hauries d’escriure tu mateix la lògica de reintent i de captura d’errors, repartida per tota l’aplicació. Amb l’array models, aquesta resiliència viu dins de la petició: defineixes alternatives una sola vegada i OpenRouter s’encarrega de la commutació.

Nota: el nom exacte del camp i el seu comportament (quins errors disparen el fallback, com es factura cada intent) poden variar. Confirma-ho a la documentació vigent d’OpenRouter abans de dependre’n en producció.

El resultat pràctic és una app que degrada amb elegància: si el teu model favorit no està, segueix funcionant amb el següent en comptes de tornar un error a l’usuari.