Chat Completions
MarkdownRespons model terhadap percakapan dalam format OpenAI. Format paling umum: dipahami oleh hampir semua klien.
Panduan lengkap
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": "Jelaskan apa itu API dalam dua kalimat."}
]
}' 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": "Jelaskan apa itu API dalam dua kalimat."}],
)
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: "Jelaskan apa itu API dalam dua kalimat." }],
});
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 adalah kesepakatan tentang cara satu program meminta program lain melakukan sesuatu…"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 21,
"completion_tokens": 48,
"total_tokens": 69
}
}Autentikasi
- Authorizationheaderwajib
Kunci dalam format
Bearer sk-…. Header yang juga dapat digunakan:x-api-keyataux-goog-api-key.
Isi permintaan
- modelstringwajib
ID model dari katalog, misalnya
claude-sonnet-5-5. Model harus mendukung format OpenAI Chat. - messagesarraywajib
Riwayat percakapan: objek dengan
role(system,developer,user,assistant,tool) dancontent— berupa string atau array bagian (teks,image_url). - streambooleanopsional
Respons dalam format Server-Sent Events. Nilai defaultnya
false. Teks berbayar dikirim sekaligus setelah biaya dihitung, bukan kata demi kata. - stream_optionsobjectopsional
{"include_usage": true}— kirim hasil akhirusagesebagai peristiwa terakhir dalam aliran. - max_tokensintegeropsional
Jumlah maksimum token respons. Nama barunya —
max_completion_tokens. Jika batas tidak ditentukan, Ailoot menetapkan 4096 (atau lebih rendah jika batas respons model lebih rendah; Grok memiliki batas tersendiri). Untuk respons panjang, tetapkan batas secara eksplisit; jika tidak, respons akan berhenti pada 4096 token denganfinish_reason: "length". Batas ini termasuk dalam saldo yang ditahan: makin tinggi nilainya, makin besar saldo bebas yang diperlukan. - temperaturenumberopsional
Tingkat keacakan respons, biasanya dari 0 hingga 2. Dapat diabaikan oleh model penalaran.
- top_pnumberopsional
Alternatif untuk temperature: proporsi massa probabilitas yang digunakan untuk memilih token.
- stopstring | arrayopsional
String yang akan menghentikan proses generasi.
- toolsarrayopsional
Deskripsi fungsi yang dapat dipanggil model. Formatnya sama dengan OpenAI:
{"type": "function", "function": {...}}. - tool_choicestring | objectopsional
auto,none,requiredatau fungsi tertentu. - response_formatobjectopsional
{"type": "json_object"}atau{"type": "json_schema", ...}untuk respons terstruktur — jika model mendukungnya. - reasoning_effortstringopsional
Kedalaman penalaran untuk model penalaran:
low,medium,high.
Parameter OpenAI lainnya diteruskan apa adanya; dukungan masing-masing model ditentukan oleh pengembang model tersebut.
Respons
- choices[].messageobject
Respons model:
content, saat memanggil alat —tool_calls. - choices[].finish_reasonstring
stop— respons selesai;length— mencapai batasmax_tokens(respons seperti ini tetap dianggap lengkap dan ditagih berdasarkan pemakaian aktual);tool_calls— model memanggil alat. - usageobject
prompt_tokens,completion_tokens,total_tokens— dasar perhitungan pendebitan.