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
}
}
Envoie une requête pour obtenir une réponse du modèle pour la conversation de chat donnée. Prend en charge les modes streaming et non-streaming. Compatible avec le format de l’API OpenAI Chat Completions.
Authentification
string
requis
Jeton Bearer. Utilisez votre clé API comme jeton Bearer dans l’en-tête Authorization.Format :
Bearer <SUNRA_KEY>Requête
Cet endpoint attend un objet.object[]
requis
Liste des messages pour la conversation.
Afficher propriétés
Afficher propriétés
string
requis
Le rôle de l’auteur du message. Valeurs prises en charge :
system, user, assistant, tool.string | object[]
requis
Le contenu du message. Peut être une chaîne de caractères ou un tableau de parties de contenu pour une entrée multimodale.
string
Un nom optionnel pour le participant. Fournit au modèle des informations pour différencier les participants ayant le même rôle.
object[]
Les appels d’outils générés par le modèle, tels que les appels de fonctions. Présent uniquement dans les messages
assistant.string
L’appel d’outil auquel ce message répond. Présent uniquement dans les messages
tool.string
requis
Le modèle à utiliser pour la complétion. Parcourez les modèles disponibles sur sunra.ai/models.
boolean
défaut:false
Si défini sur
true, des deltas de messages partiels seront envoyés sous forme d’événements server-sent (SSE).integer
Le nombre maximum de tokens à générer dans la complétion. La longueur totale des tokens d’entrée et des tokens générés est limitée par la longueur de contexte du modèle.
number
défaut:1
Température d’échantillonnage entre 0 et 2. Des valeurs plus élevées comme 0.8 rendent la sortie plus aléatoire, des valeurs plus basses comme 0.2 la rendent plus ciblée et déterministe.
number
défaut:1
Paramètre d’échantillonnage par noyau (0-1). Une alternative à l’échantillonnage par température où le modèle considère les tokens avec une masse de probabilité top_p.
number
défaut:0
Nombre entre -2.0 et 2.0. Les valeurs positives pénalisent les nouveaux tokens en fonction de leur fréquence existante dans le texte jusqu’à présent, diminuant la probabilité que le modèle répète la même ligne mot pour mot.
number
défaut:0
Nombre entre -2.0 et 2.0. Les valeurs positives pénalisent les nouveaux tokens en fonction de leur apparition dans le texte jusqu’à présent, augmentant la probabilité que le modèle aborde de nouveaux sujets.
string | string[]
Jusqu’à 4 séquences où l’API cessera de générer des tokens supplémentaires.
integer
défaut:1
Le nombre de choix de complétion de chat à générer pour chaque message d’entrée.
boolean
défaut:false
Indique s’il faut retourner les log-probabilités des tokens de sortie. Si vrai, retourne les log-probabilités de chaque token de sortie retourné dans le contenu du message.
integer
Un entier entre 0 et 20 spécifiant le nombre de tokens les plus probables à retourner à chaque position de token.
logprobs doit être défini sur true si ce paramètre est utilisé.object
integer
Si spécifié, le système fera un effort optimal pour échantillonner de manière déterministe, de sorte que les requêtes répétées avec le même seed et les mêmes paramètres devraient retourner le même résultat.
object[]
Une liste d’outils que le modèle peut appeler. Actuellement, seules les fonctions sont prises en charge comme outil.
Afficher propriétés
Afficher propriétés
string
requis
Le type de l’outil. Actuellement, seul
function est pris en charge.object
requis
La définition de la fonction.
string | object
Contrôle quel outil (le cas échéant) est appelé par le modèle.
none signifie que le modèle n’appellera aucun outil. auto signifie que le modèle peut choisir entre générer un message ou appeler des outils. required signifie que le modèle doit appeler un ou plusieurs outils. Peut également spécifier une fonction particulière via {"type": "function", "function": {"name": "my_function"}}.boolean
défaut:true
Indique s’il faut activer l’appel de fonctions en parallèle lors de l’utilisation d’outils.
string
Un identifiant unique représentant votre utilisateur final, qui peut aider à surveiller et détecter les abus.
Réponse
Réponse de complétion de chat réussie.string
Un identifiant unique pour la complétion de chat.
string
Le type d’objet. Toujours
chat.completion.integer
L’horodatage Unix (en secondes) de la création de la complétion de chat.
string
Le modèle utilisé pour la complétion de chat.
object[]
Une liste de choix de complétion de chat. Peut contenir plus d’un élément si
n est supérieur à 1.Afficher propriétés
Afficher propriétés
integer
L’index du choix dans la liste des choix.
object
Un message de complétion de chat généré par le modèle.
Afficher propriétés
Afficher propriétés
string
Le rôle de l’auteur de ce message. Toujours
assistant.string | null
Le contenu du message.
object[]
Les appels d’outils générés par le modèle, tels que les appels de fonctions.
Afficher propriétés
Afficher propriétés
string
La raison pour laquelle le modèle a cessé de générer des tokens. Peut être
stop, length, tool_calls ou content_filter.object | null
Informations de log-probabilité pour le choix.
object
string | null
Cette empreinte représente la configuration backend avec laquelle le modèle s’exécute. Peut être utilisée avec le paramètre
seed pour comprendre quand des modifications du backend ont été effectuées.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