Chat Completions
MarkdownModelio atsakymas į pokalbį OpenAI formatu. Tai labiausiai paplitęs formatas, kurį supranta beveik visi klientai.
Visas vadovas
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": "Dviem sakiniais paaiškink, kas yra 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": "Dviem sakiniais paaiškink, kas yra 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: "Dviem sakiniais paaiškink, kas yra 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 — tai susitarimas, kaip viena programa prašo kitos ką nors atlikti…"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 21,
"completion_tokens": 48,
"total_tokens": 69
}
}Autorizacija
- Authorizationheaderprivalomas
Raktas formatu
Bearer sk-…. Taip pat tinka antraštėsx-api-keyarbax-goog-api-key.
Užklausos turinys
- modelstringprivalomas
Modelio ID iš katalogo, pavyzdžiui,
claude-sonnet-5-5. Modelis turi palaikyti OpenAI Chat formatą. - messagesarrayprivalomas
Pokalbio istorija: objektai su
role(system,developer,user,assistant,tool) ircontent— eilute arba dalių masyvu (tekstas,image_url). - streambooleanneprivalomas
Atsakymas Server-Sent Events formatu. Numatytoji reikšmė —
false. Mokamas tekstas pateikiamas vienu bloku apskaičiavus kainą, o ne po žodį. - stream_optionsobjectneprivalomas
{"include_usage": true}— atsiųsti galutinįusagepaskutiniu srauto įvykiu. - max_tokensintegerneprivalomas
Didžiausias atsakymo žetonų skaičius. Naujas pavadinimas —
max_completion_tokens. Jei limitas nenurodytas, Ailoot nustato 4096 (arba mažiau, jei modelio atsakymo limitas mažesnis; Grok turi savo limitą). Ilgiems atsakymams limitą nustatykite aiškiai, kitaip atsakymas sustos pasiekęs 4096 žetonus sufinish_reason: "length". Limitas įtraukiamas į rezervą: kuo jis didesnis, tuo didesnio laisvo balanso reikia. - temperaturenumberneprivalomas
Atsakymo atsitiktinumas, paprastai nuo 0 iki 2. Samprotavimo modeliai gali šio parametro nepaisyti.
- top_pnumberneprivalomas
temperature alternatyva: tikimybinės masės dalis, naudojama žetonams parinkti.
- stopstring | arrayneprivalomas
Eilutės, kurias pasiekus generavimas sustos.
- toolsarrayneprivalomas
Funkcijų, kurias modelis gali iškviesti, aprašai. Formatas toks pat kaip OpenAI:
{"type": "function", "function": {...}}. - tool_choicestring | objectneprivalomas
auto,none,requiredarba konkreti funkcija. - response_formatobjectneprivalomas
{"type": "json_object"}arba{"type": "json_schema", ...}struktūriniam atsakymui — jei modelis tai palaiko. - reasoning_effortstringneprivalomas
Samprotavimo gylis samprotavimo modeliams:
low,medium,high.
Kiti OpenAI parametrai perduodami nepakeisti; ar konkretus modelis juos palaiko, nustato modelio kūrėjas.
Atsakymas
- choices[].messageobject
Modelio atsakymas:
content, iškviečiant įrankius —tool_calls. - choices[].finish_reasonstring
stop— atsakymas baigtas;length— pasiektasmax_tokens(toks atsakymas vis tiek laikomas pilnu ir apmokestinamas pagal faktinį naudojimą);tool_calls— modelis iškviečia įrankį. - usageobject
prompt_tokens,completion_tokens,total_tokens— pagal juos apskaičiuojamas nurašymas.