函數調用讓你向助理描述任何自訂函數或外部 API,使助理能夠透過輸出包含相關引數的 JSON 物件,智能地調用這些函數。
在對話 Playground 中使用函數調用
在 Playground 中開啟工具設定,然後新增函數。
接著輸入包含函數參數的 JSON 結構定義。你可以使用測試版的生成功能,以純文字描述你希望函數執行的操作,取得建議的 JSON 結構定義。
現在,你會看到函數列於工具下方。
如要在 Playground 中測試函數,請輸入一則會觸發模型調用該函數的訊息。
例如,要測試 get_weather 函數,請輸入:「伯克萊的天氣如何?」
函數被調用後,輸入函數的輸出內容,例如 {"temp": 80},然後選取執行。助理隨後會根據你提供的函數輸出內容作出回應。
這是否支援平行函數調用?
是的,對話 Playground 支援平行函數調用。
平行函數調用是指模型同時調用多個函數的能力,讓這些函數調用的作用和結果能夠並行處理。當函數執行需時較長時,這項功能尤其有用,並可減少與 API 之間的往返次數。
在函數定義中設定 strict: true,以啟用結構化輸出內容
啟用結構化輸出內容後,模型為函數調用生成的引數將保證符合你提供的 JSON 結構定義。
如果未使用結構化輸出內容,引數的結構便無法保證正確。因此,我們建議使用 Pydantic 等驗證程式庫,在使用引數前先進行驗證。
進一步了解如何搭配結構化輸出內容使用函數調用。
在 Playground 中強制指定函數選擇
選取模型名稱旁的設定圖示。
選取工具選擇。
將自動改為必須,或改為所需的函數(須事先建立)。
