Aller au contenu principal

Responses

POST/v1/responses

La route /responses est une interface unifiée et moderne permettant de gérer des entrées complexes (texte, outils) et des sorties structurées. Elle offre davantage de flexibilité pour les scénarios avancés, notamment l’agentic AI et l’appel de tools. C’est la route recommandée pour les nouveaux développements compatibles OpenAI.

Structure

Chaque requête doit inclure un JSON similaire à :

Corps de requête
{
"model": "ClovisLLM",
"input": [
{
"role": "system",
"content": [
{ "type": "input_text", "text": "Tu es un assistant utile." }
]
},
{
"role": "user",
"content": [
{ "type": "input_text", "text": "Explique-moi ce qu’est une API." }
]
}
],
"temperature": 0.7,
"max_output_tokens": 2000
}

Description des champs

Corps de requête

ChampTypeObligatoireDescription
modelstring✔️Nom du modèle à utiliser.
inputstringarray✔️Entrée du modèle : texte direct ou historique structuré.
temperaturefloatCréativité (0 = déterministe).
max_output_tokensintLimite maximale de tokens générés.
top_pfloatNucleus sampling.
streambooleanActive le streaming de la réponse.
stopstringarrayToken(s) d’arrêt.
presence_penaltyfloatDécourage la répétition de sujets.
frequency_penaltyfloatDécourage la répétition de mots.
userstringIdentifiant utilisateur (tracking / abuse monitoring).
response_formatobject{ "type": "json_object" } pour forcer une sortie JSON valide.
toolsarrayDéclaration d’outils (function calling).
tool_choicestringobjectChoix de l’outil : auto, none ou outil spécifique.

Réponse de l’API

Tableau principal de la réponse

ChampTypeDescription
idstringIdentifiant unique de la requête (debug / logs).
objectstringType d’objet retourné ("response").
createdint (timestamp)Timestamp UNIX (en secondes).
modelstringModèle effectivement utilisé.
outputarrayListe des sorties générées (messages, tool calls, etc.).
usageobjectCompte des tokens utilisés.

Détail du champ output

Chaque élément de output représente une action ou un message généré par le modèle.

ChampTypeDescription
typestringType de sortie (message, tool_call, …).
rolestringRôle associé (assistant, tool).
contentarrayContenu structuré (texte, JSON, etc.).

Exemple typique d’un message

{
"type": "message",
"role": "assistant",
"content": [
{ "type": "output_text", "text": "Une API est..." }
]
}

Valeurs de finish_reason (conceptuelles)

Dans /responses, la raison de fin peut apparaître dans des champs internes selon le fournisseur.

ValeurSignification
stopRéponse terminée naturellement.
lengthLimite max_output_tokens atteinte.
content_filterArrêt par un filtre de sécurité / modération.
tool_callsAppel d’un outil.
nullStreaming en cours ou erreur interne.

Détails du champ usage

ChampTypeDescription
input_tokensintTokens utilisés pour l’entrée.
output_tokensintTokens générés dans la réponse.
total_tokensintSomme des deux précédents.

Détails du sous-objet message (dans output)

ChampTypeDescription
rolestringsystem, user, assistant, tool.
contentarrayContenu structuré : input_text, output_text, etc.

À quoi sert le champ role ?

ValeurQui parle ?Utilisation typiqueExemple
systemCadre de l’assistantContexte, règles, ton"Tu es un assistant Clovis..."
userUtilisateur finalQuestion / instruction"Explique-moi ce qu’est une API."
assistantLe modèleRéponse générée"Une API est..."
toolOutil externeRésultat d’un tool call{ "results": [...] }

Résumé rapide

{
"id": "string",
"object": "response",
"created": 1700000000,
"model": "ClovisLLM",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{ "type": "output_text", "text": "…" }
]
}
],
"usage": {
"input_tokens": 123,
"output_tokens": 456,
"total_tokens": 579
}
}

Exemples d’utilisation

curl https://llm-gateway.clovis-ai.fr/v1/responses   -H "Content-Type: application/json"   -H "Authorization: Bearer sk-xxxxxxxx"   -d '{
"model": "ClovisLLM",
"input": [
{
"role": "system",
"content": [{ "type": "input_text", "text": "Tu es un assistant utile." }]
},
{
"role": "user",
"content": [{ "type": "input_text", "text": "Explique-moi ce qu’est une API." }]
}
],
"temperature": 0.7
}'