Использование ChatGPT Work и Codex с Amazon Bedrock

Настройте локальные интерфейсы ChatGPT Work и Codex для использования моделей OpenAI, доступных через Amazon Bedrock.

Настройте локальные интерфейсы ChatGPT Work и Codex для использования моделей OpenAI, доступных через Amazon Bedrock. При такой конфигурации локальный клиент отправляет запросы к моделям в Bedrock, используя аутентификацию и средства управления доступом AWS.

Принцип работы

Если настроить Amazon Bedrock в качестве поставщика моделей для локального интерфейса ChatGPT Work или Codex, размещённый в OpenAI Responses API не участвует в обработке запросов. Локальный клиент отправляет запросы к моделям в Amazon Bedrock, а Bedrock предоставляет совместимую с OpenAI реализацию Responses API для поддерживаемых моделей OpenAI.

Перед началом работы

Убедитесь, что у вас есть:

  • Учётные данные нужной учётной записи AWS.
  • Доступ к поддерживаемым моделям OpenAI в Amazon Bedrock.
  • Доступ к региону AWS, в котором доступна выбранная модель.
  • Разрешение AWS на вызов выбранной модели или профиля инференса.

Проверьте требования IAM для конкретной модели. Например, для GPT-6 Sol через Runtime также требуется bedrock:InvokeModel для проекта по умолчанию в учётной записи. См. инструкции AWS по настройке GPT-6 Sol.

Настройка поставщика

В Codex можно настроить поставщика, задав model_provider в ~/.codex/config.toml. Приложение ChatGPT для компьютера, Codex CLI, расширение IDE и SDK используют одни и те же уровни локальной конфигурации.

Выберите поставщика для нужной конечной точки Amazon Bedrock: Bedrock Runtime для межрегионального инференса (CRIS) или Bedrock Mantle для внутрирегионального инференса.

Для новых конфигураций используйте Bedrock Runtime:

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

Используйте Mantle для веб-поиска на стороне сервиса

Для конечной точки Bedrock Mantle:

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

Выбор модели

Codex использует настроенное значение model_provider, чтобы определить, какие модели отображаются в списке выбора: модели, поддерживаемые через конечную точку Bedrock Runtime для amazon-bedrock-runtime, либо через конечную точку Bedrock Mantle для amazon-bedrock.

При необходимости вы можете указать поддерживаемую модель в файле конфигурации. Встроенный провайдер предоставляет собственный каталог моделей. При переключении конечных точек меняйте провайдера и любой явно указанный идентификатор модели одновременно.

Варианты аутентификации

Локальные интерфейсы ChatGPT Work и Codex поддерживают два способа аутентификации в Bedrock. Они проверяются в следующем порядке:

  1. API key Bedrock.
  2. Цепочка учётных данных AWS SDK.

Вариант 1: API key Bedrock

Задайте API key Bedrock в окружении, из которого локальный клиент считывает данные. При аутентификации с помощью API key необходимо указать регион.

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

В Windows PowerShell:

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

Вариант 2: учётные данные AWS SDK

Используйте этот способ, если ваша организация управляет доступом к Bedrock через цепочку учётных данных AWS SDK. Локальный клиент может использовать следующие стандартные источники учётных данных AWS SDK:

Общие файлы конфигурации AWS

Настройте общие файлы AWS config и credentials:

aws configure

Переменные окружения

Задайте стандартные переменные окружения для учётных данных 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>

Учётные данные AWS Management Console

Войдите с помощью учётных данных AWS Management Console:

aws login

AWS SSO или именованный профиль

Войдите с помощью AWS SSO и выберите именованный профиль:

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

Федеративное удостоверение

Для корпоративного SSO или федерации OIDC настройте федеративное удостоверение с помощью credential_process вне локального клиента и позвольте AWS SDK определить учётные данные. Вынесите вход через браузер, обмен токенами, кеширование и обновление в вспомогательную программу credential_process профиля AWS.

Приложение для компьютера и расширение IDE

Настольные приложения и расширения IDE могут не наследовать переменные окружения из оболочки. Укажите необходимые значения в ~/.codex/.env, затем перезапустите приложение или расширение. В Windows путь по умолчанию — %USERPROFILE%\.codex\.env.

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

