Chat Completions

Генерация текста в формате OpenAI, обычный и потоковый ответ

Эндпоинт совместим с форматом OpenAI Chat Completions — если вы уже умеете работать с OpenAI, переезд займёт минуты.

POST /v3/chat/completions/create

Запрос

{
  "model": "aiesa-pro",
  "messages": [
    { "role": "system", "content": "Ты — дружелюбный ассистент поддержки." },
    { "role": "user", "content": "Что за модель ты используешь?" }
  ],
  "temperature": 0.7,
  "max_tokens": 1024
}
ПараметрТипПо умолчаниюОписание
modelstring—aiesa-mini или aiesa-pro (обязательно)
messagesмассив—Роли system, user, assistant; минимум одно сообщение
temperaturenumber0.7«Креативность» (0–2)
max_tokensint32000Максимум токенов в ответе (1–32000)
streamboolfalseВернуть ответ потоком (SSE)
response_formatобъект—text, json_object, json_schema — как у OpenAI

Параметр response_format принимает и проверяет те же значения, что и у OpenAI: { "type": "text" }, { "type": "json_object" } или { "type": "json_schema", "json_schema": { "name": "...", "schema": {...} } }.

Ответ (обычный, stream: false)

200 OK — классическая структура чат-ответа:

{
  "id": "chatcmpl-8f3a…",
  "object": "chat.completion",
  "created": 1724300000,
  "model": "aiesa-pro",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Я работаю на основе моделей семейства Aiesa и помогаю с…"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 32,
    "completion_tokens": 48,
    "total_tokens": 80
  }
}

Использование токенов usage — основа тарификации: за чат списывается по входным и выходным токенам.

Потоковый ответ (stream: true)

200 OK, заголовок Content-Type: text/event-stream. Ответ приходит несколькими SSE-событиями:

data: {"id":"chatcmpl-…","object":"chat.completion.chunk","created":…,"model":"aiesa-pro","choices":[{"index":0,"delta":{"role":"assistant","content":""}}]}

data: {"id":"chatcmpl-…","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Я работаю"}}]}

data: {"id":"chatcmpl-…","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":" на основе"}}]}

data: {"id":"chatcmpl-…","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

Собирайте delta.content из событий до data: [DONE] — это и есть полный ответ.

Честное замечание: сегодня потоковый ответ буферизуется на сервере и отдаётся одним пакетом по готовности. Формат SSE при этом уже настоящий — клиентский код останется совместимым с будущим инкрементальным стримингом.

На этой странице