Saltar para o conteúdo principal
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
  }
}
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

Authorization
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.
messages
object[]
obrigatório
Lista de mensagens para a conversa.
model
string
obrigatório
O modelo a ser usado para a completação. Navegue pelos modelos disponíveis em sunra.ai/models.
stream
boolean
padrão:false
Se definido como true, deltas de mensagens parciais serão enviados como eventos server-sent (SSE).
max_tokens
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.
temperature
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.
top_p
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.
frequency_penalty
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.
presence_penalty
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.
stop
string | string[]
Até 4 sequências onde a API deixará de gerar tokens adicionais.
n
integer
padrão:1
Quantas opções de completação de chat gerar para cada mensagem de entrada.
logprobs
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.
top_logprobs
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.
response_format
object
Um objeto especificando o formato que o modelo deve produzir.
seed
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.
tools
object[]
Uma lista de ferramentas que o modelo pode chamar. Atualmente, apenas funções são suportadas como ferramenta.
tool_choice
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"}}.
parallel_tool_calls
boolean
padrão:true
Indica se deve habilitar a chamada de funções em paralelo durante o uso de ferramentas.
user
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.
id
string
Um identificador único para a completação de chat.
object
string
O tipo de objeto. Sempre chat.completion.
created
integer
A marca temporal Unix (em segundos) de quando a completação de chat foi criada.
model
string
O modelo usado para a completação de chat.
choices
object[]
Uma lista de opções de completação de chat. Pode conter mais de uma se n for maior que 1.
usage
object
Estatísticas de uso para a requisição de completação.
system_fingerprint
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?"
      }
    ]
  }'
{
  "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
  }
}