OpenAI Oracle Cloud Infrastructure 沙箱
本指南按照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示例流程:
- 创建工作目录为
/workspace的自托管Agents API会话,保存会话及环境ID。 - 创建OCI GenAI Sandbox并等待
RUNNING。 - 安装Codex,将
/workspace/brief.txt写入沙箱。 - 使用环境ID和环境密钥启动
codex exec-server。 - 先打开会话事件流,再提交将
brief.txt转为迁移计划的输入;等待完成,读取/workspace/plan.md。 - 停止并删除OCI沙箱,再删除Agents API会话。即使某项失败,也尝试另一项清理。
后续轮次需要时可保留两类资源,删除沙箱前取回文件。使用Oracle指定Beta SDK版本,预览发行版可能重命名API。

TRAE-AI编程


更多建议: