大型語言模型代理與工具使用

函式呼叫(function calling)

函式呼叫(function calling)是現代大型語言模型請求使用工具時,那種具體、結構化的方式。模型不是用鬆散的英文說「也許查一下天氣」,而是吐出一個整齊的結構化物件:精確的函式名稱加上它的引數,並依照你提供的綱要(schema)格式化。這就像含糊地提出請求,和填好一張程式能直接執行的乾淨表單之間的差別。

你給模型一份函式定義清單——每個都有名稱、說明,以及參數的型別綱要。模型被訓練、並在解碼時被約束,去產生剛好符合其中某個綱要的輸出:欄位名稱正確、型別正確、不多不少。你的程式碼解析那個物件,呼叫對應的真實函式,再把結果回傳。因為格式是機器可讀的,就不需要脆弱的文字剖析。

函式呼叫是今天大多數工具使用與代理底下的管線,也正是它讓一般軟體能把語言模型當成任何其他會回傳結構化資料的元件來對待。它不保證模型挑對函式或給出合理的引數——只保證它挑的東西,會以你的程式能可靠剖析並據以行動的形狀出現。

{"name":"get_weather","arguments":{"city":"Taipei","unit":"celsius"}}

模型吐出的函式呼叫物件——一個名稱加上有型別的引數,你的程式碼可以直接執行。

又称
structured tool callingJSON tool calls