関数呼び出しを使うと、任意のカスタム関数や外部 API をアシスタントに記述でき、アシスタントは関連する引数を含む JSON オブジェクトを出力することで、これらの関数を賢く呼び出せるようになります。
Chat Playground で関数呼び出しを使う方法
新しい関数を追加するには、Responses API の場合は画面左側の設定パネルで「+Tools > Functions」をクリックするか、Chat Completions API の場合は単に「+Function」をクリックします。
次に、関数のパラメータを含む JSON スキーマを入力します。ベータ版の「Generate」機能を使って、関数にしてほしいことを平易な文章で説明すると、提案される JSON スキーマを取得できます。
これで、画面左側の「Tools」の下に関数が一覧表示されます。
Playground で関数をテストするには、モデルが関数を呼び出すきっかけになるメッセージを入力します。
たとえば get_weather 関数の場合、「Berkeley の天気は?」と入力します。
関数が呼び出されたら、関数の出力(例: 「{temp: 80}」)を入力して「Run」を押します。するとアシスタントは、提供した関数の出力を使って応答します。
並列関数呼び出しはサポートされていますか?
はい、Chat Playground では並列関数呼び出しがサポートされています。
並列関数呼び出しとは、モデルが複数の関数呼び出しをまとめて実行できる能力で、これらの関数呼び出しの影響と結果を並行して解決できます。関数の実行に時間がかかる場合に特に有用で、API との往復回数を減らせます。
スキーマで strict: "true" を設定して Structured Outputs を有効にする
Structured Outputs を有効にすると、関数呼び出しのためにモデルが生成する引数が、指定した JSON Schema に一致することが保証されます。
Structured Outputs を使用しない場合、引数の構造が正しいとは限りません。そのため、使用前に Pydantic のような検証ライブラリでまず引数を検証することを推奨します。
Structured Outputs を使った関数呼び出しについて詳しくはこちら。
Playground で Function Choice を強制する方法
モデル名の横にある「Settings」アイコンをクリックします
Tool Choice をクリックします
「Auto」から「Required」または希望する(事前に作成した)関数に変更します。
