第 64 章
使用 Tool Calling 強化 Foundation Models 功能
在前幾章中,我們介紹了 Foundation Models 在 iOS 26 中的運作方式,以及如何使用這個全新框架打造具備 AI 功能的應用。我們也介紹了 @Generable
巨集,它能輕鬆地將模型回應轉換為結構化的 Swift 類型。
現在,在這個 Foundation Models 系列的第三篇,我們要深入探討另一個強大的功能:Tool Calling。這個功能讓語言模型可以呼叫你 App 中的函式,來執行任務、擷取資料,或根據使用者輸入觸發操作。
裝置端語言模型無法回答所有問題,特別是需要即時資料的問題,例如目前天氣或最新股價。在其他情境下,你也可能希望模型能存取 App 中的資料來提供更準確的回應。這時就能用上 Tool Calling,它讓模型能將特定任務委派給 App 的函式或外部 API。
在這章中,我們會繼續開發 Ask Me Anything App。雖然裝置端模型可以處理一般性的提問,但它無法即時知道目前熱門的電影。為了解決這個問題,我們會使用 Tool Calling 串接 The Movie Database(TMDB)API,讓模型能夠使用即時資料回答與電影相關的問題。

使用 TMDB APIs
如果你問 Ask Me Anything App 有關熱門電影的問題,裝置端語言模型不會知道答案——它無法存取這類即時資訊,可能只會建議你去其他地方查詢。我們可以透過 Tool Calling 串接 TMDB API 來解決這個問題。這樣一來,當使用者問到電影相關問題時,模型不會說「我不知道」,而是會自動呼叫外部 API,並直接在 App 中顯示相關資訊。
在 Xcode 專案中,建立一個 MovieService
檔案,並加入以下程式碼:
想更深入學習SwiftUI和下載完整程式碼?你可以從 AppCoda網站購買《精通 SwiftUI》完整電子版。