跳转至

配置 SDK

API 密钥和客户端

默认情况下,SDK 一旦导入,就会在 OPENAI_API_KEY 环境变量中查找用于大语言模型(LLM)请求和追踪的密钥。如果在应用启动前无法设置该环境变量,可以使用 set_default_openai_key() 函数来设置密钥。

from agents import set_default_openai_key

set_default_openai_key("sk-...")
或者,你也可以配置要使用的 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 响应 API。你可以使用 set_default_openai_api() 函数覆盖此设置,以使用 Chat Completions API。
from agents import set_default_openai_api

set_default_openai_api("chat_completions")

追踪

追踪功能默认开启。默认情况下,它使用上述部分中的 OpenAI API 密钥(即环境变量或你设置的默认密钥)。你可以使用 set_tracing_export_api_key 函数专门设置用于追踪的 API 密钥。

from agents import set_tracing_export_api_key

set_tracing_export_api_key("sk-...")
你还可以使用 set_tracing_disabled() 函数完全禁用追踪功能。
from agents import set_tracing_disabled

set_tracing_disabled(True)

调试日志记录

该 SDK 有两个未设置任何处理程序的 Python 日志记录器。默认情况下,这意味着警告和错误会发送到 stdout,但其他日志会被抑制。

要启用详细日志记录,请使用 enable_verbose_stdout_logging() 函数。

from agents import enable_verbose_stdout_logging

enable_verbose_stdout_logging()

或者,你可以通过添加处理程序、过滤器、格式化程序等来定制日志。你可以在 Python 日志记录指南 中了解更多信息。

import logging

logger = logging.getLogger("openai.agents") # 或者使用 openai.agents.tracing 获取追踪日志记录器


# 显示所有日志
logger.setLevel(logging.DEBUG)

# 显示信息及以上级别的日志
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