Votre premier appel API
Votre premier appel API
C’est le moment de passer à la pratique. Dans cette leçon, vous allez effectuer votre premier appel à la Responses API, comprendre la structure de la réponse et expérimenter avec les paramètres de base.
L’appel le plus simple
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5.3",
input="Quelle est la différence entre Python et JavaScript ?"
)
print(response.output_text)
# Résultat : Python est un langage polyvalent orienté vers la science des
# données et le backend, tandis que JavaScript est principalement utilisé
# pour le développement web frontend et backend (via Node.js)...
Deux paramètres suffisent :
model: le modèle à utiliserinput: votre prompt (texte ou liste de messages)
Comprendre la réponse
L’objet response contient bien plus que le texte :
response = client.responses.create(
model="gpt-5.3",
input="Bonjour, comment allez-vous ?"
)
# Le texte de la réponse (raccourci)
print(response.output_text)
# L'identifiant unique de la réponse
print(f"ID : {response.id}")
# Le modèle utilisé
print(f"Modèle : {response.model}")
# Les tokens consommés
print(f"Tokens entrée : {response.usage.input_tokens}")
print(f"Tokens sortie : {response.usage.output_tokens}")
print(f"Tokens total : {response.usage.total_tokens}")
# Résultat :
# Bonjour ! Je vais très bien, merci. Comment puis-je vous aider ?
# ID : resp_abc123xyz
# Modèle : gpt-5.3-2026-03-01
# Tokens entrée : 14
# Tokens sortie : 19
# Tokens total : 33
Les paramètres essentiels
Température : contrôler la créativité
# Température basse (0.0) = déterministe, factuel
response_factuel = client.responses.create(
model="gpt-5.3",
input="Quelle est la capitale de l'Allemagne ?",
temperature=0.0
)
print(response_factuel.output_text)
# Résultat : La capitale de l'Allemagne est Berlin.
# Température haute (1.0) = créatif, varié
response_creatif = client.responses.create(
model="gpt-5.3",
input="Inventez un nom pour un café littéraire.",
temperature=1.0
)
print(response_creatif.output_text)
# Résultat : "Les Pages Vagabondes" — un café où chaque table porte
# le nom d'un chapitre célèbre.
Instructions système
Vous pouvez fournir des instructions qui guident le comportement du modèle :
response = client.responses.create(
model="gpt-5.3",
instructions="Vous êtes un expert en cuisine française. "
"Répondez toujours avec des suggestions de recettes.",
input="Je ne sais pas quoi faire avec des courgettes."
)
print(response.output_text)
# Résultat : Voici trois idées pour vos courgettes :
# 1. Gratin de courgettes au fromage de chèvre...
# 2. Ratatouille provençale...
# 3. Velouté froid de courgettes à la menthe...
Max output tokens
Limitez la longueur de la réponse :
response = client.responses.create(
model="gpt-5.3",
input="Expliquez la relativité générale.",
max_output_tokens=100
)
print(response.output_text)
print(f"Tokens utilisés : {response.usage.output_tokens}")
# La réponse sera tronquée à environ 100 tokens
Input structuré : aller plus loin
L’input peut être une liste de messages pour des conversations plus complexes :
response = client.responses.create(
model="gpt-5.3",
input=[
{
"role": "user",
"content": "Traduisez en anglais : Bonjour le monde"
}
]
)
print(response.output_text)
# Résultat : Hello world
# Avec un contexte de conversation
response = client.responses.create(
model="gpt-5.3",
input=[
{
"role": "user",
"content": "Mon langage préféré est Python."
},
{
"role": "assistant",
"content": "Python est un excellent choix ! Il est très polyvalent."
},
{
"role": "user",
"content": "Donnez-moi un conseil pour progresser."
}
]
)
print(response.output_text)
# Résultat : Pour progresser en Python, je vous recommande de...
Gestion des erreurs de base
Protégez toujours vos appels API :
from openai import OpenAI, APIError, AuthenticationError, RateLimitError
client = OpenAI()
try:
response = client.responses.create(
model="gpt-5.3",
input="Bonjour !"
)
print(response.output_text)
except AuthenticationError:
print("Erreur : clé API invalide ou manquante")
except RateLimitError:
print("Erreur : trop de requêtes, attendez un moment")
except APIError as e:
print(f"Erreur API : {e.message}")
Exercice pratique
Créez un script qui pose trois questions différentes et affiche les réponses avec le nombre de tokens consommés :
from openai import OpenAI
client = OpenAI()
questions = [
"Quel est le plus grand océan du monde ?",
"Qui a peint la Joconde ?",
"Combien de planètes compte le système solaire ?"
]
total_tokens = 0
for question in questions:
response = client.responses.create(
model="gpt-5.3",
input=question,
temperature=0.0
)
tokens = response.usage.total_tokens
total_tokens += tokens
print(f"Q: {question}")
print(f"R: {response.output_text}")
print(f" ({tokens} tokens)\n")
print(f"Total : {total_tokens} tokens consommés")
Points clés à retenir
- Un appel basique nécessite seulement
modeletinput response.output_textdonne le texte de la réponseresponse.usagedétaille la consommation de tokens- La
temperaturecontrôle la créativité (0.0 = factuel, 1.0 = créatif) - Les
instructionsremplacent le message système de Chat Completions - Gérez toujours les erreurs avec des blocs try/except