OpenAI Oracle Cloud Infrastructure 沙箱

2026-11-06 14:59 更新

本指南按照Oracle的Beta Python示例,采用应用管理资源创建:应用同时创建和删除Agents API会话与OCI沙箱。

完整代码见Cookbook的应用管理示例,模式与连接行为见沙箱生命周期。

OCI GenAI Sandboxes目前为Beta,需联系Oracle客户经理申请账户权限。

开始之前

创建启用沙箱的Generative AI Project,为OCI身份授予在所属区间管理项目与沙箱的权限。替换以下IAM策略占位符:

来源示例 1(text):

allow group <group-name> to manage generative-ai-sandbox in compartment <compartment-name>
allow group <group-name> to manage generative-ai-project in compartment <compartment-name>

运行时需包含Node.js和npm。Oracle示例默认请求 python-3.11;不含npm时,选兼容的自定义运行时。

项目限制出站流量时,允许HTTPS访问 registry.npmjs.org 安装Codex、HTTPS访问 api.openai.com,以及安全WebSocket访问 codex-cloud-environments.chatgpt.com,见执行器网络要求。

1. 安装 OCI CLI 与 Beta SDK

先创建虚拟环境并安装OCI CLI:

来源示例 2(bash):

## [中文] 示例 2:1. 安装 OCI CLI 与 Beta SDK。
## [中文] 按本段命令安装依赖或运行前面的示例文件;仅安装依赖不会创建或完成智能体任务。
uv venv --python 3.14
source .venv/bin/activate
uv pip install --upgrade oci-cli

再安装Oracle开通时提供的Beta Python SDK:

来源示例 3(bash):

## [中文] 示例 3:1. 安装 OCI CLI 与 Beta SDK。
## [中文] 按本段命令安装依赖或运行前面的示例文件;仅安装依赖不会创建或完成智能体任务。
uv pip install "/path/to/oci-<beta-version>-py3-none-any.whl"

Beta SDK须在CLI之后安装。之后升级或重装 oci-cli 可能以PyPI的 oci 包替换它;发生时重新安装Beta wheel。SDK须包含 oci.generative_ai_sandbox。

2. 配置 OCI 环境

在账户已启用区域认证安全令牌配置档:

来源示例 4(bash):

## [中文] 示例 4:2. 配置 OCI 环境。
## [中文] 用指定 Sandbox 配置档及区域进行 OCI 安全令牌认证,与 OpenAI 应用密钥认证分开。
oci session authenticate --profile-name Sandbox --region us-chicago-1

设置项目OCID和OpenAI凭证,不提交到代码仓库:

来源示例 5(bash):

## [中文] 示例 5:2. 配置 OCI 环境。
## [中文] 在应用环境配置 OCI 项目 OCID、OpenAI 应用密钥和独立环境密钥;沙箱只接收后者。
export OCI_SANDBOX_PROJECT_ID="ocid1.generativeaiproject..."
export OPENAI_API_KEY="..."
export OPENAI_EXECUTOR_API_KEY="..."

应用请求使用 OPENAI_API_KEY。将 OPENAI_EXECUTOR_API_KEY 设为环境密钥,仅将后者作为 CODEX_API_KEY 传入沙箱。

示例默认读取 Sandbox 配置档,使用 us-chicago-1。覆盖方式如下:

来源示例 6(bash):

## [中文] 示例 6:2. 配置 OCI 环境。
## [中文] 覆盖 Oracle 示例读取的配置档与区域;实际区域须已为账户开通。
export OCI_SANDBOX_PROFILE="my-profile"
export OCI_SANDBOX_REGION="us-chicago-1"

其他可选设置:

设置 默认值
OCI_SANDBOX_ENDPOINT https://inference.generativeai.<region>.oci.oraclecloud.com
OCI_SANDBOX_RUNTIME python-3.11
OCI_SANDBOX_SHAPE SMALL
OCI_SANDBOX_EXPIRATION PT30M,30分钟

自己的应用可用配置档的安全令牌和私钥构造 oci.auth.signers.SecurityTokenSigner,再从 oci.generative_ai_sandbox 用选定区域和端点创建 GenerativeAiSandboxClient。

3. 运行应用管理的会话

Agents API请求及执行器启动命令按自托管连接指南。Oracle示例流程:

  1. 创建工作目录为 /workspace 的自托管Agents API会话,保存会话及环境ID。
  2. 创建OCI GenAI Sandbox并等待 RUNNING。
  3. 安装Codex,将 /workspace/brief.txt 写入沙箱。
  4. 使用环境ID和环境密钥启动 codex exec-server。
  5. 先打开会话事件流,再提交将 brief.txt 转为迁移计划的输入;等待完成,读取 /workspace/plan.md。
  6. 停止并删除OCI沙箱,再删除Agents API会话。即使某项失败,也尝试另一项清理。

后续轮次需要时可保留两类资源,删除沙箱前取回文件。使用Oracle指定Beta SDK版本,预览发行版可能重命名API。

参考

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号