Sử dụng ChatGPT Work và Codex với Amazon Bedrock

Định cấu hình các giao diện ChatGPT Work và Codex cục bộ để sử dụng các mô hình OpenAI có trên Amazon Bedrock.

Định cấu hình các giao diện ChatGPT Work và Codex cục bộ để sử dụng các mô hình OpenAI có trên Amazon Bedrock. Trong thiết lập này, máy khách cục bộ gửi yêu cầu mô hình đến Bedrock bằng cơ chế xác thực và kiểm soát quyền truy cập do AWS quản lý.

Cách hoạt động

Khi bạn định cấu hình một giao diện ChatGPT Work hoặc Codex cục bộ với Amazon Bedrock làm nhà cung cấp mô hình, Responses API do OpenAI lưu trữ không nằm trên đường đi của yêu cầu. Máy khách cục bộ gửi yêu cầu mô hình đến Amazon Bedrock và Bedrock cung cấp một bản triển khai Responses API tương thích với OpenAI cho các mô hình OpenAI được hỗ trợ.

Trước khi bắt đầu

Hãy bảo đảm bạn có:

  • Thông tin xác thực cho tài khoản AWS bạn muốn sử dụng.
  • Quyền truy cập các mô hình OpenAI được hỗ trợ trong Amazon Bedrock.
  • Quyền truy cập một AWS Region có cung cấp mô hình đã chọn.
  • Quyền AWS để gọi mô hình hoặc hồ sơ suy luận đã chọn.

Kiểm tra các yêu cầu IAM riêng của mô hình. Ví dụ: GPT-6 Sol thông qua Runtime cũng yêu cầu bedrock:InvokeModel đối với dự án mặc định của tài khoản. Xem hướng dẫn thiết lập GPT-6 Sol của AWS.

Định cấu hình nhà cung cấp

Codex cho phép bạn cấu hình nhà cung cấp bằng cách đặt model_provider trong ~/.codex/config.toml. Ứng dụng ChatGPT dành cho máy tính, Codex CLI, tiện ích IDE và SDK đọc cùng các lớp cấu hình cục bộ.

Chọn nhà cung cấp cho điểm cuối Amazon Bedrock mà bạn muốn sử dụng: Bedrock Runtime để suy luận liên Region (CRIS), hoặc Bedrock Mantle để suy luận trong Region.

Sử dụng Bedrock Runtime cho các cấu hình mới:

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

Sử dụng Mantle cho tính năng tìm kiếm web do dịch vụ lưu trữ

Đối với điểm cuối Bedrock Mantle:

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

Chọn mô hình

Codex sử dụng model_provider đã cấu hình để xác định các mô hình xuất hiện trong bộ chọn mô hình: các mô hình được hỗ trợ qua điểm cuối Bedrock Runtime cho amazon-bedrock-runtime, hoặc qua điểm cuối Bedrock Mantle cho amazon-bedrock.

Bạn có thể tùy chọn chỉ định một mô hình được hỗ trợ trong tệp cấu hình. Nhà cung cấp tích hợp sẵn cung cấp danh mục mô hình riêng. Khi chuyển đổi điểm cuối, hãy thay đổi cả nhà cung cấp và mọi ID mô hình được chỉ định rõ ràng.

Các tùy chọn xác thực

Các giao diện ChatGPT Work và Codex cục bộ hỗ trợ hai phương thức xác thực Bedrock. Chúng được kiểm tra theo thứ tự sau:

  1. Bedrock API key.
  2. Chuỗi thông tin xác thực AWS SDK.

Tùy chọn 1: Bedrock API key

Đặt Bedrock API key trong môi trường mà máy khách cục bộ đọc. Bạn phải chỉ định một Region khi sử dụng phương thức xác thực bằng API key.

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

Trên Windows PowerShell:

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

Tùy chọn 2: Thông tin xác thực AWS SDK

Sử dụng phương thức này khi tổ chức của bạn quản lý quyền truy cập Bedrock thông qua chuỗi thông tin xác thực AWS SDK. Máy khách cục bộ có thể sử dụng các nguồn thông tin xác thực AWS SDK tiêu chuẩn sau:

Tệp cấu hình AWS dùng chung

Định cấu hình các tệp AWS config và credentials dùng chung:

aws configure

Biến môi trường

Đặt các biến môi trường thông tin xác thực AWS SDK tiêu chuẩn:

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>

Thông tin xác thực AWS Management Console

Đăng nhập bằng thông tin xác thực AWS Management Console:

aws login

AWS SSO hoặc hồ sơ có tên

Đăng nhập bằng AWS SSO rồi chọn hồ sơ có tên:

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

Danh tính liên kết

Đối với SSO doanh nghiệp hoặc liên kết OIDC, hãy định cấu hình một danh tính liên kết bằng credential_process bên ngoài máy khách cục bộ và để AWS SDK phân giải thông tin xác thực. Đặt quy trình đăng nhập bằng trình duyệt, trao đổi mã thông báo, lưu vào bộ nhớ đệm và làm mới trong trình hỗ trợ credential_process của hồ sơ AWS.

Ứng dụng dành cho máy tính và tiện ích IDE

Ứng dụng dành cho máy tính và tiện ích mở rộng IDE có thể không kế thừa các biến môi trường từ shell. Đặt các giá trị bắt buộc trong ~/.codex/.env, rồi khởi động lại ứng dụng hoặc tiện ích mở rộng. Trên Windows, đường dẫn mặc định là %USERPROFILE%\.codex\.env.

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

Xác minh thiết lập

  • Trong Codex CLI, mở /status và xác nhận nhà cung cấp mô hình khớp với điểm cuối của bạn: amazon-bedrock cho suy luận trong Region bằng Mantle, hoặc amazon-bedrock-runtime cho suy luận liên Region kiểu Global hoặc Geo bằng Runtime.
  • Trong ứng dụng ChatGPT dành cho máy tính, chọn Work hoặc Codex rồi bắt đầu một tác vụ mới sau khi khởi động lại ứng dụng.
  • Trong tiện ích IDE, bắt đầu một phiên mới sau khi khởi động lại tiện ích.
  • Xác nhận mô hình đã chọn khả dụng trong AWS Region được cấu hình và danh tính AWS có quyền truy cập mô hình đó.

Sau đó, gửi một lời nhắc ngắn trong tác vụ mới:

Reply with exactly: bedrock-ok

Kết quả mong đợi là bedrock-ok. Xác nhận nhà cung cấp và mô hình trong ứng dụng khách; chỉ riêng câu trả lời không cho biết tuyến xử lý yêu cầu. Để đánh giá mức độ sẵn sàng triển khai, hãy dùng một thư mục tạm có quyền chỉ đọc và xác minh một tác vụ vô hại sử dụng công cụ cục bộ cùng một lượt tiếp theo.

Các mô hình được hỗ trợ

Sử dụng ID hồ sơ suy luận cho nhà cung cấp Bedrock Runtime hoặc ID mô hình cho nhà cung cấp Bedrock Mantle. Mô hình hoặc hồ sơ đã chọn phải khả dụng trong AWS Region của bạn và danh tính AWS của bạn phải có quyền truy cập.

Suy luận liên Region kiểu Global và Geo bằng điểm cuối Bedrock Runtime

Global CRIS có thể định tuyến yêu cầu đến các AWS Region thương mại được hỗ trợ trên toàn thế giới, còn Geo CRIS định tuyến yêu cầu trong phạm vi địa lý của hồ sơ. Chọn phạm vi định tuyến đáp ứng các quyền AWS và yêu cầu về nơi lưu trú dữ liệu của bạn.

Sử dụng model_provider = "amazon-bedrock-runtime" với cấu hình model tùy chọn được đặt thành một ID hồ sơ suy luận trong các danh sách sau. Nhà cung cấp sử dụng https://bedrock-runtime.{region}.amazonaws.com/openai/v1, trong đó {region} là AWS Region nguồn được hỗ trợ mà từ đó bạn gửi yêu cầu. Cả Global CRIS và Geo CRIS đều sử dụng địa chỉ điểm cuối này.

Global CRIS

Các mô hình và ID hồ sơ suy luận được hỗ trợ:

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

Ví dụ: cấu hình Astra với Global CRIS trong ~/.codex/config.toml:

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

CRIS theo khu vực địa lý Hoa Kỳ

Các mô hình và ID hồ sơ suy luận được hỗ trợ:

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

Bộ chọn mô hình Runtime tích hợp của Codex liệt kê các biến thể Geo Hoa Kỳ và Global.

