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
}
}
Envía una solicitud para obtener una respuesta del modelo para la conversación de chat dada. Soporta modos streaming y no-streaming. Compatible con el formato de la API OpenAI Chat Completions.
Autenticación
string
requerido
Token Bearer. Use su clave API como token Bearer en el encabezado Authorization.Formato:
Bearer <SUNRA_KEY>Solicitud
Este endpoint espera un objeto.object[]
requerido
Lista de mensajes para la conversación.
Mostrar propiedades
Mostrar propiedades
string
requerido
El rol del autor del mensaje. Valores admitidos:
system, user, assistant, tool.string | object[]
requerido
El contenido del mensaje. Puede ser una cadena de texto o un array de partes de contenido para entrada multimodal.
string
Un nombre opcional para el participante. Proporciona al modelo información para diferenciar entre participantes del mismo rol.
object[]
Las llamadas a herramientas generadas por el modelo, como llamadas a funciones. Solo presente en mensajes
assistant.string
La llamada a herramienta a la que responde este mensaje. Solo presente en mensajes
tool.string
requerido
El modelo a utilizar para el completado. Explore los modelos disponibles en sunra.ai/models.
boolean
predeterminado:false
Si se establece en
true, se enviarán deltas de mensajes parciales como eventos server-sent (SSE).integer
El número máximo de tokens a generar en el completado. La longitud total de tokens de entrada y tokens generados está limitada por la longitud de contexto del modelo.
number
predeterminado:1
Temperatura de muestreo entre 0 y 2. Valores más altos como 0.8 hacen la salida más aleatoria, valores más bajos como 0.2 la hacen más enfocada y determinista.
number
predeterminado:1
Parámetro de muestreo por núcleo (0-1). Una alternativa al muestreo por temperatura donde el modelo considera los tokens con masa de probabilidad top_p.
number
predeterminado:0
Número entre -2.0 y 2.0. Los valores positivos penalizan los nuevos tokens según su frecuencia existente en el texto hasta el momento, disminuyendo la probabilidad de que el modelo repita la misma línea textualmente.
number
predeterminado:0
Número entre -2.0 y 2.0. Los valores positivos penalizan los nuevos tokens según si aparecen en el texto hasta el momento, aumentando la probabilidad de que el modelo hable sobre nuevos temas.
string | string[]
Hasta 4 secuencias donde la API dejará de generar tokens adicionales.
integer
predeterminado:1
Cuántas opciones de completado de chat generar para cada mensaje de entrada.
boolean
predeterminado:false
Indica si se deben devolver las log-probabilidades de los tokens de salida. Si es verdadero, devuelve las log-probabilidades de cada token de salida retornado en el contenido del mensaje.
integer
Un entero entre 0 y 20 que especifica el número de tokens más probables a devolver en cada posición de token.
logprobs debe estar establecido en true si se usa este parámetro.object
integer
Si se especifica, el sistema hará un esfuerzo óptimo para muestrear de forma determinista, de modo que las solicitudes repetidas con el mismo seed y parámetros deberían devolver el mismo resultado.
object[]
Una lista de herramientas que el modelo puede llamar. Actualmente, solo se admiten funciones como herramienta.
Mostrar propiedades
Mostrar propiedades
string
requerido
El tipo de herramienta. Actualmente, solo se admite
function.object
requerido
La definición de la función.
string | object
Controla qué herramienta (si alguna) es llamada por el modelo.
none significa que el modelo no llamará a ninguna herramienta. auto significa que el modelo puede elegir entre generar un mensaje o llamar herramientas. required significa que el modelo debe llamar a una o más herramientas. También puede especificar una función particular mediante {"type": "function", "function": {"name": "my_function"}}.boolean
predeterminado:true
Indica si se debe habilitar la llamada de funciones en paralelo durante el uso de herramientas.
string
Un identificador único que representa a su usuario final, que puede ayudar a monitorear y detectar abusos.
Respuesta
Respuesta exitosa de completado de chat.string
Un identificador único para el completado de chat.
string
El tipo de objeto. Siempre
chat.completion.integer
La marca de tiempo Unix (en segundos) de cuándo se creó el completado de chat.
string
El modelo utilizado para el completado de chat.
object[]
Una lista de opciones de completado de chat. Puede contener más de una si
n es mayor que 1.Mostrar propiedades
Mostrar propiedades
integer
El índice de la opción en la lista de opciones.
object
Un mensaje de completado de chat generado por el modelo.
Mostrar propiedades
Mostrar propiedades
string
El rol del autor de este mensaje. Siempre
assistant.string | null
El contenido del mensaje.
object[]
Las llamadas a herramientas generadas por el modelo, como llamadas a funciones.
Mostrar propiedades
Mostrar propiedades
string
La razón por la que el modelo dejó de generar tokens. Puede ser
stop, length, tool_calls o content_filter.object | null
Información de log-probabilidad para la opción.
object
string | null
Esta huella digital representa la configuración del backend con la que se ejecuta el modelo. Se puede usar con el parámetro
seed para entender cuándo se han realizado cambios en el backend.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