配置 SDK
API 密钥与客户端
默认情况下,SDK 在被导入后会立即从环境变量 OPENAI_API_KEY 中读取用于 LLM 请求与追踪(tracing)的密钥。如果你无法在应用启动前设置该环境变量,可以使用 set_default_openai_key() 函数来设置密钥。
或者,你也可以配置要使用的 OpenAI 客户端。默认情况下,SDK 会基于环境变量中的 API 密钥或上述设置的默认密钥创建一个 AsyncOpenAI 实例。你可以使用 set_default_openai_client() 函数进行修改。
from openai import AsyncOpenAI
from agents import set_default_openai_client
custom_client = AsyncOpenAI(base_url="...", api_key="...")
set_default_openai_client(custom_client)
最后,你也可以自定义所使用的 OpenAI API。默认使用 OpenAI Responses API。你可以通过 set_default_openai_api() 函数改为使用 Chat Completions API。
追踪
追踪默认启用。默认情况下,它会使用上文提到的 OpenAI API 密钥(即环境变量或你设置的默认密钥)。你可以使用 set_tracing_export_api_key 函数专门设置用于追踪的 API 密钥。
你也可以使用 set_tracing_disabled() 函数完全禁用追踪。
调试日志
该 SDK 提供两个未配置任何 handler 的 Python 日志记录器。默认情况下,这意味着警告与错误会输出到 stdout,而其他日志会被抑制。
要启用详细日志,请使用 enable_verbose_stdout_logging() 函数。
或者,你也可以通过添加 handlers、filters、formatters 等来自定义日志。更多信息可参阅 Python 日志指南。
import logging
logger = logging.getLogger("openai.agents") # or openai.agents.tracing for the Tracing logger
# To make all logs show up
logger.setLevel(logging.DEBUG)
# To make info and above show up
logger.setLevel(logging.INFO)
# To make warning and above show up
logger.setLevel(logging.WARNING)
# etc
# You can customize this as needed, but this will output to `stderr` by default
logger.addHandler(logging.StreamHandler())
日志中的敏感数据
某些日志可能包含敏感数据(例如,用户数据)。如果你希望禁止记录这些数据,请设置以下环境变量。
要禁用记录 LLM 的输入与输出:
要禁用记录工具的输入与输出: