配置SDK
API密钥与客户端
默认情况下,SDK在导入时会查找OPENAI_API_KEY环境变量用于LLM请求和追踪。如果您无法在应用启动前设置该环境变量,可以使用set_default_openai_key()函数来设置密钥。
或者,您也可以配置要使用的OpenAI客户端。默认情况下,SDK会创建一个AsyncOpenAI实例,使用环境变量中的API密钥或上面设置的默认密钥。您可以通过使用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有两个未设置任何处理程序的Python日志记录器。默认情况下,这意味着警告和错误会发送到stdout,但其他日志会被抑制。
要启用详细日志记录,请使用enable_verbose_stdout_logging()函数。
或者,您可以通过添加处理器、过滤器、格式化程序等来自定义日志。您可以在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输入和输出的日志记录:
要禁用日志记录工具的输入和输出: