Chat Completions
MarkdownOdgovor modela na pogovor v formatu OpenAI. Najbolj razširjeni format: podpira ga skoraj vsak odjemalec.
Celoten vodnik
https://api.ailoot.ai/v1/chat/completionscurl https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"messages": [
{"role": "user", "content": "V dveh stavkih razloži, kaj je API."}
]
}' from openai import OpenAI
import os
client = OpenAI(max_retries=0,
base_url="https://api.ailoot.ai/v1",
api_key=os.environ["AILOOT_API_KEY"],
)
resp = client.chat.completions.create(
model="claude-sonnet-5-5",
messages=[{"role": "user", "content": "V dveh stavkih razloži, kaj je API."}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ maxRetries: 0,
baseURL: "https://api.ailoot.ai/v1",
apiKey: process.env.AILOOT_API_KEY,
});
const resp = await client.chat.completions.create({
model: "claude-sonnet-5-5",
messages: [{ role: "user", content: "V dveh stavkih razloži, kaj je API." }],
});
console.log(resp.choices[0].message.content);{
"id": "chatcmpl-8f2c…",
"object": "chat.completion",
"created": 1790812800,
"model": "claude-sonnet-5-5",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "API je dogovor o tem, kako en program prosi drugega, naj nekaj naredi…"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 21,
"completion_tokens": 48,
"total_tokens": 69
}
}Avtentikacija
- Authorizationheaderobvezno
Ključ v obliki
Bearer sk-…. Uporabite lahko tudi glavix-api-keyalix-goog-api-key.
Telo zahteve
- modelstringobvezno
ID modela iz kataloga, na primer
claude-sonnet-5-5. Model mora podpirati format OpenAI Chat. - messagesarrayobvezno
Zgodovina pogovora: objekti s poljema
role(system,developer,user,assistant,tool) incontent– niz ali polje delov (besedilo,image_url). - streambooleanneobvezno
Odgovor v formatu Server-Sent Events. Privzeto
false. Plačljivo besedilo prispe v enem bloku po izračunu stroškov, ne po posameznih besedah. - stream_optionsobjectneobvezno
{"include_usage": true}– pošlje končne podatkeusagev zadnjem dogodku toka. - max_tokensintegerneobvezno
Največje število žetonov odgovora. Novo ime je
max_completion_tokens. Če omejitev ni navedena, Ailoot uporabi 4096 (ali manj, če ima model nižjo omejitev odgovora; Grok ima svojo omejitev). Za dolge odgovore omejitev nastavite izrecno, sicer se bo odgovor ustavil pri 4096 žetonih zfinish_reason: "length". Omejitev je vključena v rezervacijo: višja ko je, več prostih sredstev potrebujete. - temperaturenumberneobvezno
Naključnost odgovora, običajno od 0 do 2. Modeli za sklepanje lahko ta parameter prezrejo.
- top_pnumberneobvezno
Alternativa parametru temperature: delež verjetnostne mase za izbiro žetonov.
- stopstring | arrayneobvezno
Nizi, pri katerih se generiranje ustavi.
- toolsarrayneobvezno
Opisi funkcij, ki jih model lahko pokliče. Format je enak kot pri OpenAI:
{"type": "function", "function": {...}}. - tool_choicestring | objectneobvezno
auto,none,requiredali določena funkcija. - response_formatobjectneobvezno
{"type": "json_object"}ali{"type": "json_schema", ...}za strukturirani odgovor – če ga model podpira. - reasoning_effortstringneobvezno
Globina sklepanja pri modelih za sklepanje:
low,medium,high.
Drugi parametri OpenAI se posredujejo nespremenjeni; ali jih določen model podpira, odloča razvijalec modela.
Odgovor
- choices[].messageobject
Odgovor modela:
content, pri klicih orodij pa –tool_calls. - choices[].finish_reasonstring
stop– odgovor je končan;length– dosežena je omejitevmax_tokens(tak odgovor je še vedno celoten in se obračuna po dejanski porabi);tool_calls– model kliče orodje. - usageobject
prompt_tokens,completion_tokens,total_tokens– na njih temelji izračun bremenitve.