Справочник запросов
API повторяет формат OpenAI, поэтому подходят любые существующие примеры и библиотеки. Ниже — то, что нужно на практике.
Точки входа
Диалог
POST https://api.relaymodels.com/v1/chat/completionsСписок моделей
GET https://api.relaymodels.com/v1/modelsВекторы
POST https://api.relaymodels.com/v1/embeddingsРечь в текст
POST https://api.relaymodels.com/v1/audio/transcriptionsПараметры
| Параметр | Значение | Зачем |
|---|---|---|
model | строка | название модели |
messages | массив | история диалога: system, user, assistant |
temperature | 0 – 2 | 0 — предсказуемо, выше — свободнее |
max_tokens | число | ограничение длины ответа |
stream | true / false | ответ по мере генерации |
tools | массив | функции, которые модель может вызвать |
response_format | объект | строгий JSON в ответе |
{
"model": "gpt-5.6-sol",
"messages": [
{ "role": "system", "content": "Отвечай кратко и по-русски." },
{ "role": "user", "content": "Что такое вектор?" }
],
"temperature": 0.3,
"max_tokens": 500
}Роль
system задаёт поведение на весь диалог — держите там инструкции, а не данные пользователя.Формат ответа
{
"id": "chatcmpl-...",
"model": "gpt-5.6-sol",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": { "role": "assistant", "content": "Привет!" }
}
],
"usage": {
"prompt_tokens": 12,
"completion_tokens": 4,
"total_tokens": 16
}
}Блок usage показывает фактический расход токенов по запросу — удобно логировать его у себя.
Потоковая передача
Для чатов включайте стриминг: первые слова появляются почти сразу.
const stream = await client.chat.completions.create({
model: "gpt-5.6-sol",
messages: [{ role: "user", content: "Расскажи о Байкале" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}