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 API 的 OpenAIChatCompletionsModel。当工作流需要广泛的兼容 OpenAI 服务提供方支持,或已经依赖 Chat Completions 行为时,请使用该模型形式。
验证集成
在已设置 AISIX 环境变量的 Shell 中运行脚本。
请求成功后,请确认以下结果:
- 脚本输出 Agent 响应。
- AISIX 为所选模型别名记录一条成功的
POST /v1/responses请求。
对于托管部署,请在托管网关日志中验证请求。对于自托管网关,请使用已配置的日志、指标或上游服务提供方日志。
如果请求失败,请先确认调用方 API Key 可以访问所选模型别名,且 base_url 指向包含 /v1 的 AISIX 代理 API 根路径。
OpenAI 托管工具和服务提供方特有的 Responses 功能可能无法映射到所有上游服务提供方。依赖网关对托管工具、流式传输或服务提供方特有响应项执行策略或采集遥测前,请先验证 Responses 工作流。
后续步骤
- Responses API:查看面向网关的 Responses 行为。
- 兼容 OpenAI 的 API:当工作流需要广泛的兼容 OpenAI 支持时使用 Chat Completions。
- 工具调用:在启用 Agent 工具前确认工 具调用行为。