Chat Completions
MarkdownModelning OpenAI formatidagi suhbatga javobi. Eng keng tarqalgan format: deyarli barcha mijoz dasturlari uni tushunadi.
To‘liq qo‘llanma
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": "API nima ekanini ikki gapda tushuntiring."}
]
}' 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": "API nima ekanini ikki gapda tushuntiring."}],
)
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: "API nima ekanini ikki gapda tushuntiring." }],
});
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 — bir dastur boshqasidan qanday qilib biror ishni bajarishni so‘rashi haqidagi kelishuv…"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 21,
"completion_tokens": 48,
"total_tokens": 69
}
}Avtorizatsiya
- Authorizationheadermajburiy
Kalit quyidagi ko‘rinishda:
Bearer sk-…. Quyidagi sarlavhalar ham mos keladi:x-api-keyyokix-goog-api-key.
So‘rov tanasi
- modelstringmajburiy
Model ID’si katalogdan, masalan
claude-sonnet-5-5. Model OpenAI Chat formatini qo‘llab-quvvatlashi kerak. - messagesarraymajburiy
Suhbat tarixi: quyidagi maydonlarga ega obyektlar:
role(system,developer,user,assistant,tool) vacontent— satr yoki qismlar massivi (matn,image_url). - streambooleanixtiyoriy
Server-Sent Events formatidagi javob. Standart qiymat
false. Narx hisoblangach, pullik matn so‘zma-so‘z emas, bitta blok ko‘rinishida keladi. - stream_optionsobjectixtiyoriy
{"include_usage": true}— yakuniyusageqiymatini oqimning oxirgi hodisasi sifatida yuborish. - max_tokensintegerixtiyoriy
Javob tokenlarining maksimal soni. Yangi nomi —
max_completion_tokens. Limit ko‘rsatilmasa, Ailoot 4096 ni qo‘yadi (yoki modelning javob limiti kichikroq bo‘lsa, kamroq; Grok’ning o‘z limiti bor). Uzoq javoblar uchun limitni aniq belgilang, aks holda javob 4096 tokenda quyidagi sabab bilan to‘xtaydi:finish_reason: "length". Limit zaxiraga kiradi: u qancha katta bo‘lsa, shuncha ko‘p erkin balans kerak. - temperaturenumberixtiyoriy
Javobning tasodifiyligi, odatda 0 dan 2 gacha. Fikrlaydigan modellarda e’tiborga olinmasligi mumkin.
- top_pnumberixtiyoriy
temperature uchun muqobil: token tanlash uchun ehtimollik massasining ulushi.
- stopstring | arrayixtiyoriy
Generatsiya to‘xtaydigan satrlar.
- toolsarrayixtiyoriy
Model chaqirishi mumkin bo‘lgan funksiyalar tavsifi. Format OpenAI’dagi kabi:
{"type": "function", "function": {...}}. - tool_choicestring | objectixtiyoriy
auto,none,requiredyoki aniq bir funksiya. - response_formatobjectixtiyoriy
{"type": "json_object"}yoki{"type": "json_schema", ...}tuzilmali javob uchun — agar model buni qo‘llab-quvvatlasa. - reasoning_effortstringixtiyoriy
Fikrlaydigan modellarning fikrlash chuqurligi:
low,medium,high.
OpenAI’ning qolgan parametrlari o‘z holicha uzatiladi; ularni aniq model qo‘llab-quvvatlashini model ishlab chiquvchisi belgilaydi.
Javob
- choices[].messageobject
Model javobi:
content, vositalar chaqirilganda —tool_calls. - choices[].finish_reasonstring
stop— javob tugagan;length— quyidagi limitga yetgan:max_tokens(bunday javob baribir to‘liq hisoblanadi va haqiqiy foydalanish bo‘yicha to‘lanadi);tool_calls— model vositani chaqiradi. - usageobject
prompt_tokens,completion_tokens,total_tokens— yechib olinadigan summa shular asosida hisoblanadi.