Utiliser ChatGPT Work et Codex avec Amazon Bedrock

Configurez les interfaces locales ChatGPT Work et Codex afin d’utiliser les modèles OpenAI disponibles via Amazon Bedrock.

Configurez les interfaces locales ChatGPT Work et Codex afin d’utiliser les modèles OpenAI disponibles via Amazon Bedrock. Dans cette configuration, le client local envoie les requêtes de modèle à Bedrock au moyen de l’authentification et des contrôles d’accès gérés par AWS.

Fonctionnement

Lorsque vous configurez une interface locale ChatGPT Work ou Codex avec Amazon Bedrock comme fournisseur de modèles, la Responses API hébergée par OpenAI ne fait pas partie du chemin de la requête. Le client local envoie les requêtes de modèle à Amazon Bedrock, qui fournit une implémentation compatible avec la Responses API d’OpenAI pour les modèles OpenAI pris en charge.

Avant de commencer

Vérifiez que vous disposez des éléments suivants :

  • Les identifiants du compte AWS que vous souhaitez utiliser.
  • Un accès aux modèles OpenAI pris en charge dans Amazon Bedrock.
  • Un accès à une région AWS dans laquelle le modèle sélectionné est disponible.
  • L’autorisation AWS d’invoquer le modèle ou le profil d’inférence sélectionné.

Vérifiez les exigences IAM propres au modèle. Par exemple, GPT-6 Sol via Runtime nécessite également bedrock:InvokeModel sur le projet par défaut du compte. Consultez les instructions de configuration de GPT-6 Sol d’AWS.

Configurer le fournisseur

Codex vous permet de configurer le fournisseur en définissant model_provider dans ~/.codex/config.toml. L’application de bureau ChatGPT, Codex CLI, l’extension IDE et le SDK utilisent les mêmes couches de configuration locale.

Choisissez le fournisseur correspondant au point de terminaison Amazon Bedrock que vous souhaitez utiliser : Bedrock Runtime pour l’inférence interrégionale (CRIS), ou Bedrock Mantle pour l’inférence au sein d’une région.

Utilisez Bedrock Runtime pour les nouvelles configurations :

model_provider = "amazon-bedrock-runtime"
web_search = "disabled"

Utiliser Mantle pour la recherche Web hébergée

Pour le point de terminaison Bedrock Mantle :

model_provider = "amazon-bedrock"
web_search = "cached"

Choisir un modèle

Codex utilise le model_provider configuré pour déterminer quels modèles apparaissent dans le sélecteur de modèle : les modèles pris en charge par le point de terminaison Bedrock Runtime pour amazon-bedrock-runtime, ou par le point de terminaison Bedrock Mantle pour amazon-bedrock.

Vous pouvez, si vous le souhaitez, spécifier un modèle pris en charge dans le fichier de configuration. Le fournisseur intégré fournit son propre catalogue de modèles. Lorsque vous changez de point de terminaison, modifiez à la fois le fournisseur et tout identifiant de modèle explicitement défini.

Options d’authentification

Les interfaces locales ChatGPT Work et Codex prennent en charge deux méthodes d’authentification Bedrock. Elles les vérifient dans l’ordre suivant :

  1. API key Bedrock.
  2. Chaîne d’identifiants AWS SDK.

Option 1 : API key Bedrock

Définissez l’API key Bedrock dans l’environnement lu par le client local. Vous devez indiquer une région lorsque vous utilisez l’authentification par API key.

export AWS_BEARER_TOKEN_BEDROCK=<your-bedrock-api-key>
export AWS_REGION=us-east-2

Dans Windows PowerShell :

$env:AWS_BEARER_TOKEN_BEDROCK = "<your-bedrock-api-key>"
$env:AWS_REGION = "us-east-2"

Option 2 : identifiants AWS SDK

Utilisez cette méthode lorsque votre organisation gère l’accès à Bedrock au moyen de la chaîne d’identifiants AWS SDK. Le client local peut utiliser les sources d’identifiants AWS SDK standard suivantes :

Fichiers de configuration AWS partagés

Configurez les fichiers AWS partagés config et credentials :

aws configure

Variables d’environnement

Définissez les variables d’environnement standard des identifiants AWS SDK :

export AWS_ACCESS_KEY_ID=<your-access-key-id>
export AWS_SECRET_ACCESS_KEY=<your-secret-access-key>
export AWS_SESSION_TOKEN=<your-session-token>

Identifiants AWS Management Console

Connectez-vous avec des identifiants AWS Management Console :

aws login

AWS SSO ou profil nommé

Connectez-vous avec AWS SSO et sélectionnez le profil nommé :

aws sso login --profile codex-bedrock
export AWS_PROFILE=codex-bedrock

Identité fédérée

Pour un SSO d’entreprise ou une fédération OIDC, configurez une identité fédérée avec credential_process en dehors du client local et laissez AWS SDK résoudre les identifiants. Confiez à l’assistant credential_process de votre profil AWS la connexion dans le navigateur, l’échange de tokens, la mise en cache et l’actualisation.

Application de bureau et extension IDE

Les applications de bureau et les extensions IDE n’héritent pas toujours des variables d’environnement du shell. Placez les valeurs requises dans ~/.codex/.env, puis redémarrez l’application ou l’extension. Sous Windows, le chemin par défaut est %USERPROFILE%\.codex\.env.

export AWS_BEARER_TOKEN_BEDROCK=<your-bedrock-api-key>
export AWS_REGION=us-east-2

Vérifier la configuration

  • Dans Codex CLI, ouvrez /status et vérifiez que le fournisseur de modèles correspond à votre point de terminaison : amazon-bedrock pour l’inférence Mantle au sein d’une région, ou amazon-bedrock-runtime pour l’inférence interrégionale Runtime Global ou Geo.
  • Dans l’application de bureau ChatGPT, sélectionnez Work ou Codex et démarrez une nouvelle tâche après avoir redémarré l’application.
  • Dans l’extension IDE, démarrez une nouvelle session après avoir redémarré l’extension.
  • Vérifiez que le modèle sélectionné est disponible dans la région AWS configurée et que l’identité AWS est autorisée à y accéder.

Envoyez ensuite une courte instruction dans une nouvelle tâche :

Reply with exactly: bedrock-ok

Vous devriez obtenir bedrock-ok. Vérifiez le fournisseur et le modèle dans le client ; la réponse seule ne permet pas d’identifier le chemin emprunté. Pour valider le déploiement, utilisez un dossier temporaire avec des autorisations en lecture seule et vérifiez une tâche sans risque utilisant un outil local, ainsi qu’un tour de suivi.

Modèles pris en charge

Utilisez un ID de profil d’inférence pour le fournisseur Bedrock Runtime ou un ID de modèle pour le fournisseur Bedrock Mantle. Le modèle ou le profil sélectionné doit être disponible dans votre région AWS et accessible à votre identité AWS.

Inférence interrégionale Global et Geo avec le point de terminaison Bedrock Runtime

Global CRIS peut acheminer les requêtes vers les régions AWS commerciales prises en charge dans le monde entier, tandis que Geo CRIS les achemine au sein de la zone géographique du profil. Choisissez un périmètre de routage conforme à vos autorisations AWS et à vos exigences de résidence des données.

Utilisez model_provider = "amazon-bedrock-runtime" avec la configuration facultative model définie sur un ID de profil d’inférence figurant dans les listes suivantes. Le fournisseur utilise https://bedrock-runtime.{region}.amazonaws.com/openai/v1, où {region} est la région AWS source prise en charge depuis laquelle vous envoyez les requêtes. Global CRIS et Geo CRIS utilisent tous deux cette adresse de point de terminaison.

Global CRIS

Modèles pris en charge et identifiants de profil d’inférence :

  • GPT-6 Astra : global.openai.gpt-6-astra
  • GPT-6 Sol : global.openai.gpt-6-sol
  • GPT-6 Luna : global.openai.gpt-6-luna

Par exemple, configurez Astra avec Global CRIS dans ~/.codex/config.toml :

model_provider = "amazon-bedrock-runtime"
model = "global.openai.gpt-6-astra"

CRIS géographique pour les États-Unis

Modèles pris en charge et identifiants de profil d’inférence :

  • GPT-6 Astra : us.openai.gpt-6-astra
  • GPT-6 Sol : us.openai.gpt-6-sol
  • GPT-6 Luna : us.openai.gpt-6-luna

Le sélecteur de modèles Runtime intégré à Codex propose les variantes Geo pour les États-Unis et Global.

La disponibilité des modèles et de CRIS varie selon la région AWS source. Consultez la page AWS Régions et modèles pris en charge pour les profils d’inférence, qui fournit des liens vers les identifiants exacts des profils d’inférence de chaque modèle et leur disponibilité régionale, ainsi que la page AWS Disponibilité régionale par modèle, avant de sélectionner un fournisseur et un modèle.

Inférence dans la région à l’aide du point de terminaison Bedrock Mantle

Utilisez model_provider = "amazon-bedrock" avec un identifiant de modèle facultatif. Le fournisseur utilise https://bedrock-mantle.{region}.api.aws/openai/v1.

Modèles et identifiants de modèle pris en charge :

  • GPT-6 Astra : openai.gpt-6-astra
  • GPT-6 Sol : openai.gpt-6-sol
  • GPT-6 Luna : openai.gpt-6-luna

GPT-6 Sol et Luna sont disponibles via Mantle dans us-east-1 (Virginie du Nord). La disponibilité des modèles varie selon la région AWS. Consultez la page AWS Disponibilité régionale par modèle avant de sélectionner un fournisseur et un modèle. Pour GPT-6 Astra, reportez-vous à la page du modèle Bedrock pour GPT-6 Astra.

Disponibilité des fonctionnalités

Cette configuration prend en charge les workflows locaux de ChatGPT Work et de Codex. Les services hébergés ChatGPT Work sur le Web et Codex cloud, ainsi que les fonctionnalités qui dépendent de services cloud hébergés par OpenAI ou de la découverte gérée dans le cloud, ne sont actuellement pas disponibles. La recherche Web hébergée n’est pas disponible sur Runtime ; utilisez Mantle si vous en avez besoin.

Codex Security CLI utilise sa propre configuration de fournisseur. Suivez ses instructions de configuration pour Amazon Bedrock plutôt que les paramètres du client natif ci-dessus.

