Generative AI

Azure OpenAI : choisir entre Luna, Terra, Sol et Astra

Quatre fiches d’évaluation Luna, Terra, Sol et Astra sur un bureau, devant un ordinateur, avec un crayon et une calculatrice.

Pour choisir entre Luna, Terra, Sol et Astra sur Azure OpenAI, comparez-les sur les requêtes de votre backend : qualité des réponses, temps de traitement et coût par requête terminée. Il faut aussi choisir un type de déploiement dans Microsoft Foundry. Un tarif Global Standard ne décrit pas à lui seul le coût ni le lieu de traitement d’un déploiement européen.

Prenons un assistant chargé d’analyser des incidents à partir de logs et de documentation interne. Classer un ticket, lire une capture d’écran et proposer un correctif demandent des évaluations différentes. Voici comment comparer les modèles sur Azure, avec les paramètres à relever pour pouvoir reproduire le test.

Luna, Terra, Sol et Astra : lesquels tester ?

Les quatre modèles figurent au catalogue Microsoft Foundry, dont GPT-6.1 Terra, annoncé le 26 octobre 2026. Leur présence au catalogue ne garantit pas qu’ils soient disponibles avec tous les types de déploiement, dans chaque région ou avec le quota nécessaire à votre application.

GPT-6 Luna est un premier candidat pour les traitements délimités : attribuer une catégorie à un ticket, extraire un code d’erreur ou produire une sortie structurée. Testez particulièrement les entrées incomplètes et les catégories proches. Un résultat au bon format peut tout de même contenir une mauvaise valeur.

GPT-6.1 Terra mérite une comparaison lorsque le traitement combine texte, images et interaction avec une interface. Sa fiche Microsoft met notamment en avant le raisonnement visuel et l’utilisation d’applications. Pour notre assistant, un test utile serait de rapprocher une capture d’écran des logs fournis, sans lui laisser inventer les événements absents.

GPT-6.1 Sol est un candidat pour un diagnostic impliquant plusieurs composants ou une modification de code répartie sur plusieurs fichiers. GPT-6 Astra peut être ajouté au test pour les cas qui restent mal résolus. Le surcoût doit se traduire par des erreurs en moins ou des corrections plus faciles à valider. Les annonces Microsoft de septembre présentent Luna, Sol et Astra. Les exemples proposés ici servent à préparer vos évaluations ; nous n’avons pas mesuré les performances de ces modèles sur vos données.

Choisir le déploiement Azure avant de comparer les prix

Microsoft distingue plusieurs types de déploiement. En Global Standard, les requêtes peuvent être traitées dans différentes régions Azure. En Data Zone Standard EU, le traitement reste dans le périmètre européen défini par Microsoft, l’Azure EU Data Boundary. Ce périmètre peut inclure notamment la Norvège et la Suisse ; il ne se limite pas aux États membres de l’Union européenne.

Créer une ressource en France avec un déploiement Global ne signifie donc pas que l’inférence s’exécute en France. Le type Standard géographique, lorsqu’il est disponible pour le modèle, restreint le traitement à la géographie Azure choisie.

Les offres Standard facturent les tokens consommés. Les offres Provisioned réservent de la capacité en PTU, pour un débit plus prévisible. Pour décider entre les deux, mesurez le trafic sur une journée représentative, y compris les heures creuses. Une capacité réservée peu utilisée peut coûter cher par requête effectivement traitée.

Les tarifs Azure OpenAI au 28 octobre 2026

Le tableau présente les tarifs publics Microsoft en dollars américains par million de tokens, en Global Standard, contexte court. Il distingue l’entrée ordinaire, la lecture d’un préfixe déjà en cache, l’écriture dans le cache et la sortie. Les tokens de raisonnement sont comptés dans la sortie.

Azure OpenAI : tarifs Global Standard, en dollars par million de tokens.
Modèle Entrée Cache lu Cache écrit Sortie
GPT-6 Luna 0,10 $ 0,01 $ 0,125 $ 0,50 $
GPT-6.1 Terra 1 $ 0,05 $ 1,25 $ 5 $
GPT-6.1 Sol 2 $ 0,10 $ 2,50 $ 10 $
GPT-6 Astra 10 $ 1 $ 12,50 $ 50 $

Ces montants proviennent des annonces Microsoft pour Luna et Astra, Terra et Sol, consultées le 28 octobre 2026. « Contexte court » reprend leur catégorie tarifaire ; les requêtes longues ont une autre grille. Vérifiez les conditions applicables à votre déploiement dans la tarification Azure.

La zone choisie change également le prix. Pour GPT-6.1 Sol en Data Zone EU, Microsoft publie respectivement 2,40 $, 0,12 $, 3 $ et 12 $ dans les quatre colonnes du tableau. Ces tarifs ne couvrent pas une réservation de capacité PTU.