Khả năng cung cấp mô hình và CRIS thay đổi tùy theo AWS Region nguồn. Hãy xem tài liệu AWS Các Region và mô hình được hỗ trợ cho hồ sơ suy luận, trong đó có liên kết đến ID hồ sơ suy luận chính xác và khả năng cung cấp theo Region của từng mô hình, cũng như tài liệu AWS Khả năng cung cấp theo Region của từng mô hình trước khi chọn nhà cung cấp và mô hình.

Suy luận trong Region bằng điểm cuối Bedrock Mantle

Sử dụng model_provider = "amazon-bedrock" cùng với ID mô hình tùy chọn. Nhà cung cấp sử dụng https://bedrock-mantle.{region}.api.aws/openai/v1.

Các mô hình và ID mô hình được hỗ trợ:

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

GPT-6 Sol và Luna có sẵn thông qua Mantle tại us-east-1 (N. Virginia). Khả năng cung cấp mô hình thay đổi tùy theo AWS Region. Hãy xem tài liệu AWS Khả năng cung cấp theo Region của từng mô hình trước khi chọn nhà cung cấp và mô hình. Đối với GPT-6 Astra, hãy tham khảo trang mô hình Bedrock dành cho GPT-6 Astra.

Tính khả dụng của tính năng

Cấu hình này hỗ trợ các quy trình làm việc cục bộ với ChatGPT Work và Codex. Phiên bản ChatGPT Work được lưu trữ trên web, Codex cloud và các tính năng phụ thuộc vào dịch vụ đám mây do OpenAI lưu trữ hoặc cơ chế khám phá do đám mây quản lý hiện chưa khả dụng. Tìm kiếm web được lưu trữ không khả dụng trên Runtime; hãy dùng Mantle nếu bạn cần tính năng này.

Codex Security CLI sử dụng cấu hình nhà cung cấp riêng. Hãy làm theo hướng dẫn thiết lập Amazon Bedrock của công cụ này thay vì các thiết lập ứng dụng khách gốc ở trên.

Chi tiết về tính khả dụng của các tính năng
Tính năngAmazon Bedrock
Quyền truy cập và giao diện sử dụng
ChatGPT Work trên webKhông khả dụng
Codex cloudKhông khả dụng
ChatGPT Work hoặc Codex trong ứng dụng ChatGPT dành cho máy tínhKhả dụng
Codex CLIKhả dụng
Codex Security CLIKhả dụng
Tiện ích mở rộng IDEKhả dụng
Codex SDK, codex exec và các quy trình làm việc có thể điều khiển bằng tập lệnhKhả dụng
Mô hình và khả năng đa phương thức
Suy luận trên Bedrock với các mô hình OpenAI được hỗ trợKhả dụng
Chế độ nhanhKhông khả dụng
Tạo và chỉnh sửa hình ảnhKhông khả dụng
Nhập văn bản bằng giọng nóiKhông khả dụng
Tìm kiếm web được lưu trữ trên RuntimeKhông khả dụng
Tính năng cục bộ
Plugin Codex Security và quét cục bộKhả dụng
Rà soát mã cục bộ bằng /reviewKhả dụng
Tự động xem xét yêu cầu phê duyệtKhả dụng
Cách ly trong môi trường cô lập và kiểm soát quyềnKhả dụng
Tác vụ theo lịch trong dự án và tác vụ theo lịch độc lậpKhả dụng
Tác vụ theo lịchKhả dụng
Worktree và các công cụ Git tích hợpKhả dụng
Môi trường cục bộ và các thao tác có thể lặp lạiKhả dụng
AppshotsKhả dụng
Trình duyệt và điều khiển từ xa
Xem trước và bình luận trong trình duyệt tích hợpKhả dụng
Computer Use trong trình duyệtCó giới hạn*
Sử dụng ChatGPT với ChromeCó giới hạn*
Computer UseCó giới hạn*
Kết nối từ xa qua SSHKhả dụng
Điều khiển từ xa qua thiết bị di độngKhông khả dụng
Tùy chỉnh và tiện ích mở rộng
Chỉ dẫn tùy chỉnh bằng AGENTS.mdKhả dụng
skillsKhả dụng
PluginCó giới hạn†
Chia sẻ pluginKhông khả dụng
Trình kết nốiKhông khả dụng
MCPKhả dụng
Tác nhân phụ và tác nhân tùy chỉnhKhả dụng
Bộ nhớCó giới hạn*
Computer HistoryKhông khả dụng
Đám mây và tích hợp
Cuộc trò chuyện trên Codex cloudKhông khả dụng
SitesKhông khả dụng
Giao xử lý issue và PR trên GitHub bằng @codexKhông khả dụng
Rà soát mã trên GitHub và tự động rà soát PRKhông khả dụng
Tích hợp Slack trên đám mâyKhông khả dụng
Tích hợp Linear trên đám mâyKhông khả dụng
Quản trị, bảo mật và phân tích
SAML SSO, MFA và quản lý người dùng trong không gian làm việcKhông khả dụng
requirements.toml dùng để quản lý cấu hìnhKhả dụng
Chính sách cấu hình được quản lý trên đám mâyKhông khả dụng
RBAC và vai trò tùy chỉnh trong không gian làm việc ChatGPTKhông khả dụng
SCIM, EKM và xác minh tên miềnKhông khả dụng
Kiểm soát thời gian lưu giữ và nơi lưu trú dữ liệu dành cho doanh nghiệpKhông khả dụng
Mặc định không dùng dữ liệu API hoặc dữ liệu doanh nghiệp để huấn luyệnKhả dụng
Bảng điều khiển phân tíchKhông khả dụng
API phân tíchKhông khả dụng
Compliance API và nhật ký kiểm toánKhông khả dụng
Codex Security cloud dành cho các kho lưu trữ GitHub đã kết nốiKhông khả dụng

