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
}
}
Envia uma requisição para obter uma resposta do modelo para a conversa de chat fornecida. Suporta modos streaming e não-streaming. Compatível com o formato da API OpenAI Chat Completions.
Autenticação
string
obrigatório
Token Bearer. Use sua chave de API como token Bearer no cabeçalho Authorization.Formato:
Bearer <SUNRA_KEY>Requisição
Este endpoint espera um objeto.object[]
obrigatório
Lista de mensagens para a conversa.
Mostrar propriedades
Mostrar propriedades
string
obrigatório
O papel do autor da mensagem. Valores suportados:
system, user, assistant, tool.string | object[]
obrigatório
O conteúdo da mensagem. Pode ser uma string ou um array de partes de conteúdo para entrada multimodal.
string
Um nome opcional para o participante. Fornece ao modelo informações para diferenciar entre participantes com o mesmo papel.
object[]
As chamadas de ferramentas geradas pelo modelo, como chamadas de funções. Presente apenas em mensagens
assistant.string
A chamada de ferramenta à qual esta mensagem está respondendo. Presente apenas em mensagens
tool.string
obrigatório
O modelo a ser usado para a completação. Navegue pelos modelos disponíveis em sunra.ai/models.
boolean
padrão:false
Se definido como
true, deltas de mensagens parciais serão enviados como eventos server-sent (SSE).integer
O número máximo de tokens a gerar na completação. O comprimento total dos tokens de entrada e tokens gerados é limitado pelo comprimento de contexto do modelo.
number
padrão:1
Temperatura de amostragem entre 0 e 2. Valores mais altos como 0.8 tornam a saída mais aleatória, valores mais baixos como 0.2 a tornam mais focada e determinística.
number
padrão:1
Parâmetro de amostragem por núcleo (0-1). Uma alternativa à amostragem por temperatura onde o modelo considera os tokens com massa de probabilidade top_p.
number
padrão:0
Número entre -2.0 e 2.0. Valores positivos penalizam novos tokens com base na sua frequência existente no texto até o momento, diminuindo a probabilidade do modelo repetir a mesma linha literalmente.
number
padrão:0
Número entre -2.0 e 2.0. Valores positivos penalizam novos tokens com base em se eles aparecem no texto até o momento, aumentando a probabilidade do modelo falar sobre novos tópicos.
string | string[]
Até 4 sequências onde a API deixará de gerar tokens adicionais.
integer
padrão:1
Quantas opções de completação de chat gerar para cada mensagem de entrada.
boolean
padrão:false
Indica se devem ser retornadas as log-probabilidades dos tokens de saída. Se verdadeiro, retorna as log-probabilidades de cada token de saída retornado no conteúdo da mensagem.
integer
Um inteiro entre 0 e 20 especificando o número de tokens mais prováveis a retornar em cada posição de token.
logprobs deve estar definido como true se este parâmetro for usado.object
integer
Se especificado, o sistema fará um esforço otimizado para amostrar de forma determinística, de modo que requisições repetidas com o mesmo seed e parâmetros devem retornar o mesmo resultado.
object[]
Uma lista de ferramentas que o modelo pode chamar. Atualmente, apenas funções são suportadas como ferramenta.
Mostrar propriedades
Mostrar propriedades
string
obrigatório
O tipo da ferramenta. Atualmente, apenas
function é suportado.object
obrigatório
string | object
Controla qual ferramenta (se alguma) é chamada pelo modelo.
none significa que o modelo não chamará nenhuma ferramenta. auto significa que o modelo pode escolher entre gerar uma mensagem ou chamar ferramentas. required significa que o modelo deve chamar uma ou mais ferramentas. Também pode especificar uma função particular via {"type": "function", "function": {"name": "my_function"}}.boolean
padrão:true
Indica se deve habilitar a chamada de funções em paralelo durante o uso de ferramentas.
string
Um identificador único representando seu usuário final, que pode ajudar a monitorar e detectar abusos.
Resposta
Resposta de completação de chat bem-sucedida.string
Um identificador único para a completação de chat.
string
O tipo de objeto. Sempre
chat.completion.integer
A marca temporal Unix (em segundos) de quando a completação de chat foi criada.
string
O modelo usado para a completação de chat.
object[]
Uma lista de opções de completação de chat. Pode conter mais de uma se
n for maior que 1.Mostrar propriedades
Mostrar propriedades
integer
O índice da opção na lista de opções.
object
Uma mensagem de completação de chat gerada pelo modelo.
Mostrar propriedades
Mostrar propriedades
string
O papel do autor desta mensagem. Sempre
assistant.string | null
O conteúdo da mensagem.
object[]
As chamadas de ferramentas geradas pelo modelo, como chamadas de funções.
string
A razão pela qual o modelo parou de gerar tokens. Pode ser
stop, length, tool_calls ou content_filter.object | null
Informações de log-probabilidade para a opção.
object
string | null
Esta impressão digital representa a configuração do backend com a qual o modelo é executado. Pode ser usada com o parâmetro
seed para entender quando mudanças no backend foram feitas.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