SDK 配置指南
API Keys 和客户端配置
SDK 在导入时会默认查找环境变量 OPENAI_API_KEY 来进行 LLM 请求和追踪。如果你无法在应用启动前设置这个环境变量,可以使用 set_default_openai_key() 函数来设置密钥。
除此之外,你还可以配置一个自定义的 OpenAI client。默认情况下,SDK 会使用上面提到的 API key 创建一个 AsyncOpenAI 实例。你可以通过 set_default_openai_client() 函数来修改这个设置。
from openai import AsyncOpenAI
from agents import set_default_openai_client
# 创建自定义的 client
custom_client = AsyncOpenAI(base_url="...", api_key="...")
set_default_openai_client(custom_client)
最后,你还可以自定义使用的 OpenAI API。默认情况下,我们使用 OpenAI Responses API。如果你想切换到 Chat Completions API,可以使用 set_default_openai_api() 函数。
from agents import set_default_openai_api
# 切换到 chat completions API
set_default_openai_api("chat_completions")
追踪功能
追踪功能默认是开启的,它会使用上面配置的 OpenAI API key(环境变量或手动设置的)。如果你想为追踪功能单独设置一个 API key,可以使用 set_tracing_export_api_key 函数。
from agents import set_tracing_export_api_key
# 设置追踪功能专用的 API key
set_tracing_export_api_key("sk-...")
如果你想完全关闭追踪功能,可以使用 set_tracing_disabled() 函数。
调试日志
SDK 包含两个没有设置处理器的 Python logger。默认情况下,警告和错误信息会输出到 stdout,其他日志则会被隐藏。
如果你想启用详细的日志输出,可以使用 enable_verbose_stdout_logging() 函数。
当然,你也可以自定义日志配置,比如添加处理器、过滤器、格式化器等。详细信息可以参考 Python logging 指南。
import logging
# 选择要配置的 logger
logger = logging.getLogger("openai.agents") # 或者使用 openai.agents.tracing 来配置追踪 logger
# 显示所有日志
logger.setLevel(logging.DEBUG)
# 只显示 info 及以上级别的日志
logger.setLevel(logging.INFO)
# 只显示警告及以上级别的日志
logger.setLevel(logging.WARNING)
# 等等
# 你可以根据需要自定义,默认会输出到 stderr
logger.addHandler(logging.StreamHandler())
日志中的敏感数据处理
某些日志可能包含敏感数据(比如用户数据)。如果你想禁止记录这些数据,可以设置以下环境变量:
禁止记录 LLM 输入输出数据:
禁止记录工具输入输出数据: