跳到主要内容

OpenAI Agents SDK

OpenAI Agents SDK 是用于构建 Agent 应用的 Python 框架,涵盖 Agent、工具、交接、护栏、会话和追踪。它默认使用 Responses API,也可以通过自定义 AsyncOpenAI 客户端访问兼容 OpenAI 的端点。

当 Agents SDK 应用需要通过 AISIX 路由模型请求,同时保留 Agent 工作流时,请使用此配置。

本指南使用 OpenAI Agents SDK 的默认 Responses API 模型路径。你将使用 AISIX 代理 URL、调用方 API Key 和模型别名配置 AsyncOpenAI

前置条件

开始前,请准备以下内容:

  • 一个受 OpenAI Agents SDK 支持的 Python 环境。
  • 一个代理监听器可用的运行中 AISIX 网关。
  • 一个 AISIX 调用方 API Key。
  • 一个调用方 API Key 可通过Responses API访问的模型别名。

配置 OpenAI Agents SDK

如果应用尚未包含 OpenAI Agents SDK,请先安装:

pip install openai-agents

设置 Agent 应用要使用的值:

# Replace with your values
export AISIX_BASE_URL="http://127.0.0.1:3000/v1"
export AISIX_API_KEY="YOUR_CALLER_API_KEY"
export AISIX_MODEL="gpt-4o-prod"

为 AISIX 创建 AsyncOpenAI 客户端,并将其设为 SDK 的默认客户端:

import asyncio
import os

from agents import (
Agent,
AsyncOpenAI,
Runner,
set_default_openai_client,
set_tracing_disabled,
)

set_tracing_disabled(True)

client = AsyncOpenAI(
base_url=os.environ["AISIX_BASE_URL"],
api_key=os.environ["AISIX_API_KEY"],
)

set_default_openai_client(client, use_for_tracing=False)

agent = Agent(
name="GatewayAgent",
instructions="You answer in one concise sentence.",
model=os.environ["AISIX_MODEL"],
)


async def main():
result = await Runner.run(agent, "Why do gateways help AI teams?")
print(result.final_output)


asyncio.run(main())

模型值应填写 AISIX 模型别名,而不是上游服务提供方模型 ID。AISIX 管理模型请求路径,而 OpenAI Agents SDK 继续负责 Agent 指令、工具、交接、护栏和运行编排。

本示例禁用了 Agents SDK 默认的追踪导出。如果需要追踪,请单独配置 SDK 追踪导出器,使追踪数据符合组织策略。

OpenAI Agents SDK 还支持用于 Chat Completions APIOpenAIChatCompletionsModel。当工作流需要广泛的兼容 OpenAI 服务提供方支持,或已经依赖 Chat Completions 行为时,请使用该模型形式。

验证集成

在已设置 AISIX 环境变量的 Shell 中运行脚本。

请求成功后,请确认以下结果:

  • 脚本输出 Agent 响应。
  • AISIX 为所选模型别名记录一条成功的 POST /v1/responses 请求。

对于托管部署,请在托管网关日志中验证请求。对于自托管网关,请使用已配置的日志、指标或上游服务提供方日志。

如果请求失败,请先确认调用方 API Key 可以访问所选模型别名,且 base_url 指向包含 /v1 的 AISIX 代理 API 根路径。

OpenAI 托管工具和服务提供方特有的 Responses 功能可能无法映射到所有上游服务提供方。依赖网关对托管工具、流式传输或服务提供方特有响应项执行策略或采集遥测前,请先验证 Responses 工作流。

后续步骤