SDK の設定
API キーとクライアント
デフォルトでは、 SDK はインポートされるとすぐに LLM リクエストとトレーシング用に OPENAI_API_KEY
環境変数を探します。アプリ起動前にその環境変数を設定できない場合は、 set_default_openai_key() 関数を使用してキーを設定できます。
また、使用する OpenAIクライアントを設定することもできます。デフォルトでは、 SDK は環境変数または上記で設定したデフォルトキーを用いて 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 キー (環境変数または設定済みのデフォルトキー) が自動的に使用されます。トレーシング専用の API キーを設定したい場合は、 set_tracing_export_api_key
関数を使用してください。
トレーシングを完全に無効化したい場合は、 set_tracing_disabled()
関数を使用できます。
デバッグログ
SDK にはハンドラーが設定されていない 2 つの Python ロガーが用意されています。デフォルトでは、 warning と error は stdout
に出力されますが、それ以外のログは抑制されます。
詳細なログを有効にするには、 enable_verbose_stdout_logging()
関数を使用してください。
また、ハンドラー、フィルター、フォーマッターなどを追加してログをカスタマイズすることも可能です。詳しくは Python logging guide をご覧ください。
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 の入力および出力のロギングを無効化する:
ツールの入力および出力のロギングを無効化する: