Skip to content

← Primers passos

La primera crida

La primera petició de chat completions per curl i pel SDK d'OpenAI apuntat a OpenRouter, amb el model i la lectura de la resposta.

7 slides 5 min de lectura
  1. OpenRouter · Primers passos

    La primera crida

    De la key a la primera resposta d'un model, en dues maneres.

    OpenRouter · Primers passos arlaf.dev
  2. Compatible amb OpenAI

    OpenRouter parla el mateix protocol que l'API d'OpenAI. Només canvies la base URL a https://openrouter.ai/api/v1 i poses la teva key al header Authorization.

    OpenRouter · Primers passos arlaf.dev
  3. La crida amb curl

    curl https://openrouter.ai/api/v1/chat/completions \
      -H "Authorization: Bearer $OPENROUTER_API_KEY" \
      -H "Content-Type: application/json" \
      -H "HTTP-Referer: https://elmeudomini.com" \
      -H "X-Title: La meva app" \
      -d '{
        "model": "openai/gpt-4o",
        "messages": [
          { "role": "user", "content": "Hola en una frase." }
        ]
      }'
    
    OpenRouter · Primers passos arlaf.dev
  4. La mateixa crida amb el SDK d'OpenAI

    from openai import OpenAI
    import os
    
    client = OpenAI(
        base_url="https://openrouter.ai/api/v1",
        api_key=os.environ["OPENROUTER_API_KEY"],
    )
    
    resp = client.chat.completions.create(
        model="anthropic/claude-3.5-sonnet",
        messages=[{"role": "user", "content": "Hola en una frase."}],
    )
    print(resp.choices[0].message.content)
    
    OpenRouter · Primers passos arlaf.dev
  5. Triar el model

    El camp model és un slug amb forma proveïdor/model. Canviant-lo, canvies de motor sense tocar res més del codi.

    • openai/gpt-4o — exemple d'un model d'OpenAI.
    • anthropic/claude-3.5-sonnet — exemple d'un model d'Anthropic.
    • El sufix :free apunta a una variant gratuïta amb límits més estrictes.
    OpenRouter · Primers passos arlaf.dev
  6. Llegir la resposta

    La resposta té la mateixa forma que OpenAI. El text viu a choices[0].message.content i el bloc usage et diu quants tokens has gastat.

    OpenRouter · Primers passos arlaf.dev
  7. Si saps fer una crida a OpenAI, ja saps fer-ne una a OpenRouter — només canvia l'adreça.
    OpenRouter · Primers passos arlaf.dev
Llegir la nota completa

La gràcia d’OpenRouter és que no has d’aprendre res nou: parla el mateix protocol que l’API d’OpenAI. La teva primera crida és una petició de chat completions a https://openrouter.ai/api/v1/chat/completions, autenticada amb el header Authorization: Bearer i la teva key.

Amb curl

La manera més directa de comprovar que tot funciona és un curl. Envies un JSON amb dos camps mínims: el model (un slug com openai/gpt-4o) i la llista de messages. Amb la key al header, ja tens resposta.

Hi ha dos headers opcionals que val la pena posar: HTTP-Referer i X-Title. Serveixen per atribuir l’app — el teu domini i el nom apareixen als rànquings públics d’OpenRouter i identifiquen el trànsit. No són obligatoris, però són bona pràctica si publiques una app.

Amb el SDK d’OpenAI

Si ja fas servir el SDK oficial d’OpenAI, només canvies dues coses: el base_url cap a OpenRouter i la api_key per la teva. La resta del codi és idèntic. Això vol dir que pots reaprofitar qualsevol projecte existent gairebé sense tocar-lo.

Llegir el que torna

La resposta segueix l’estructura d’OpenAI. El text generat viu a choices[0].message.content, i el bloc usage et diu els tokens d’entrada i de sortida — la base del que et descomptaran del crèdit.

Nota: els slugs concrets (openai/gpt-4o, anthropic/claude-3.5-sonnet) són exemples i el catàleg canvia sovint. Consulta la llista de models a la documentació per veure quins hi ha disponibles ara mateix.