Appeler GPT-6 Astra via DigitalOcean avec Responses API
Appelez GPT-6 Astra via DigitalOcean avec Responses API. Vérifiez votre accès, créez une clé et estimez les coûts avant de choisir le routage ou un agent.
Appeler GPT-6 Astra via DigitalOcean
Vous pouvez appeler GPT-6 Astra via DigitalOcean avec une clé de modèle et une requête HTTPS. Le choix du point de terminaison compte. DigitalOcean réserve les requêtes serverless vers Astra à Responses API. Une intégration Chat Completions exige donc plus qu'un changement de nom de modèle.
Ce guide mène des vérifications du compte à une réponse textuelle, puis aide à choisir entre appel direct, routage et agent. Les exemples utilisent Python 3 et sa bibliothèque standard. Aucun SDK, déploiement GPU ou compte OpenAI séparé ne sont nécessaires.
La mise à jour Inference Engine inclut Astra dans Serverless Inference, Evaluations, la synthèse de modèles et Inference Router. Le catalogue indique une fenêtre de contexte de 1 050 000 tokens et une sortie maximale de 128 000 tokens. Ce tutoriel commence par du texte seul. Vérifiez chaque fonction supplémentaire dans la documentation avant de la connecter.
Divulgation : cet article contient des liens affiliés DigitalOcean. Si vous effectuez un achat par ces liens, je peux recevoir une commission sans frais supplémentaires pour vous. Cette recommandation repose sur la documentation. Je n'ai pas exécuté de requête Astra payante pour cet article.
Sources vérifiées le 12 septembre 2026. Le changelog DigitalOcean annonce Astra le 8 septembre, tandis que les notes de version indiquent une disponibilité le 4 septembre. Le 8 septembre désigne ici la date de l'annonce, sans affirmer que l'accès a commencé ce jour-là.
Vérifier l'accès avant de payer
Ouvrez le compte et l'équipe DigitalOcean qui paieront les requêtes. La page des limites serverless exclut les modèles commerciaux OpenAI des niveaux 1 et 2. Vérifiez Resource Limits et l'accès à Astra avant de financer un compte pour ce tutoriel. Une inscription par parrainage ne garantit pas cet accès.
Il faut aussi un solde prépayé Serverless Inference positif. Vérifiez le montant et les conditions dans le panneau de contrôle. Ne supposez pas que les crédits promotionnels couvrent ce produit ou qu'un versement change votre niveau. Demandez au support de clarifier une restriction avant de multiplier les versements.
Les exemples locaux demandent macOS ou Linux, Bash et Python 3. Sous Windows, utilisez WSL avec ces outils installés dans cet environnement. Ouvrez un nouveau terminal et entrez bash avant l'invite de clé. macOS démarre souvent zsh, dont les options de read diffèrent.
Gardez une première entrée sans données sensibles. L'exemple porte sur HTTP 429 et ne contient ni fichiers de dépôt ni données clients. Une application réelle doit d'abord déterminer quelles informations elle peut transmettre à un modèle hébergé.
Activer l'accès au point de terminaison partagé
Pour ce parcours serverless, vous activez l'accès du compte et de la clé à une URL existante. Vous ne créez ni déploiement Astra dédié ni agent Agent Platform. L'URL de base est https://inference.do-ai.run/v1. La requête ci-dessous utilise /responses.
Dans le panneau de contrôle, ouvrez INFERENCE puis Manage. Choisissez Create model access key, nommez la clé pour ce test et sélectionnez GPT-6 Astra parmi les modèles autorisés. Pour une requête depuis votre ordinateur, choisissez No VPC network. Une clé limitée à un VPC exige le réseau autorisé.
Terminez avec Add model access key et conservez le secret dans un emplacement sûr dès son affichage. La procédure documentée ne le montre qu'une fois. Une clé de test séparée permet sa suppression sans interrompre une application. Ce parcours n'utilise ni clé d'agent ni clé API OpenAI.
Le nom de variable ci-dessous est un choix local. Exécutez le bloc dans Bash et collez le secret uniquement dans l'invite masquée. Ne placez pas la clé dans le code frontend, une capture d'écran ou un fichier versionné.
Avant de continuer : Saisissez le secret uniquement dans l’invite Bash masquée.
set +x
read -r -s -p 'DigitalOcean model access key: ' DO_INFERENCE_API_KEY
printf '\n'
export DO_INFERENCE_API_KEY
if [ -z "$DO_INFERENCE_API_KEY" ]; then
printf 'Missing key. Stop here.\n'
fiVérifier l'identifiant GPT-6 Astra de DigitalOcean
L'identifiant documenté est openai-gpt-6-astra. Le nom affiché, l'identifiant du fournisseur direct et le nom d'un routeur sont des valeurs différentes. Vérifiez cet identifiant avant de modifier votre prompt ou d'installer une autre bibliothèque.
Le script suivant liste les modèles et indique si cet identifiant apparaît. Il n'envoie aucun prompt de génération. Une liste obtenue avec succès vérifie le chemin réseau et l'authentification, mais ne prouve pas que la prochaine requête sera acceptée ni que toutes les capacités seront disponibles.
Si le résultat est false, arrêtez-vous et vérifiez le catalogue, la portée de la clé et l'accès de l'équipe. Ne remplacez pas Astra en silence par un autre modèle pour déclarer le test réussi. Gardez ce terminal ouvert : le prochain script lit la même variable.
python3 - <<'PYTHON'
import json, os, urllib.error, urllib.request
key = os.environ.get("DO_INFERENCE_API_KEY")
if not key:
raise SystemExit("Missing DO_INFERENCE_API_KEY")
request = urllib.request.Request(
"https://inference.do-ai.run/v1/models",
headers={"Authorization": "Bearer " + key},
)
try:
with urllib.request.urlopen(request, timeout=30) as response:
models = json.load(response)["data"]
found = any(m.get("id") == "openai-gpt-6-astra" for m in models)
print("GPT-6 Astra listed:", found)
if not found:
raise SystemExit("Stop and check model availability and key scope")
except urllib.error.HTTPError as error:
raise SystemExit(f"HTTP {error.code}: check key, scope and account access")
except (urllib.error.URLError, TimeoutError):
raise SystemExit("Network or timeout failure; check connectivity")
PYTHONEnvoyer votre première requête GPT-6 Astra
Exécutez le script une fois. Il envoie une requête facturée à Responses API avec une courte entrée textuelle et un plafond de 1 024 tokens de sortie. Ce plafond laisse de la place au raisonnement. Il ne promet ni une réponse de cette longueur ni une réponse terminée.
Le corps de requête omet les réglages d'échantillonnage et les outils. Commencez par une intégration simple à diagnostiquer. Ajoutez les champs facultatifs après avoir vérifié leur compatibilité avec ce modèle. Copier toutes les options d'un exemple générique complique le diagnostic d'un paramètre refusé.
Le script affiche le modèle retourné, le statut, l'usage et le texte de l'assistant. Il parcourt les éléments de sortie au lieu de supposer que le premier contient la réponse. Responses peut retourner d'autres types d'éléments. Un lecteur Chat Completions fondé sur choices[0] ne convient pas.
Le succès correspond à une réponse terminée avec une explication lisible de HTTP 429. La formulation varie. Notez l'identifiant du modèle, les tokens et la durée dans vos propres résultats. Cela vérifie un appel textuel, sans valider le streaming, les sorties structurées ou les outils.
Si un nouveau compte est nécessaire après vérification de votre admissibilité, le lien de parrainage ci-dessous ouvre DigitalOcean. Les clients existants peuvent garder leur compte. Ce lien ne crée pas de clé, ne finance pas l'inférence et ne configure pas le script.
Avant de continuer : Envoie une requête Astra facturée. Vérifiez accès et tarif.
python3 - <<'PYTHON'
import json, os, urllib.error, urllib.request
key = os.environ.get("DO_INFERENCE_API_KEY")
if not key:
raise SystemExit("Missing DO_INFERENCE_API_KEY")
payload = {
"model": "openai-gpt-6-astra",
"input": "Explain HTTP 429 in one sentence for an API developer.",
"max_output_tokens": 1024,
"stream": False,
}
request = urllib.request.Request(
"https://inference.do-ai.run/v1/responses",
data=json.dumps(payload).encode("utf-8"),
headers={
"Authorization": "Bearer " + key,
"Content-Type": "application/json",
},
)
try:
with urllib.request.urlopen(request, timeout=120) as response:
result = json.load(response)
except urllib.error.HTTPError as error:
raise SystemExit(f"HTTP {error.code}: consult the troubleshooting section")
except (urllib.error.URLError, TimeoutError):
raise SystemExit("Network or timeout failure; inspect usage before retrying")
print("Model:", result.get("model"))
print("Status:", result.get("status", "not supplied"))
print("Usage:", json.dumps(result.get("usage", {})))
texts = [
part["text"]
for item in result.get("output", [])
if item.get("type") == "message"
for part in item.get("content", [])
if part.get("type") == "output_text" and isinstance(part.get("text"), str)
]
if result.get("status") != "completed" or not texts:
raise SystemExit("No completed text answer. Check status and output budget before retrying.")
print("\n".join(texts))
PYTHONDiagnostiquer la requête envoyée
Une erreur HTTP indique une piste. Vérifiez le chemin de requête et le compte avant de changer le prompt. Les scripts masquent le corps brut des erreurs pour éviter le partage de journaux non relus. Examinez localement une erreur expurgée si vous avez besoin de détails.
Un délai dépassé reste ambigu. Le serveur peut avoir traité la requête après l'arrêt de l'attente du client. Vérifiez l'usage avant de renvoyer la requête. Évitez les relances automatiques pendant ce premier test : une relance peut produire une deuxième réponse facturée.
Si le statut indique une réponse incomplète ou si output_text manque, examinez le statut et les détails d'incomplétude. Un petit budget peut ne laisser aucune place à la réponse finale. Augmentez-le après vérification du prix, sans relancer indéfiniment.
Faites défiler horizontalement pour voir toutes les colonnes.
| Résultat | Vérification suivante |
|---|---|
| 401 ou 403 | Validité de la clé, modèle autorisé, réseau et accès commercial. |
| 400 ou 404 | Identifiant exact, chemin /v1/responses et champs compatibles. |
| 429 | Quotas et éventuel Retry-After ; réduire la concurrence. |
| JSON terminé, sans texte affiché | Lire les éléments Responses, pas choices de Chat Completions. |
Choisir un appel direct, un routeur ou un agent
Gardez l'appel direct pour mesurer Astra ou lorsque votre application sait déjà quel modèle utiliser. Un outil développeur peut le réserver à un échec de test difficile après des vérifications moins coûteuses. Vous choisissez les requêtes qui paient ce tarif.
Inference Router choisit dans des groupes de modèles selon des descriptions de tâches et des politiques de sélection. DigitalOcean documente le préfixe router: dans le champ model et les appels Responses. Configurez un vrai routeur, vérifiez les modèles autorisés et journalisez le modèle retourné. Une requête routée n'utilise pas forcément Astra.
Un agent ajoute un processus autour de l'inférence. Votre application peut exécuter des fonctions puis renvoyer leurs résultats, ou utiliser les outils serveur compatibles. Une requête textuelle ne donne pas accès au navigateur, aux fichiers ou au terminal. Les capacités annoncées ne prouvent pas l'existence de ces outils dans votre application.
Pour un assistant de code, commencez avec une entrée temporaire et examinez chaque action proposée. Exigez un accord pour les écritures jusqu'à validation des permissions. Le diagnostic OpenCode lié utilise Chat Completions. Sa méthode de test est utile, mais sa configuration ne convient pas telle quelle à Astra.
Faites défiler horizontalement pour voir toutes les colonnes.
| Parcours | Usage adapté | Compromis |
|---|---|---|
| Astra direct | Modèle fixe pour une tâche ou une référence. | Chaque requête utilise le tarif Astra. |
| Inference Router | Les tâches justifient différents coûts de modèle. | Évaluer la sélection et les replis. |
| Processus agent | Des outils sont nécessaires sur plusieurs tours. | Gérer permissions, erreurs et coût total. |
Estimer le prix de GPT-6 Astra
DigitalOcean affiche les tarifs en dollars américains ci-dessous le 12 septembre 2026. Le seuil concerne la longueur du prompt. Une grande fenêtre de contexte est une capacité maximale, pas une invitation à envoyer tout le dépôt à chaque tour.
Pour un exemple sans cache avec 2 000 tokens d'entrée et 500 tokens de sortie facturés, le tarif standard donne 0,02 $ plus 0,025 $, soit 0,045 $. Mille requêtes identiques coûteraient 45 $ en tokens. Il s'agit d'un calcul, pas d'une charge mesurée ni d'une estimation de facture.
Utilisez les totaux d'usage de l'API plutôt que la longueur visible de la réponse. Le raisonnement peut consommer des tokens de sortie. Outils, relances, évaluations et hébergement applicatif restent hors de cet exemple. Plusieurs tours d'agent peuvent coûter bien plus qu'une seule question.
Pour budgéter, multipliez un usage représentatif par le volume prévu, puis calculez séparément un scénario de relances. Mesurez le coût par résultat accepté. Un appel plus cher peut être justifié s'il résout un problème que le modèle économique manque régulièrement. Une réponse bien rédigée ne suffit pas à le démontrer.
Faites défiler horizontalement pour voir toutes les colonnes.
| Longueur du prompt | Entrée | Sortie |
|---|---|---|
| Jusqu'à 272K tokens | 10 $ | 50 $ |
| Plus de 272K tokens | 20 $ | 75 $ |
Déterminer si ce choix justifie son coût
L'avantage principal concerne les équipes déjà chez DigitalOcean. Vous utilisez ses clés et sa facturation avec une première application simple. Vous évitez aussi la gestion d'un déploiement GPU pour des requêtes occasionnelles.
Les inconvénients sont précis. Un nouveau compte peut ne pas avoir accès au modèle commercial. Astra exige un client compatible Responses. Le solde prépayé et les quotas peuvent interrompre le trafic. Les tarifs de sortie rendent peu judicieuse une première version avec des boucles sans limite.
Si une intégration directe avec le fournisseur fonctionne déjà, sa migration demande une raison plus solide qu'une annonce. Comparez les fonctions API utilisées, le support et la facturation. Ce guide ne démontre ni une parité fonctionnelle avec OpenAI ni un modèle moins cher chez DigitalOcean.
Avant déploiement, constituez un petit jeu de tâches représentatives avec des critères d'acceptation explicites. Notez exactitude, latence et usage facturé pour Astra et un modèle moins cher. Ajoutez un cas à refuser et un cas dépassant votre budget d'entrée. Relisez les sorties ; un juge automatique apporte une preuve complémentaire.
Je recommande un appel direct, suivi d'une évaluation limitée. Ajoutez le routage lorsque vos résultats montrent que les tâches demandent différents modèles. Ajoutez un agent lorsque des outils sont nécessaires. Chaque ajout doit résoudre un problème observé.
Terminer le test et connecter votre backend
À la fin, exécutez unset DO_INFERENCE_API_KEY dans le même terminal. Supprimez la clé temporaire dans le panneau de contrôle si elle est devenue inutile. Vider une variable efface la valeur de ce shell sans révoquer la clé.
Pour une application, placez la clé dans les secrets du backend et protégez votre route avec votre propre authentification. Fixez un délai, une limite de concurrence et un budget de sortie. Renvoyez une erreur utile si l'accès ou le solde manque. Gardez prompts et secrets hors des journaux courants.
Le prochain résultat utile est une vraie réponse terminée avec votre compte, puis une évaluation mesurée. Les exemples locaux et la vérification documentaire ne prouvent ni votre accès ni la fiabilité en production.
unset DO_INFERENCE_API_KEYQuestions fréquentes
Faut-il un compte OpenAI séparé ? Non pour ce parcours facturé par DigitalOcean. Il faut un compte DigitalOcean admissible, un solde prépayé positif et une clé de modèle. Apporter sa propre clé fournisseur est un autre parcours de facturation.
Peut-on utiliser Chat Completions avec Astra ? DigitalOcean indique Responses API uniquement pour les prompts serverless Astra. Utilisez /v1/responses et openai-gpt-6-astra. Changer uniquement le nom du modèle dans un client Chat Completions ne suffit pas.
Faut-il créer un agent ou un GPU ? Non. Le parcours serverless utilise un point de terminaison partagé. Les outils et les boucles agent demandent une intégration supplémentaire.
Un nouveau compte donne-t-il accès à Astra ? Pas nécessairement. Les limites serverless excluent les modèles commerciaux OpenAI des niveaux 1 et 2. Vérifiez votre accès avant de payer pour ce test.
La requête de cet article a-t-elle été exécutée ? Aucune requête Astra payante n'a été exécutée pour cet article. La recette suit les sources citées ; vous devez confirmer une réponse terminée et l'usage avec votre compte.
Vérifier le résultat
- Résultat attendu
- Statut terminé, texte et usage pour Astra.
- Arrêter si
- Arrêter si accès absent, erreur HTTP ou sortie incomplète.
- Étape suivante
- Mesurer des tâches avant routage ou outils agent.