À consommation identique, les écarts sont importants. Mais un modèle qui multiplie les appels d’outils et les nouvelles tentatives peut annuler une partie de son avantage tarifaire. Ajoutez au calcul les services utilisés autour du modèle : recherche documentaire, stockage et exécution des outils.

Mesurer les lectures et les écritures de cache

Un agent renvoie souvent les mêmes consignes, descriptions d’outils et documents de référence. Le cache de préfixe d’Azure OpenAI permet de réutiliser le traitement de ce début commun. Placez le contenu stable avant les éléments variables et mesurez ce qui est réellement relu.

Pour les familles GPT-5.6 et suivantes, Azure expose cached_tokens pour les lectures et cache_write_tokens pour les écritures sur les déploiements Standard à l’usage. Dans prompt_cache_options.ttl, la seule valeur documentée est 30m, également utilisée par défaut. Elle correspond à une durée minimale, pas à une suppression garantie au bout de trente minutes.

En pratique, un préfixe changé à chaque appel peut générer des écritures sans apporter beaucoup de réutilisation. Vérifiez le comportement après une modification du prompt, du schéma de sortie ou de la liste des outils. Une conversation conservée dans votre base ne prouve pas que ses tokens seront retrouvés dans le cache du modèle.

Fixer le niveau de raisonnement et le budget de sortie

Le modèle et son effort de raisonnement forment une configuration de test. Dans l’API Responses, ce réglage passe par reasoning.effort. Les valeurs acceptées dépendent du modèle et de sa version : vérifiez-les pour le déploiement testé et renseignez explicitement celle que vous utilisez.

Les tokens de raisonnement sont facturés comme des tokens de sortie, même lorsqu’ils ne figurent pas dans le texte retourné. Avec Responses, max_output_tokens limite le budget total de génération, raisonnement compris. Un plafond trop bas peut laisser une réponse incomplète. Le backend doit contrôler le statut retourné avant d’accepter le résultat.

Pour extraire un code d’erreur, commencez par un effort faible. Pour analyser une panne intermittente, comparez plusieurs réglages sur les mêmes traces. Mesurez séparément le délai avant le premier texte et le temps nécessaire pour terminer la tâche, outils compris. Un début de réponse rapide peut masquer un traitement complet beaucoup plus long.

Comparer les modèles sur les mêmes incidents

Préparez un lot de tickets avec les éléments dont disposait réellement l’équipe au moment de l’incident : logs, extraits de configuration, documentation et captures utiles. Incluez des cas sans solution démontrable à partir des pièces fournies. Dans ces cas, demander une information manquante peut être la bonne réponse.

Définissez les critères avant de lancer les appels. Un diagnostic doit citer les traces qui le soutiennent. Une extraction doit respecter le schéma et restituer les valeurs exactes. Un correctif doit passer les tests pertinents et être relu ; la seule absence d’erreur de syntaxe ne suffit pas.

Pour chaque configuration, conservez :

  • Le contexte du test : version du modèle, nom du déploiement, type Azure, effort de raisonnement, prompts et outils utilisés.
  • La qualité : cas acceptés, erreurs factuelles, actions incorrectes et reprises nécessaires.
  • Les délais : médiane et p95 du traitement complet ; le p95 indique le délai sous lequel se terminent 95 % des cas mesurés.
  • Le coût : tokens d’entrée, lectures et écritures du cache, sortie, appels d’outils, nouvelles tentatives et temps de correction humaine.

Divisez le coût du lot, échecs compris, par le nombre de cas finalement acceptés. Comptez chaque cas une seule fois, même s’il a demandé trois tentatives. Gardez un second lot pour valider la configuration retenue, sans vous en servir pour ajuster les consignes.

Rejouez ensuite le scénario avec une charge proche de la production. Si des appels échouent quand le trafic augmente, identifiez les limites de débit et les reprises avant d’attribuer le problème au modèle.

Brancher le modèle retenu dans le backend

Avec un déploiement Azure OpenAI, le champ model de la requête reçoit le nom du déploiement, qui peut différer de l’identifiant du modèle. L’API v1 utilise une adresse de base comme https://<ressource>.openai.azure.com/openai/v1/. La documentation des endpoints Foundry détaille ce fonctionnement.

Pour l’authentification, Microsoft documente l’accès sans clé avec Entra ID. Vérifiez les droits de l’identité utilisée par l’application, et pas seulement ceux du développeur qui a lancé le premier test.

Commencez avec un modèle sur un traitement précis. Ajoutez un second déploiement si les évaluations montrent un gain utile : Luna pour une extraction simple, par exemple, puis Terra ou Sol pour une analyse plus complexe. Déclenchez cette orientation sur un critère vérifiable, comme un contrôle échoué ou un type de document. Comptez les appels supplémentaires et vérifiez que les deux déploiements respectent vos contraintes de traitement des données.

À lire également : Mémoire des agents IA : quand un RAG simple fait mieux, et RAG, contexte et harness engineering : qui fait quoi ?