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?"
}
]
}'
import requests
response = requests.post(
"https://api-llm.sunra.ai/v1/chat/completions",
headers={
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-4o",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is the capital of France?"}
]
}
)
print(response.json())
const response = await fetch("https://api-llm.sunra.ai/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "openai/gpt-4o",
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "What is the capital of France?" }
]
})
});
const data = await response.json();
console.log(data);
{
"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
}
}
LLM
Create a chat completion
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?"
}
]
}'
import requests
response = requests.post(
"https://api-llm.sunra.ai/v1/chat/completions",
headers={
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-4o",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is the capital of France?"}
]
}
)
print(response.json())
const response = await fetch("https://api-llm.sunra.ai/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "openai/gpt-4o",
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "What is the capital of France?" }
]
})
});
const data = await response.json();
console.log(data);
{
"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.
Аутентификация
string
обязательно
Bearer-токен. Используйте ваш API-ключ в качестве Bearer-токена в заголовке Authorization.Формат:
Bearer <SUNRA_KEY>Запрос
Этот эндпоинт принимает объект.object[]
обязательно
Список сообщений для беседы.
Показать properties
Показать properties
string
обязательно
Роль автора сообщения. Поддерживаемые значения:
system, user, assistant, tool.string | object[]
обязательно
Содержание сообщения. Может быть строкой или массивом частей контента для мультимодального ввода.
string
Необязательное имя участника. Предоставляет модели информацию для различения участников с одинаковой ролью.
object[]
Вызовы инструментов, сгенерированные моделью, такие как вызовы функций. Присутствует только в сообщениях
assistant.string
Вызов инструмента, на который отвечает это сообщение. Присутствует только в сообщениях
tool.string
обязательно
Модель, используемая для завершения. Просмотрите доступные модели на sunra.ai/models.
boolean
по умолчанию:false
Если установлено значение
true, частичные дельты сообщений будут отправляться как Server-Sent Events (SSE).integer
Максимальное количество токенов для генерации в завершении. Общая длина входных токенов и сгенерированных токенов ограничена длиной контекста модели.
number
по умолчанию:1
Температура сэмплирования от 0 до 2. Более высокие значения, такие как 0.8, делают вывод более случайным, более низкие значения, такие как 0.2, делают его более сфокусированным и детерминированным.
number
по умолчанию:1
Параметр nucleus-сэмплирования (0-1). Альтернатива сэмплированию по температуре, при которой модель учитывает токены с массой вероятности top_p.
number
по умолчанию:0
Число от -2.0 до 2.0. Положительные значения штрафуют новые токены на основе их существующей частоты в тексте, уменьшая вероятность дословного повторения одной и той же строки.
number
по умолчанию:0
Число от -2.0 до 2.0. Положительные значения штрафуют новые токены на основе их присутствия в тексте, увеличивая вероятность того, что модель затронет новые темы.
string | string[]
До 4 последовательностей, при которых API прекратит генерацию дальнейших токенов.
integer
по умолчанию:1
Сколько вариантов завершения чата генерировать для каждого входного сообщения.
boolean
по умолчанию:false
Возвращать ли логарифмические вероятности выходных токенов. Если true, возвращает логарифмические вероятности каждого выходного токена, возвращённого в содержании сообщения.
integer
Целое число от 0 до 20, определяющее количество наиболее вероятных токенов, возвращаемых в каждой позиции токена.
logprobs должен быть установлен в true при использовании этого параметра.object
integer
Если указано, система приложит максимум усилий для детерминированного сэмплирования, чтобы повторные запросы с одинаковым seed и параметрами возвращали одинаковый результат.
object[]
Список инструментов, которые модель может вызвать. В настоящее время в качестве инструмента поддерживаются только функции.
Показать properties
Показать properties
string
обязательно
Тип инструмента. В настоящее время поддерживается только
function.string | object
Управляет тем, какой (если есть) инструмент вызывается моделью.
none означает, что модель не будет вызывать никаких инструментов. auto означает, что модель может выбирать между генерацией сообщения и вызовом инструментов. required означает, что модель должна вызвать один или несколько инструментов. Также можно указать конкретную функцию через {"type": "function", "function": {"name": "my_function"}}.boolean
по умолчанию:true
Разрешить ли параллельные вызовы функций во время использования инструментов.
string
Уникальный идентификатор вашего конечного пользователя, который может помочь в мониторинге и обнаружении злоупотреблений.
Ответ
Успешный ответ завершения чата.string
Уникальный идентификатор завершения чата.
string
Тип объекта. Всегда
chat.completion.integer
Unix-временная метка (в секундах) создания завершения чата.
string
Модель, использованная для завершения чата.
object[]
Список вариантов завершения чата. Может быть более одного, если
n больше 1.Показать properties
Показать properties
integer
Индекс варианта в списке вариантов.
object
Сообщение завершения чата, сгенерированное моделью.
Показать properties
Показать properties
string
Роль автора этого сообщения. Всегда
assistant.string | null
Содержание сообщения.
object[]
Вызовы инструментов, сгенерированные моделью, такие как вызовы функций.
string
Причина остановки генерации токенов моделью. Может быть
stop, length, tool_calls или content_filter.object | null
Информация о логарифмических вероятностях для данного варианта.
object
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?"
}
]
}'
import requests
response = requests.post(
"https://api-llm.sunra.ai/v1/chat/completions",
headers={
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-4o",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is the capital of France?"}
]
}
)
print(response.json())
const response = await fetch("https://api-llm.sunra.ai/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "openai/gpt-4o",
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "What is the capital of France?" }
]
})
});
const data = await response.json();
console.log(data);
{
"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
}
}
⌘I