OpenAI CLI

我们将使用 OpenAI CLI 从终端与 GPT-5.5 进行交互。该 CLI 与 SDK 使用相同的 Bedrock 端点进行通信。它从我们的环境中读取 OPENAI_BASE_URLOPENAI_API_KEY,因此与原生 OpenAI 用法完全相同。

1. 安装 OpenAI CLI

OpenAI CLI 是一个通过 Homebrew(macOS 和 Linux/WSL)安装的独立二进制文件:

brew tap openai/tools
brew trust --cask openai/tools/openai
brew install --cask openai

验证安装:

openai --version
openai responses create --help

image-20260623085824805

2. 简单文本生成

该 CLI 从我们的环境中读取 OPENAI_BASE_URLOPENAI_API_KEY(上一节中已配置),因此它会自动指向 Bedrock。

如果没配置,使用以下命令配置:

# 1. 设置AWS区域
export AWS_REGION="us-east-1"

# 2. 把Bedrock的OpenAI兼容端点设为base URL
export OPENAI_BASE_URL="https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"

# 3. 指定模型(通过Bedrock调用GPT-5.5)
export MODEL_ID="openai.gpt-5.5"

# 4. 用AWS凭证生成临时token,当作OpenAI API Key用
export OPENAI_API_KEY=$(python3 -c "from aws_bedrock_token_generator import provide_token; print(provide_token(region='$AWS_REGION'))")

$MODEL_ID 变量保存了我们在那里导出的模型 id。使用 openai responses create 进行基本提示:

openai responses create \
  --model "$MODEL_ID" \
  --input "Explain the difference between Amazon S3 and Amazon EBS in simple terms."

image-20260623090025708

该 CLI 返回完整的 JSON 响应。要仅提取文本:

openai responses create \
  --model "$MODEL_ID" \
  --input "What are the five pillars of the AWS Well-Architected Framework?" \
  --transform 'output.#(type=="message").content.0.text' \
  --raw-output

image-20260623090159660

3. 使用系统指令

在 YAML 正文中使用 instructions 传递系统级指令:

openai responses create \
  --transform 'output.#(type=="message").content.0.text' \
  --raw-output <<YAML
model: $MODEL_ID
instructions: You are a senior Python developer. Provide production-quality code with error handling.
input: Write a function to upload a file to S3 using boto3.
YAML

image-20260623090351920