Function Calling を使うと、任意のカスタム関数や外部 API をアシスタントに説明できます。これにより、アシスタントは関連する引数を含む JSON オブジェクトを出力して、それらの関数をインテリジェントに呼び出せます。
Chat Playground での Function Calling の使用方法
新しい関数を追加するには、画面左側の設定パネルで、Responses API の場合は「+ツール > 関数」、Chat Completions API の場合は単に「+関数」をクリックします。
次に、関数のパラメーターを含む JSON スキーマを入力します。ベータ版の「生成」機能を使うと、関数に実行させたい内容をプレーンテキストで記述し、提案された JSON スキーマを取得できます。
これで、画面左側の「ツール」の下に関数が表示されます。
Playground で関数をテストするには、モデルがその関数を呼び出すきっかけとなるメッセージを入力します。
たとえば、get_weather 関数の場合は、「バークレーの天気は?」と入力します。
関数が呼び出されたら、関数の出力(例: 「{temp: 80}」)を入力して「実行」を押します。すると Assistant は、指定された関数の出力を応答に使用します。
これは並列 Function Calling をサポートしていますか?
はい、Chat Playground では 並列 Function Calling がサポートされています。
並列 Function Calling とは、モデルが複数の関数呼び出しをまとめて実行できる機能で、これらの関数呼び出しの効果と結果を並列に解決できます。これは、関数の実行に時間がかかる場合に特に有用で、API とのラウンドトリップを減らします。
スキーマで strict: "true" を設定して構造化出力をオンにする
構造化出力をオンにすると、Function Calling のためにモデルが生成する引数は、指定した JSON スキーマと一致することが保証されます。
構造化出力を使用していない場合、引数の構造が正しいことは保証されません。そのため、引数を使用する前に、まず Pydantic のような検証ライブラリを使って確認することをおすすめします。
構造化出力を使った Function Calling について詳しく見る。
Playground で Function Choice を強制する方法
モデル名の横にある「設定」アイコンをクリックします
「ツール選択」をクリックします
「自動」から「必須」または目的の関数(作成済み)に変更します。