* Tính năng này hiện chỉ khả dụng ở một số khu vực nhất định. Xem tài liệu của từng tính năng để tìm hiểu thêm về các hạn chế theo khu vực.

† Các gói plugin cục bộ và plugin do OpenAI tuyển chọn không yêu cầu xác thực ChatGPT, bao gồm Codex Security, đều khả dụng. Các plugin yêu cầu xác thực ChatGPT, trình kết nối hoặc tính năng chia sẻ được lưu trữ trên đám mây không khả dụng.

Khắc phục sự cố

Nếu thiết lập không thành công, hãy kiểm tra những điều sau:

  • ID mô hình khớp chính xác với một mô hình được hỗ trợ.
  • Bạn sử dụng đúng nhà cung cấp mô hình cho điểm cuối: amazon-bedrock-runtime cho điểm cuối Runtime hoặc amazon-bedrock cho điểm cuối Mantle.
  • Bạn chỉ định một Khu vực AWS có cung cấp mô hình đó.
  • API key Bedrock hoặc thông tin xác thực AWS hợp lệ và chưa hết hạn.
  • Danh tính AWS có quyền truy cập mô hình Bedrock đã chọn.
  • AWS_BEARER_TOKEN_BEDROCK không được đặt thành khóa đã hết hạn hoặc khóa ngoài ý muốn.
  • Khi sử dụng ứng dụng dành cho máy tính hoặc tiện ích mở rộng IDE, các biến môi trường bắt buộc có trong ~/.codex/.env.

Để xác thực bằng hồ sơ AWS SDK, hãy chạy aws sts get-caller-identity --profile codex-bedrock để xác nhận danh tính cho hồ sơ đã chọn. Thay codex-bedrock bằng tên hồ sơ của bạn hoặc bỏ --profile khi sử dụng chuỗi thông tin xác thực mặc định. Thao tác này kiểm tra danh tính AWS, không kiểm tra quyền gọi mô hình Bedrock. Hãy kiểm tra AWS_BEARER_TOKEN_BEDROCK riêng để tránh việc một API key ngoài ý muốn khiến hệ thống chọn phương thức xác thực khác.

Phạm vi hỗ trợ

Bộ phận Hỗ trợ OpenAI có thể trợ giúp về việc thiết lập máy khách ChatGPT Work và Codex, cấu hình, hành vi CLI cục bộ, hành vi của ứng dụng dành cho máy tính, hành vi của tiện ích IDE và trải nghiệm sản phẩm cục bộ.

Đối với thông tin xác thực AWS, quyền IAM, quyền truy cập mô hình Bedrock, hạn mức, thanh toán, tính khả dụng theo khu vực, lỗi yêu cầu Bedrock, nhật ký dịch vụ AWS hoặc hành vi của dịch vụ Bedrock, hãy liên hệ với quản trị viên AWS của khách hàng hoặc Bộ phận Hỗ trợ AWS.