Chat Completions
MarkdownMallin vastaus keskusteluun OpenAI-muodossa. Yleisin muoto: lähes kaikki asiakkaat ymmärtävät sitä.
Koko opas
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": "Selitä kahdella lauseella, mitä API tarkoittaa."}
]
}' 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": "Selitä kahdella lauseella, mitä API tarkoittaa."}],
)
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: "Selitä kahdella lauseella, mitä API tarkoittaa." }],
});
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 on sopimus siitä, miten yksi ohjelma pyytää toista tekemään jotakin…"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 21,
"completion_tokens": 48,
"total_tokens": 69
}
}Todennus
- Authorizationheaderpakollinen
Avain muodossa
Bearer sk-…. Myös seuraavat otsakkeet käyvät:x-api-keytaix-goog-api-key.
Pyynnön runko
- modelstringpakollinen
Mallin ID luettelosta, esimerkiksi
claude-sonnet-5-5. Mallin on tuettava OpenAI Chat -muotoa. - messagesarraypakollinen
Keskusteluhistoria: objektit, joissa on
role(system,developer,user,assistant,tool) jacontent— merkkijonona tai osien taulukkona (teksti,image_url). - streambooleanvalinnainen
Vastaus Server-Sent Events -muodossa. Oletuksena
false. Maksullinen teksti saapuu yhtenä lohkona hinnan laskemisen jälkeen, ei sana kerrallaan. - stream_optionsobjectvalinnainen
{"include_usage": true}— lähetä lopullinenusagevirran viimeisenä tapahtumana. - max_tokensintegervalinnainen
Vastauksen tokenien enimmäismäärä. Uusi nimi on
max_completion_tokens. Jos rajaa ei anneta, Ailoot asettaa arvoksi 4096 (tai vähemmän, jos mallin vastausraja on pienempi; Grokilla on oma rajansa). Määritä raja erikseen pitkille vastauksille, muuten vastaus päättyy 4096 tokeniin syylläfinish_reason: "length". Raja sisältyy varaukseen: mitä suurempi se on, sitä enemmän vapaata saldoa tarvitaan. - temperaturenumbervalinnainen
Vastauksen satunnaisuus, tavallisesti 0–2. Päättelymallit voivat sivuuttaa sen.
- top_pnumbervalinnainen
Vaihtoehto temperature-parametrille: tokenien valintaan käytettävä osuus todennäköisyysmassasta.
- stopstring | arrayvalinnainen
Merkkijonot, joiden kohdalla generointi pysähtyy.
- toolsarrayvalinnainen
Mallin kutsuttavissa olevien funktioiden kuvaukset. Muoto on sama kuin OpenAIlla:
{"type": "function", "function": {...}}. - tool_choicestring | objectvalinnainen
auto,none,requiredtai tietty funktio. - response_formatobjectvalinnainen
{"type": "json_object"}tai{"type": "json_schema", ...}rakenteiseen vastaukseen — jos malli tukee sitä. - reasoning_effortstringvalinnainen
Päättelyn syvyys päättelymalleille:
low,medium,high.
Muut OpenAI-parametrit välitetään sellaisinaan; mallin kehittäjä päättää, tukeeko kyseinen malli niitä.
Vastaus
- choices[].messageobject
Mallin vastaus:
content, työkalukutsuissa —tool_calls. - choices[].finish_reasonstring
stop— vastaus on valmis;length— saavutettiin rajamax_tokens(tällainenkin vastaus on täydellinen, ja siitä veloitetaan toteutuneen käytön mukaan);tool_calls— malli kutsuu työkalua. - usageobject
prompt_tokens,completion_tokens,total_tokens— niiden perusteella lasketaan veloitus.