Chat Completions
MarkdownДиалогқа модельдің OpenAI форматындағы жауабы. Ең кең тараған формат: оны клиенттердің барлығы дерлік түсінеді.
Толық нұсқаулық
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 деген не екенін екі сөйлеммен түсіндір."}
]
}' 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 деген не екенін екі сөйлеммен түсіндір."}],
)
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 деген не екенін екі сөйлеммен түсіндір." }],
});
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 — бір бағдарламаның екіншісінен бір әрекетті орындауды қалай сұрайтыны туралы келісім…"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 21,
"completion_tokens": 48,
"total_tokens": 69
}
}Авторизация
- Authorizationheaderміндетті
Кілт мына пішімде
Bearer sk-…. Сондай-ақ мына тақырыптар жарайды:x-api-keyнемесеx-goog-api-key.
Сұрау денесі
- modelstringміндетті
Модель ID-і мына жерден: каталогтан, мысалы
claude-sonnet-5-5. Модель OpenAI Chat форматын қолдауы керек. - messagesarrayміндетті
Диалог тарихы: мына өрістері бар нысандар:
role(system,developer,user,assistant,tool) жәнеcontent— жол немесе бөліктер массиві (мәтін,image_url). - streambooleanміндетті емес
Server-Sent Events форматындағы жауап. Әдепкі мәні
false. Ақылы мәтін жеке сөздермен біртіндеп емес, құны есептелгеннен кейін бір блокпен келеді. - stream_optionsobjectміндетті емес
{"include_usage": true}— қорытынды деректі жіберу:usageағынның соңғы оқиғасында. - max_tokensintegerміндетті емес
Жауаптағы токендердің ең көп саны. Жаңа атауы —
max_completion_tokens. Лимит көрсетілмесе, Ailoot 4096 қояды (немесе модельдің жауап лимиті одан аз болса, сол мәнді; Grok-тың өз лимиті бар). Ұзын жауаптар үшін лимитті нақты көрсетіңіз, әйтпесе жауап 4096 токенде мына мәнмен тоқтайды:finish_reason: "length". Лимит резервке кіреді: ол неғұрлым жоғары болса, бос баланста соғұрлым көп қаражат қажет. - temperaturenumberміндетті емес
Жауаптың кездейсоқтық деңгейі, әдетте 0-ден 2-ге дейін. Пайымдайтын модельдерде ескерілмеуі мүмкін.
- top_pnumberміндетті емес
temperature баламасы: токендерді таңдау үшін ықтималдық массасының үлесі.
- stopstring | arrayміндетті емес
Генерацияны тоқтататын жолдар.
- toolsarrayміндетті емес
Модель шақыра алатын функциялардың сипаттамалары. Форматы OpenAI-дегідей:
{"type": "function", "function": {...}}. - tool_choicestring | objectміндетті емес
auto,none,requiredнемесе нақты функция. - response_formatobjectміндетті емес
{"type": "json_object"}немесе{"type": "json_schema", ...}құрылымды жауап үшін — модель қолдаса. - reasoning_effortstringміндетті емес
Пайымдайтын модельдердің пайымдау тереңдігі:
low,medium,high.
OpenAI-дың қалған параметрлері өзгеріссіз беріледі; нақты модельдің оларды қолдайтынын модель әзірлеушісі анықтайды.
Жауап
- choices[].messageobject
Модель жауабы:
content, құралдар шақырылғанда —tool_calls. - choices[].finish_reasonstring
stop— жауап аяқталды;length— мына лимитке жетті:max_tokens(мұндай жауап та толық саналады және нақты пайдаланылған көлем бойынша төленеді);tool_calls— модель құрал шақырып жатыр. - usageobject
prompt_tokens,completion_tokens,total_tokens— есептен шығарылатын сома осы деректермен есептеледі.