Chat Completions
MarkdownModellens svar på en samtale i OpenAI-format. Det mest udbredte format: næsten alle klienter forstår det.
Komplet guide
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": "Forklar med to sætninger, hvad API er."}
]
}' 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": "Forklar med to sætninger, hvad API er."}],
)
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: "Forklar med to sætninger, hvad API er." }],
});
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 er en aftale om, hvordan et program beder et andet om at gøre noget…"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 21,
"completion_tokens": 48,
"total_tokens": 69
}
}Godkendelse
- Authorizationheaderpåkrævet
Nøgle i formatet
Bearer sk-…. Følgende headers kan også bruges:x-api-keyellerx-goog-api-key.
Anmodningens indhold
- modelstringpåkrævet
Model-ID fra kataloget, for eksempel
claude-sonnet-5-5. Modellen skal understøtte OpenAI Chat-formatet. - messagesarraypåkrævet
Samtalehistorik: objekter med
role(system,developer,user,assistant,tool) ogcontent— en streng eller en liste af dele (tekst,image_url). - streambooleanvalgfrit
Svar i Server-Sent Events-format. Som standard
false. Betalt tekst kommer i én blok efter beregning af prisen, ikke ord for ord. - stream_optionsobjectvalgfrit
{"include_usage": true}— send det endeligeusagesom strømmens sidste hændelse. - max_tokensintegervalgfrit
Det maksimale antal tokens i svaret. Det nye navn er
max_completion_tokens. Hvis grænsen ikke angives, indsætter Ailoot 4096 (eller færre, hvis modellens svargrænse er lavere; Grok har sin egen grænse). Angiv grænsen udtrykkeligt ved lange svar, ellers stopper svaret ved 4096 tokens medfinish_reason: "length". Grænsen indgår i reservationen: jo højere den er, desto større ledig saldo kræves. - temperaturenumbervalgfrit
Hvor tilfældigt svaret er, normalt fra 0 til 2. Kan blive ignoreret af ræsonneringsmodeller.
- top_pnumbervalgfrit
Alternativ til temperature: den andel af sandsynlighedsmassen, der bruges til at vælge tokens.
- stopstring | arrayvalgfrit
Strenge, som får genereringen til at stoppe.
- toolsarrayvalgfrit
Beskrivelser af funktioner, som modellen kan kalde. Formatet er som hos OpenAI:
{"type": "function", "function": {...}}. - tool_choicestring | objectvalgfrit
auto,none,requiredeller en bestemt funktion. - response_formatobjectvalgfrit
{"type": "json_object"}eller{"type": "json_schema", ...}til et struktureret svar — hvis modellen understøtter det. - reasoning_effortstringvalgfrit
Ræsonneringsdybde for ræsonneringsmodeller:
low,medium,high.
De øvrige OpenAI-parametre videresendes uændret; det er modellens udvikler, der afgør, om den enkelte model understøtter dem.
Svar
- choices[].messageobject
Modellens svar:
content, ved værktøjskald —tool_calls. - choices[].finish_reasonstring
stop— svaret er afsluttet;length— grænsenmax_tokenser nået (svaret er stadig fuldstændigt og betales efter det faktiske forbrug);tool_calls— modellen kalder et værktøj. - usageobject
prompt_tokens,completion_tokens,total_tokens— de bruges til at beregne debiteringen.