AnyLanguageModel 讓 Swift 應用程式用相近的對話介面,接 Apple 系統、本機與雲端模型。 Hugging Face 在 10 月 20 日的官方介紹中,整理這套程式庫走到 1.0 的變化;GitHub 的 1.0.0 版本則已於 10 月 13 日發布。
對台灣做 iPhone、Mac 應用程式的團隊,它能減少為不同供應商重寫對話流程的工作。不過,已經使用舊版的人,我會優先看保存過的結構資料能否讀回來:1.0 調整了帶關聯值列舉的生成格式,也改了 JSONValue 型別。不要只把套件版本往上調,看到新對話能回答,就認定升級完成。
同一介面,選本機或雲端
官方介紹沿用 Apple Foundation Models 的寫法:把匯入的程式庫換成 AnyLanguageModel,再讓對話使用選定的模型。支援範圍包括 MLX、Core ML、llama.cpp 等本機執行方式,也有 OpenAI、Anthropic、Gemini 與相容端點等雲端入口。工具呼叫與指定 Swift 資料型別的生成,也被放進共用介面。
程式庫本身採 Apache 2.0 授權。實際模型的參數規模、使用授權與所需記憶體,則要看你接入的模型;這套程式庫沒有替所有後端提供同一組模型規格。
這讓同一項應用程式功能比較容易保留。例如,產品把一段文字交給 AI 整理成固定欄位,畫面接收結果的流程可以維持,後面再換適合的模型。改用不同後端後,輸出品質、等待時間和費用仍要重新判斷;程式呼叫方式相近,不代表這些結果也會相同。
選擇也不只是一個名稱。1.0.0 的套件設定把 MLX、Core ML 與 llama.cpp 的支援分成可選功能,預設沒有開啟這些項目。這是讓開發者按需要加入執行後端,而非一安裝就把所有本機能力都準備好;模型檔案與實際運算環境仍需另行處理。
同版本使用說明列出,程式庫最低支援 iOS 17、macOS 14,Apple 系統模型本身卻需要更新的系統環境。最低版本是程式庫能接入的範圍,不能當成所有裝置都能直接用系統模型。Apple 端側與雲端的分工,可接著讀 Apple 裝置 AI 的處理位置。
如果應用程式承諾離線處理,就要把實際執行位置寫進設計;選了雲端供應商,請求仍會送出去。還在釐清需求的團隊,可先看地端 AI 的取捨。AnyLanguageModel 提供切換方式,產品要走哪一條,仍是開發者的選擇。
升級前,先確認舊資料能解碼
對已用舊版的應用程式,1.0 還有一項會碰到保存資料的變更。版本說明明列,@Generable 對帶關聯值列舉的輸出,改成每個選項各自對應一個物件,用 type 表示選項名稱,再放入對應值。先前版本生成的這類內容,無法直接用新版解碼。
這個變化可以從官方測試原始碼看得更具體。測試中,一個帶兩個整數的 pair 選項,預期資料格式如下:
{
"type": "pair",
"value": 1,
"value1": 2
}
這是官方測試原始碼中寫定的預期值。對已經把分類、抽取結果存起來的應用程式,重點是辨認哪些資料用了這種列舉格式。新請求能產生新版內容,不能替你證明舊資料也能讀;需要轉換時,應保留舊資料的版本資訊,讓新舊格式有明確的處理方式。
另一項變更是 JSONValue 成為程式庫自己的型別,不再是 JSONSchema.JSONValue 的別名。原本在這兩種型別之間傳值的程式碼,需要明確轉換。這是整合程式的相容問題,也不是換一個模型名稱就會解決。
AnyLanguageModel 較適合已有多後端需求,希望把應用程式功能與供應商接入分開維護的 Swift 團隊。舊版升級應先處理已保存的結構資料,再接新模型;若眼前只是需要一個雲端 API,先把單一服務串接做好也合理,API 串接入門可作為另一條起點。
常見問題
用了 AnyLanguageModel,就能全程離線嗎?
不會自動變成離線。它同時支援本機與雲端模型,資料會在哪裡處理,取決於應用程式實際選用的後端。本機使用仍要有對應執行環境與模型檔案。
MLX 後端安裝好就能用嗎?
還要啟用 MLX 套件功能、取得模型檔案,並符合執行環境。1.0.0 文件要求 Swift 6.3、Xcode 26.4 以上;安裝程式庫並不會自動備妥所有後端。
哪些舊資料要特別處理?
版本說明特別指出,先前由帶關聯值列舉生成的內容,無法直接用新版格式解碼。若應用程式保存過這類結果,應先辨認資料版本並安排轉換;若同時使用 JSONSchema 程式庫的 JSONValue,也要調整兩種型別之間的傳值。
參考來源
- Hugging Face:AnyLanguageModel 1.0: One Year of Local Models on Apple Platforms(2026-10-20)
- Hugging Face GitHub:1.0.0(2026-10-13)
- Hugging Face GitHub:README.md,1.0.0(2026-10-23 查核)
- Hugging Face GitHub:Package.swift,1.0.0(2026-10-23 查核)
- Hugging Face GitHub:GenerableEnumPayloadTests.swift,1.0.0(2026-10-23 查核)
- Hugging Face GitHub:LICENSE,1.0.0(2026-10-23 查核)