Tutoriel : Utiliser l’API Python de ChatGPT
Étape 1 : Clé API & Installation
Obtenir votre clé API :
- Rendez-vous sur platform.openai.com.
- Menu → Clés API.
- Cliquez sur Créer une clé secrète.
- Nommez-la (ex : “Clé tutoriel Python”).
- Choisissez un projet + permissions.
- Copiez immédiatement la clé.
Utilisez une variable d’environnement :
Windows :
Python:
$env:OPENAI_API_KEY="votre_clef"
Installation du SDK :
Dans un terminal :
Python:
python -m venv venvvenv\Scripts\activatepython -m pip install openai
Vérification :
Créez verify_setup.py :
Python:
from openai import OpenAIclient = OpenAI()print("Client OK :", client.api_key[:8], "…")
Exécutez :
Python:
python verify_setup.py
Étape 2 : Appeler ChatGPT en Python
1. Créer le client
Python:
from openai import OpenAIclient = OpenAI()
2. Envoyer une invite simple (basic_chatgpt_call.py) :
Python:
text_response = client.responses.create(model="gpt-5",input="Tell me a joke about Python programming")print(text_response.output_text)
L’API renvoie la réponse dans output_text.
Notes :
– Les modèles sont non déterministes → réponses différentes à chaque appel.
– Le paramètre temperature (selon modèle) modifie la créativité.
Étape 2 bis : Messages multi‑rôles
Utiliser des rôles améliore la précision et permet de définir des règles.
Exemple d’assistant Python (coding_assistant.py) :
Python:
from openai import OpenAI
client = OpenAI()user_input = input("How can I help you? ")
resp = client.responses.create(model="gpt-5",
input=[{"role": "developer","content": "You are a Python assistant. Only answer Python questions."},
{"role": "user", "content": user_input}],)
print(resp.output_text)
Hiérarchie des rôles :
• developer : instructions prioritaires
• user : demande de l’utilisateur
• assistant : réponses du modèle
Si la question sort du cadre → l’IA le signale.
Étape 3 : Sorties structurées avec Pydantic
Pour recevoir des données structurées (champ par champ), utilisez un modèle Pydantic.
Installer si nécessaire :
Code:
python -m pip install pydantic
Exemple (structured_output.py) :
Python:
from openai import OpenAIfrom pydantic import BaseModel
client = OpenAI()
class CodeOutput(BaseModel):function_name: strcode: strexplanation: strexample_usage: str
resp = client.responses.parse(model="gpt-5",
input=[{"role": "developer","content": "Provide clean, documented Python code."},
{"role": "user","content": "Write a function to add two numbers."}],text_format=CodeOutput,)
result = resp.output_parsed
print(result.function_name)print(result.code)print(result.explanation)print(result.example_usage)
Avantages :
• La structure est garantie
• Accès direct aux champs
• Validation automatique par Pydantic
• Pas besoin d’analyser du texte brut
Prochaines étapes
Sécurité :
• Ne jamais versionner une clé API
• Utiliser des variables d’environnement
• Renouveler les clés si doute
• Éviter les surcoûts → limites de débit
Gestion des erreurs :
• Entourer les appels API avec try/except
• Gérer : coupure réseau, clé invalide, rate limits…
Gestion des coûts :
• Surveiller la consommation dans le dashboard
• Les coûts dépendent des tokens
• Pendant le dev : utiliser des endpoints de test/simulation
Chatbots :
• Conserver l’historique dans le paramètre input
• Attention : plus de contexte = plus coûteux
Vous avez appris à intégrer l'API ChatGPT à vos projets Python. Vous pouvez désormais installer la openaibibliothèque, vous authentifier avec votre clé API, envoyer des requêtes et gérer les réponses, qu'elles soient en texte brut ou structurées.
Voici quelques pistes à explorer pour approfondir vos connaissances :
- Considérations de sécurité : Veillez à toujours protéger vos clés API. Utilisez des variables d’environnement ou des services de gestion de clés sécurisés dans vos applications de production. Ne commettez jamais de version de clés API et renouvelez-les régulièrement si elles ont pu être compromises. Envisagez de mettre en place une limitation du débit dans vos applications afin d’éviter des coûts d’API imprévus.
- Gestion des erreurs : Ajoutez une gestion des erreurs appropriée à vos appels d’API. La bibliothèque OpenAI peut générer des exceptions pour de nombreuses raisons, notamment des problèmes de réseau, des clés d’API invalides ou des erreurs de limitation de débit. Encadrez vos appels d’API dans trydesexcept blocs `try...catch` et `catch` et gérez les exceptions courantes avec élégance.
- Gestion des coûts : Suivez votre utilisation de l’API via le tableau de bord OpenAI. Les tarifs varient selon les modèles et les coûts s’accumulent en fonction du nombre de jetons traités. Évaluez le compromis entre les fonctionnalités et le coût du modèle le plus adapté à votre application. Pendant le développement, testez votre logique d’intégration avec des points de terminaison de simulation gratuits, comme l’API de simulation OpenAI de Beeceptor , afin d’éviter les coûts liés à la création de votre application.
- Contexte de conversation : Pour les applications de chatbot, conservez l’historique des conversations en incluant les messages précédents dans la inputliste. Cela permet à l’IA de maintenir le contexte entre les différents échanges. Notez que les conversations plus longues consomment plus de jetons et augmentent les coûts.