Modèles
| Modèle | Usage typique |
|---|---|
| GPT-4o | Usage général, multimodal (texte, image) |
| Série « o » (raisonnement) | Problèmes complexes nécessitant plusieurs étapes de raisonnement explicite |
| GPT-4o mini | Réponses rapides, tâches simples, coût réduit |
OpenAI fait évoluer sa gamme régulièrement. Vérifier platform.openai.com/docs/models pour la liste à jour et les dépréciations.
Interface web (chatgpt.com)
Custom GPTs
Un Custom GPT est une configuration réutilisable :
- Instructions personnalisées (comportement, ton, contraintes)
- Fichiers de connaissance (documents consultés par le GPT)
- Actions (appels à des API externes définis par un schéma OpenAPI)
Utile pour packager un assistant spécialisé (ex : « relecteur de configs Nginx ») réutilisable sans retaper le contexte.
Projects
Regroupe conversations, fichiers et instructions personnalisées sous un même contexte persistant – équivalent conceptuel aux Projects de claude.ai.
Canvas
Espace d’édition séparé de la conversation pour du texte ou du code long, avec historique de versions et édition ciblée (sélectionner un passage pour demander une modification localisée plutôt que régénérer tout le contenu).
Mémoire
ChatGPT peut retenir des informations entre conversations (préférences, contexte récurrent) si la mémoire est activée dans les paramètres. Consultable et modifiable manuellement – à vérifier périodiquement si le contexte semble incohérent.
API – bases
Authentification et endpoint (Chat Completions)
curl https://api.openai.com/v1/chat/completions
-H "Authorization: Bearer $OPENAI_API_KEY"
-H "Content-Type: application/json"
-d '{
"model": "gpt-4o",
"messages": [
{"role": "system", "content": "Tu es un assistant technique concis."},
{"role": "user", "content": "Explique la différence entre TCP et UDP en 3 phrases."}
]
}'
Paramètres courants
| Paramètre | Rôle |
|---|---|
model |
Identifiant du modèle |
messages |
Historique avec rôles system/user/assistant |
max_tokens |
Limite de tokens en sortie |
temperature |
0 = déterministe, plus haut = plus créatif |
response_format |
Forcer une sortie structurée (ex : {"type": "json_object"}) |
stream |
true pour recevoir la réponse en flux |
tools |
Déclaration de fonctions/outils appelables par le modèle |
Sortie structurée (JSON)
{
"model": "gpt-4o",
"messages": [
{"role": "user", "content": "Extrait le nom et la version depuis: nginx/1.24.0"}
],
"response_format": {"type": "json_object"}
}
Force une réponse JSON valide plutôt qu’un texte libre à parser soi-même – utile pour intégrer la réponse dans un script sans post-traitement fragile.
Function calling / tools
{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "Quel est l'état du service nginx ?"}],
"tools": [
{
"type": "function",
"function": {
"name": "check_service_status",
"description": "Vérifie l'état d'un service systemd",
"parameters": {
"type": "object",
"properties": {
"service_name": {"type": "string"}
},
"required": ["service_name"]
}
}
}
]
}
Le modèle répond avec un appel de fonction structuré (nom + arguments) plutôt qu’une réponse texte, à exécuter côté application puis à renvoyer le résultat dans un tour suivant.
Bonnes pratiques de prompt
Séparer instructions système et demande utilisateur
Mettre le comportement permanent (ton, contraintes, format) dans le message system, la demande spécifique dans user – évite de répéter le contexte à chaque appel API.
Donner des exemples (few-shot)
Convertis ces logs au format structuré. Exemple :
Entrée : "2026-08-27 10:15:32 ERROR Connection refused on port 3306"
Sortie : {"date": "2026-08-27", "time": "10:15:32", "level": "ERROR", "message": "Connection refused on port 3306"}
Entrée : "2026-08-27 10:16:01 WARN High memory usage: 87%"
Sortie :
Un ou deux exemples avant la vraie tâche stabilisent fortement le format de sortie, surtout pour du parsing/formatage strict.
Demander une auto-vérification
Génère la config, puis relis-la toi-même et signale toute
incohérence avant de la présenter comme finale.
Limites à connaître
- Pas d’accès internet en temps réel sauf activation explicite d’un outil de recherche.
- Date de coupure des connaissances : vérifier la doc du modèle utilisé.
- Le function calling exécute uniquement la déclaration de l’appel – le code réel de la fonction doit être implémenté et exécuté côté application, jamais côté modèle.