Перейти к основному содержанию
POST
/
v1
/
chat
/
completions
curl -X POST https://api-llm.sunra.ai/v1/chat/completions \
  -H "Authorization: Bearer <SUNRA_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "What is the capital of France?"
      }
    ]
  }'
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "openai/gpt-4o",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "The capital of France is Paris."
      },
      "finish_reason": "stop",
      "logprobs": null
    }
  ],
  "system_fingerprint": "fp_44709d6fcb",
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 8,
    "total_tokens": 33
  }
}
Отправляет запрос на получение ответа модели для указанной чат-беседы. Поддерживает как потоковый, так и непотоковый режимы. Совместим с форматом API OpenAI Chat Completions.

Аутентификация

Authorization
string
обязательно
Bearer-токен. Используйте ваш API-ключ в качестве Bearer-токена в заголовке Authorization.Формат: Bearer <SUNRA_KEY>

Запрос

Этот эндпоинт принимает объект.
messages
object[]
обязательно
Список сообщений для беседы.
model
string
обязательно
Модель, используемая для завершения. Просмотрите доступные модели на sunra.ai/models.
stream
boolean
по умолчанию:false
Если установлено значение true, частичные дельты сообщений будут отправляться как Server-Sent Events (SSE).
max_tokens
integer
Максимальное количество токенов для генерации в завершении. Общая длина входных токенов и сгенерированных токенов ограничена длиной контекста модели.
temperature
number
по умолчанию:1
Температура сэмплирования от 0 до 2. Более высокие значения, такие как 0.8, делают вывод более случайным, более низкие значения, такие как 0.2, делают его более сфокусированным и детерминированным.
top_p
number
по умолчанию:1
Параметр nucleus-сэмплирования (0-1). Альтернатива сэмплированию по температуре, при которой модель учитывает токены с массой вероятности top_p.
frequency_penalty
number
по умолчанию:0
Число от -2.0 до 2.0. Положительные значения штрафуют новые токены на основе их существующей частоты в тексте, уменьшая вероятность дословного повторения одной и той же строки.
presence_penalty
number
по умолчанию:0
Число от -2.0 до 2.0. Положительные значения штрафуют новые токены на основе их присутствия в тексте, увеличивая вероятность того, что модель затронет новые темы.
stop
string | string[]
До 4 последовательностей, при которых API прекратит генерацию дальнейших токенов.
n
integer
по умолчанию:1
Сколько вариантов завершения чата генерировать для каждого входного сообщения.
logprobs
boolean
по умолчанию:false
Возвращать ли логарифмические вероятности выходных токенов. Если true, возвращает логарифмические вероятности каждого выходного токена, возвращённого в содержании сообщения.
top_logprobs
integer
Целое число от 0 до 20, определяющее количество наиболее вероятных токенов, возвращаемых в каждой позиции токена. logprobs должен быть установлен в true при использовании этого параметра.
response_format
object
Объект, определяющий формат, который должна выводить модель.
seed
integer
Если указано, система приложит максимум усилий для детерминированного сэмплирования, чтобы повторные запросы с одинаковым seed и параметрами возвращали одинаковый результат.
tools
object[]
Список инструментов, которые модель может вызвать. В настоящее время в качестве инструмента поддерживаются только функции.
tool_choice
string | object
Управляет тем, какой (если есть) инструмент вызывается моделью. none означает, что модель не будет вызывать никаких инструментов. auto означает, что модель может выбирать между генерацией сообщения и вызовом инструментов. required означает, что модель должна вызвать один или несколько инструментов. Также можно указать конкретную функцию через {"type": "function", "function": {"name": "my_function"}}.
parallel_tool_calls
boolean
по умолчанию:true
Разрешить ли параллельные вызовы функций во время использования инструментов.
user
string
Уникальный идентификатор вашего конечного пользователя, который может помочь в мониторинге и обнаружении злоупотреблений.

Ответ

Успешный ответ завершения чата.
id
string
Уникальный идентификатор завершения чата.
object
string
Тип объекта. Всегда chat.completion.
created
integer
Unix-временная метка (в секундах) создания завершения чата.
model
string
Модель, использованная для завершения чата.
choices
object[]
Список вариантов завершения чата. Может быть более одного, если n больше 1.
usage
object
Статистика использования для запроса завершения.
system_fingerprint
string | null
Этот отпечаток представляет конфигурацию бэкенда, на которой работает модель. Может использоваться с параметром seed для отслеживания изменений в бэкенде.
curl -X POST https://api-llm.sunra.ai/v1/chat/completions \
  -H "Authorization: Bearer <SUNRA_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "What is the capital of France?"
      }
    ]
  }'
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "openai/gpt-4o",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "The capital of France is Paris."
      },
      "finish_reason": "stop",
      "logprobs": null
    }
  ],
  "system_fingerprint": "fp_44709d6fcb",
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 8,
    "total_tokens": 33
  }
}