Chat Completions
MarkdownRisposta del modello a una conversazione nel formato OpenAI. Il formato più diffuso: è compreso da quasi tutti i client.
Guida completa
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": "Spiega in due frasi che cos’è un’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": "Spiega in due frasi che cos’è un’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: "Spiega in due frasi che cos’è un’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": "Un’API è un accordo su come un programma chiede a un altro di fare qualcosa…"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 21,
"completion_tokens": 48,
"total_tokens": 69
}
}Autorizzazione
- Authorizationheaderobbligatorio
Chiave nel formato
Bearer sk-…. Sono accettati anche gli headerx-api-keyoppurex-goog-api-key.
Corpo della richiesta
- modelstringobbligatorio
ID del modello dal catalogo, ad esempio
claude-sonnet-5-5. Il modello deve supportare il formato OpenAI Chat. - messagesarrayobbligatorio
Cronologia della conversazione: oggetti con
role(system,developer,user,assistant,tool) econtent— una stringa o un array di parti (testo,image_url). - streambooleanfacoltativo
Risposta nel formato Server-Sent Events. Per impostazione predefinita
false. Il testo a pagamento arriva in un unico blocco dopo il calcolo del costo, non parola per parola. - stream_optionsobjectfacoltativo
{"include_usage": true}— invia il valore diusagefinale come ultimo evento del flusso. - max_tokensintegerfacoltativo
Numero massimo di token della risposta. Il nuovo nome è
max_completion_tokens. Se il limite non è specificato, Ailoot imposta 4096 (o meno, se il limite di risposta del modello è inferiore; Grok ha un limite proprio). Per risposte lunghe imposta il limite esplicitamente, altrimenti la risposta si fermerà a 4096 token confinish_reason: "length". Il limite rientra nella riserva: più è alto, più saldo libero serve. - temperaturenumberfacoltativo
Casualità della risposta, solitamente da 0 a 2. Può essere ignorata dai modelli di ragionamento.
- top_pnumberfacoltativo
Alternativa a temperature: quota della massa di probabilità usata per scegliere i token.
- stopstring | arrayfacoltativo
Stringhe che interrompono la generazione.
- toolsarrayfacoltativo
Descrizioni delle funzioni che il modello può chiamare. Il formato è quello di OpenAI:
{"type": "function", "function": {...}}. - tool_choicestring | objectfacoltativo
auto,none,requiredoppure una funzione specifica. - response_formatobjectfacoltativo
{"type": "json_object"}oppure{"type": "json_schema", ...}per una risposta strutturata — se il modello la supporta. - reasoning_effortstringfacoltativo
Profondità del ragionamento per i modelli di ragionamento:
low,medium,high.
Gli altri parametri OpenAI sono inoltrati senza modifiche; il loro supporto nel singolo modello è deciso dallo sviluppatore del modello.
Risposta
- choices[].messageobject
Risposta del modello:
content, in caso di chiamate agli strumenti —tool_calls. - choices[].finish_reasonstring
stop— risposta conclusa;length— raggiunto il limitemax_tokens(la risposta è comunque completa e viene addebitato il consumo effettivo);tool_calls— il modello chiama uno strumento. - usageobject
prompt_tokens,completion_tokens,total_tokens— su questi valori viene calcolato l’addebito.