Skip to content

SDK 配置指南

API Keys 和客户端配置

SDK 在导入时会默认查找环境变量 OPENAI_API_KEY 来进行 LLM 请求和追踪。如果你无法在应用启动前设置这个环境变量,可以使用 set_default_openai_key() 函数来设置密钥。

from agents import set_default_openai_key

# 设置你的 OpenAI API Key
set_default_openai_key("sk-...")

除此之外,你还可以配置一个自定义的 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() 函数。

from agents import set_tracing_disabled

# 关闭追踪功能
set_tracing_disabled(True)

调试日志

SDK 包含两个没有设置处理器的 Python logger。默认情况下,警告和错误信息会输出到 stdout,其他日志则会被隐藏。

如果你想启用详细的日志输出,可以使用 enable_verbose_stdout_logging() 函数。

from agents import enable_verbose_stdout_logging

# 启用详细日志输出
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 输入输出数据:

export OPENAI_AGENTS_DONT_LOG_MODEL_DATA=1

禁止记录工具输入输出数据:

export OPENAI_AGENTS_DONT_LOG_TOOL_DATA=1