Disponibilité détaillée des fonctionnalités
FonctionnalitéAmazon Bedrock
Accès et interfaces
ChatGPT Work sur le WebIndisponible
Codex cloudIndisponible
ChatGPT Work ou Codex dans l’application de bureau ChatGPTDisponible
Codex CLIDisponible
Codex Security CLIDisponible
Extension IDEDisponible
Codex SDK, codex exec et workflows scriptablesDisponible
Modèles et multimodalité
Inférence via Bedrock avec les modèles OpenAI pris en chargeDisponible
Mode rapideIndisponible
Génération et retouche d’imagesIndisponible
Dictée vocaleIndisponible
Recherche Web hébergée sur RuntimeIndisponible
Fonctionnalités locales
Plugin Codex Security et analyses localesDisponible
Revue de code locale avec /reviewDisponible
Examen automatique des demandes d’approbationDisponible
Isolation en bac à sable et contrôle des autorisationsDisponible
Tâches planifiées liées à un projet ou autonomesDisponible
Tâches planifiéesDisponible
Worktrees et outils Git intégrésDisponible
Environnements locaux et actions reproductiblesDisponible
AppshotsDisponible
Navigateur et contrôle à distance
Aperçus et commentaires dans le navigateur intégréDisponible
Computer Use dans le navigateurDisponibilité limitée*
Utiliser ChatGPT avec ChromeDisponibilité limitée*
Computer UseDisponibilité limitée*
Connexions SSH à distanceDisponible
Contrôle à distance depuis un appareil mobileIndisponible
Personnalisation et extensions
Instructions personnalisées avec AGENTS.mdDisponible
SkillsDisponible
PluginsDisponibilité limitée†
Partage de pluginsIndisponible
ConnecteursIndisponible
MCPDisponible
Sous-agents et agents personnalisésDisponible
SouvenirsDisponibilité limitée*
Computer HistoryIndisponible
Cloud et intégrations
Conversations Codex cloudIndisponible
SitesIndisponible
Délégation des issues et des PR GitHub avec @codexIndisponible
Revue de code GitHub et revues automatiques des PRIndisponible
Intégration cloud de SlackIndisponible
Intégration cloud de LinearIndisponible
Administration, sécurité et analytique
SSO SAML, MFA et gestion des utilisateurs de l’espace de travailIndisponible
requirements.toml pour la configuration géréeDisponible
Politiques de configuration gérées dans le cloudIndisponible
RBAC et rôles personnalisés de l’espace de travail ChatGPTIndisponible
SCIM, EKM et vérification de domaineIndisponible
Contrôles de conservation et de résidence des données pour les entreprisesIndisponible
Aucun entraînement sur les données API ou professionnelles par défautDisponible
Tableau de bord analytiqueIndisponible
API d’analytiqueIndisponible
API de conformité et journaux d’auditIndisponible
Codex Security cloud pour les dépôts GitHub connectésIndisponible

* Cette fonctionnalité est actuellement limitée à certaines régions. Consultez la documentation de chaque fonctionnalité pour en savoir plus sur les restrictions régionales.

† Les bundles de plugins locaux et les plugins sélectionnés par OpenAI qui ne nécessitent pas d’authentification ChatGPT, dont Codex Security, sont disponibles. Les plugins qui nécessitent une authentification ChatGPT, des connecteurs ou un partage hébergé dans le cloud ne sont pas disponibles.

Résolution des problèmes

Si la configuration échoue, vérifiez les points suivants :

  • L’identifiant du modèle correspond exactement à un modèle pris en charge.
  • Vous utilisez le fournisseur de modèles adapté au point de terminaison : amazon-bedrock-runtime pour le point de terminaison Runtime ou amazon-bedrock pour le point de terminaison Mantle.
  • Vous indiquez une région AWS dans laquelle le modèle est disponible.
  • L’API key Bedrock ou les identifiants AWS sont valides et n’ont pas expiré.
  • L’identité AWS dispose de l’autorisation d’accéder au modèle Bedrock sélectionné.
  • AWS_BEARER_TOKEN_BEDROCK ne contient pas de clé expirée ou autre que celle prévue.
  • Pour utiliser l’application de bureau ou l’extension IDE, les variables d’environnement requises sont présentes dans ~/.codex/.env.

Pour l’authentification par profil AWS SDK, exécutez aws sts get-caller-identity --profile codex-bedrock pour confirmer l’identité du profil sélectionné. Remplacez codex-bedrock par le nom de votre profil, ou omettez --profile si vous utilisez la chaîne d’identifiants par défaut. Cette commande vérifie l’identité AWS, mais pas l’autorisation d’appeler un modèle Bedrock. Vérifiez AWS_BEARER_TOKEN_BEDROCK séparément pour éviter qu’une API key autre que celle prévue ne sélectionne un mode d’authentification différent.

Périmètre de l’assistance

L’assistance OpenAI peut vous aider à configurer le client ChatGPT Work et Codex, la configuration, le comportement local de CLI, celui de l’application de bureau, celui de l’extension IDE et l’expérience locale du produit.

Pour les identifiants AWS, les autorisations IAM, l’accès aux modèles Bedrock, les quotas, la facturation, la disponibilité régionale, les échecs de requêtes Bedrock, les journaux de service AWS ou le comportement du service Bedrock, contactez l’administrateur AWS du client ou l’assistance AWS.