Проверка настройки

  • В Codex CLI откройте /status и убедитесь, что поставщик модели соответствует вашей конечной точке: amazon-bedrock для внутрирегионального инференса Mantle или amazon-bedrock-runtime для глобального или географического межрегионального инференса Runtime.
  • В приложении ChatGPT для компьютера выберите Work или Codex и создайте новую задачу после перезапуска приложения.
  • В расширении IDE начните новый сеанс после перезапуска расширения.
  • Убедитесь, что выбранная модель доступна в настроенном регионе AWS, а удостоверение AWS имеет разрешение на доступ к ней.

Затем отправьте короткий запрос в новой задаче:

Reply with exactly: bedrock-ok

Ожидаемый ответ — bedrock-ok. Проверьте провайдера и модель в клиенте: сам по себе ответ не позволяет определить маршрут запроса. Для проверки готовности к внедрению используйте временную папку с правами только на чтение и проверьте выполнение безвредной задачи с локальным инструментом и последующего хода.

Поддерживаемые модели

Для поставщика Bedrock Runtime используйте ID профиля инференса, а для поставщика Bedrock Mantle — ID модели. Выбранная модель или профиль должны быть доступны в вашем регионе AWS и для вашего удостоверения AWS.

Глобальный и географический межрегиональный инференс через конечную точку Bedrock Runtime

Global CRIS может направлять запросы в поддерживаемые коммерческие регионы AWS по всему миру, а Geo CRIS направляет запросы в пределах географической области профиля. Выберите область маршрутизации, соответствующую вашим разрешениям AWS и требованиям к размещению данных.

Используйте model_provider = "amazon-bedrock-runtime" с необязательным параметром конфигурации model, заданным равным ID профиля инференса из следующих списков. Поставщик использует https://bedrock-runtime.{region}.amazonaws.com/openai/v1, где {region} — поддерживаемый исходный регион AWS, из которого вы отправляете запросы. Для глобального и географического CRIS используется один и тот же адрес конечной точки.

Глобальный CRIS

Поддерживаемые модели и ID профилей инференса:

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

Например, настройте Astra с глобальным CRIS в ~/.codex/config.toml:

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

Географический CRIS для США

Поддерживаемые модели и ID профилей инференса:

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

Встроенный в Codex список выбора моделей Runtime содержит варианты Geo для США и Global.

Доступность моделей и CRIS зависит от исходного региона AWS. Перед выбором поставщика и модели ознакомьтесь со страницей AWS Поддерживаемые регионы и модели для профилей инференса, содержащей ссылки на точные ID профилей инференса и сведения о региональной доступности каждой модели, а также со страницей AWS Доступность моделей по регионам.

Внутрирегиональный инференс через конечную точку Bedrock Mantle

Используйте model_provider = "amazon-bedrock" с необязательным ID модели. Поставщик использует https://bedrock-mantle.{region}.api.aws/openai/v1.

Поддерживаемые модели и ID моделей:

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

GPT-6 Sol и Luna доступны через Mantle в us-east-1 (N. Virginia). Доступность моделей зависит от AWS Region. Перед выбором провайдера и модели см. AWS Regional availability by models. Для GPT-6 Astra см. страницу модели Bedrock для GPT-6 Astra.

Доступность функций

Эта конфигурация поддерживает локальные рабочие процессы ChatGPT Work и Codex. Облачные ChatGPT Work в браузере, Codex cloud и функции, зависящие от облачных сервисов OpenAI или обнаружения ресурсов под управлением облака, сейчас недоступны. Облачный веб-поиск недоступен в Runtime; используйте Mantle, если он вам нужен.

Codex Security CLI использует собственную конфигурацию провайдера. Следуйте инструкциям по настройке Amazon Bedrock для него вместо приведённых выше настроек нативного клиента.

