Chat completions

Senast uppdaterad:

På denna sida
text
POST https://api.staik.se/v1/chat/completions

Fullt OpenAI-kompatibel — befintliga SDK:er fungerar direkt med ny base_url.

python
from openai import OpenAI

client = OpenAI(api_key="sk-st-your-key", base_url="https://api.staik.se/v1")

response = client.chat.completions.create(
    model="qwen3.6:35b-a3b",
    messages=[
        {"role": "system", "content": "Du är en hjälpsam assistent som svarar kort."},
        {"role": "user", "content": "Vad är skillnaden mellan TCP och UDP?"},
    ],
    max_tokens=500,
    temperature=0.7,
)
print(response.choices[0].message.content)

Parametrar

ParameterTypBeskrivning
modelstringModell-id, se Modeller. Krävs.
messagesarrayKonversationen: system, user, assistant (och tool). Krävs.
max_tokensintUtrymme som reserveras för svaret. Utelämnas den sätts ett rimligt standardvärde per modell.
temperaturefloat0–2, högre = mer kreativt.
streamboolToken-för-token via SSE — se Streaming.
tools / tool_choicearrayFunktionsanrop — se Tool calling.
web_searchboolServer-side webbsökning — se Web search.

Kontext och max_tokens

Din prompt plus max_tokens måste rymmas inom modellens kontextfönster (262K för chat-modellerna). Överskrids det returneras 400 — korta prompten eller sänk max_tokens.

Vision

Alla chat-modeller läser bilder: qwen3.6:35b-a3b, qwen3.5:9b och gemma4:31b. Skicka bilder som image_url i messages med en base64-kodad data-URI. Externa bild-URL:er hämtas inte och ger 400. JPEG, PNG och HEIC (iPhone) stöds, och bilder över 4096 px skalas ned automatiskt.

Fakturor, kvitton och processkartor

Välj qwen3.6:35b-a3b när siffror och små texter måste bli exakt rätt. Qwen-modellerna läser bilden i full upplösning (ett mobilfoto blir upp till cirka 12 000 tokens), medan gemma4:31b använder en fast, lägre upplösning (cirka 400 tokens per bild). Bilden räknas som prompt-tokens.

python
response = client.chat.completions.create(
    model="qwen3.6:35b-a3b",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Vad visar bilden?"},
            {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,..."}},
        ],
    }],
)

Thinking-läge

Aliasen qwen3.6:35b-a3b-thinking och qwen3.5:9b-thinking kör samma modeller med resonemang aktiverat, liksom de versionsneutrala qwen-35b-latest-thinking och qwen-9b-latest-thinking. Resonemanget levereras separat i choices[0].message.reasoning (icke-streamat) respektive choices[0].delta.reasoning (streamat), och själva svaret förblir rent. staik sätter automatiskt en thinking-budget så att svaret alltid får plats i max_tokens. Se Thinking och reasoning för budget, kodexempel och rekommendationer.