ИнференсСправочник
Chat Completions
Ответ модели на разговор. Совместим с API OpenAI: подойдёт любой его SDK.
Параметры
modelstringобязательный
Имя модели из каталога, например
yenisei-100.messagesarrayобязательный
Сообщения разговора:
roleиcontent.streamboolean
true— ответ приходит по частям (SSE).temperaturenumber
Разнообразие ответа. По умолчанию 1.
top_pnumber
Отбор вероятных токенов. По умолчанию 1.
max_tokensinteger
Предел длины ответа; не больше, чем умеет модель.
stopstring | array
Строки, на которых ответ обрывается.
seedinteger
Для повторяемых ответов.
response_formatobject
JSON-режим:
{"type": "json_object"}.toolsarray
Описание функций, которые модель может вызвать.
reasoning_effortstring
none,low,medium,high— для моделей с размышлениями.
curl https://api.yenisei.ru/v1/chat/completions \
-H "Authorization: Bearer $YENISEI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "yenisei-100",
"messages": [{"role": "user", "content": "Привет!"}]
}'
from openai import OpenAI
client = OpenAI(base_url="https://api.yenisei.ru/v1", api_key=YENISEI_KEY)
resp = client.chat.completions.create(
model="yenisei-100",
messages=[{"role": "user", "content": "Привет!"}],
)
print(resp.choices[0].message.content)
import OpenAI from "openai"
const client = new OpenAI({
baseURL: "https://api.yenisei.ru/v1",
apiKey: process.env.YENISEI_KEY,
})
const resp = await client.chat.completions.create({
model: "yenisei-100",
messages: [{ role: "user", content: "Привет!" }],
})
console.log(resp.choices[0].message.content)
Ответ
{
"id": "chatcmpl-…",
"object": "chat.completion",
"model": "yenisei-100",
"choices": [{
"index": 0,
"finish_reason": "stop",
"message": { "role": "assistant", "content": "Здравствуйте!" }
}],
"usage": { "prompt_tokens": 9, "completion_tokens": 4, "total_tokens": 13 }
}
Ошибки
- 401Нет ключа или ключ неверный.
- 403Модель недоступна на вашем тарифе.
- 404Такой модели нет в каталоге.
- 429Исчерпан запас сессии, недели или месяца. Когда вернётся — в
Retry-After. - 502Модель не ответила. Повторите запрос.
Остаток запаса приходит в заголовке X-RateLimit-Remaining-Session, момент
возврата — в X-RateLimit-Reset.