Подробные сведения о доступности функций
ФункцияAmazon Bedrock
Доступ и интерфейсы
ChatGPT Work в браузереНедоступно
Codex cloudНедоступно
ChatGPT Work или Codex в настольном приложении ChatGPTДоступно
Codex CLIДоступно
Codex Security CLIДоступно
Расширение для IDEДоступно
Codex SDK, codex exec и рабочие процессы на основе скриптовДоступно
Модели и мультимодальность
Инференс через Bedrock с поддерживаемыми моделями OpenAIДоступно
Быстрый режимНедоступно
Генерация и редактирование изображенийНедоступно
Голосовой вводНедоступно
Облачный веб-поиск в RuntimeНедоступно
Локальные функции
Плагин Codex Security и локальные сканированияДоступно
Локальная проверка кода с помощью /reviewДоступно
Автоматическая проверка запросов на одобрениеДоступно
Изоляция в песочнице и управление разрешениямиДоступно
Задачи по расписанию в проектах и вне проектовДоступно
Задачи по расписаниюДоступно
Рабочие деревья и встроенные инструменты GitДоступно
Локальные окружения и повторяемые действияДоступно
AppshotsДоступно
Браузер и удалённое управление
Предпросмотр и комментарии во встроенном браузереДоступно
Computer Use в браузереС ограничениями*
Использование ChatGPT с ChromeС ограничениями*
Computer UseС ограничениями*
Удалённые подключения по SSHДоступно
Удалённое управление с мобильного устройстваНедоступно
Настройка и расширения
Пользовательские инструкции в AGENTS.mdДоступно
НавыкиДоступно
ПлагиныС ограничениями†
Общий доступ к плагинамНедоступно
КоннекторыНедоступно
MCPДоступно
Субагенты и пользовательские агентыДоступно
ПамятьС ограничениями*
Computer HistoryНедоступно
Облако и интеграции
Облачные чаты CodexНедоступно
SitesНедоступно
Делегирование задач из issues и PR в GitHub с помощью @codexНедоступно
Проверка кода в GitHub и автоматическая проверка PRНедоступно
Облачная интеграция со SlackНедоступно
Облачная интеграция с LinearНедоступно
Администрирование, безопасность и аналитика
SAML SSO, MFA и управление пользователями рабочего пространстваНедоступно
requirements.toml — управляемая конфигурацияДоступно
Политики конфигурации, управляемые из облакаНедоступно
RBAC и пользовательские роли в рабочем пространстве ChatGPTНедоступно
SCIM, EKM и подтверждение доменаНедоступно
Корпоративные настройки сроков хранения и размещения данныхНедоступно
Данные API и бизнес-данные по умолчанию не используются для обученияДоступно
Панель аналитикиНедоступно
API аналитикиНедоступно
Compliance API и журналы аудитаНедоступно
Облачный Codex Security для подключённых репозиториев GitHubНедоступно

* Сейчас функция доступна только в отдельных регионах. Подробнее о региональных ограничениях см. в документации соответствующей функции.

† Доступны локальные пакеты плагинов и отобранные OpenAI плагины, не требующие аутентификации ChatGPT, включая Codex Security. Плагины, требующие аутентификации ChatGPT, коннекторов или общего доступа через облако, недоступны.

Устранение неполадок

Если настройка не работает, проверьте следующее:

  • ID модели в точности соответствует поддерживаемой модели.
  • Вы используете правильного провайдера моделей для конечной точки: amazon-bedrock-runtime для конечной точки Runtime или amazon-bedrock для конечной точки Mantle.
  • Вы указали регион AWS, в котором доступна модель.
  • API key Bedrock или учётные данные AWS действительны, и срок их действия не истёк.
  • У субъекта AWS есть разрешение на доступ к выбранной модели Bedrock.
  • В AWS_BEARER_TOKEN_BEDROCK не задан ключ с истёкшим сроком действия или непредусмотренный ключ.
  • При использовании настольного приложения или расширения для IDE необходимые переменные окружения присутствуют в ~/.codex/.env.

При аутентификации через профиль AWS SDK выполните aws sts get-caller-identity --profile codex-bedrock, чтобы подтвердить субъект, связанный с выбранным профилем. Замените codex-bedrock на имя своего профиля или опустите --profile, если используете цепочку учётных данных по умолчанию. Эта команда проверяет субъект AWS, а не разрешение на вызов модели Bedrock. Проверьте AWS_BEARER_TOKEN_BEDROCK отдельно, чтобы непредусмотренный API key не привёл к выбору другого способа аутентификации.

Границы поддержки

Служба поддержки OpenAI может помочь с настройкой клиента ChatGPT Work и Codex, конфигурацией, локальной работой CLI, работой приложения для компьютера, работой расширения IDE и локальным взаимодействием с продуктом.

По вопросам учётных данных AWS, разрешений IAM, доступа к моделям Bedrock, квот, выставления счетов, региональной доступности, сбоев запросов Bedrock, журналов служб AWS или работы службы Bedrock обращайтесь к администратору AWS клиента или в службу поддержки AWS.