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