配置 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 密钥。
您也可以在不更改全局导出器的情况下,为每次运行设置一个追踪 API 密钥。
from agents import Runner, RunConfig
await Runner.run(
agent,
input="Hello",
run_config=RunConfig(tracing={"api_key": "sk-tracing-123"}),
)
您还可以使用 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 输入和输出
要禁用记录工具输入和输出