跳到正文
IFAI

開源專案

Hugging Face 推出 AnyLanguageModel:換行程式碼通吃本地與雲端模型

首次發布 傳播指數 46

Hugging Face 釋出開源 Swift 庫 AnyLanguageModel。它直接相容蘋果官方 Foundation Models 介面,開發者改動一行 import 語句,就能在 MLX、Core ML 等本地模型與雲端 API 之間自由切換,省去了大量編寫膠水程式碼的麻煩。目前該專案處於 1.0 前期階段。

Hugging Face 推出 AnyLanguageModel:換行程式碼通吃本地與雲端模型
圖:huggingface.co

AnyLanguageModel 是 Hugging Face 工程師 Mattt 開源的 Swift 工具包,專門幫蘋果平臺開發者統一管理本地與雲端大語言模型。

如果你在開發 macOS 或 iOS 的 AI 應用,以往想在本地跑 Core ML 或 MLX,雲端接入 OpenAI 或 Claude,還得兼顧蘋果系統的內建模型,往往要寫好幾套完全不同的膠水程式碼。AnyLanguageModel 的做法是直接對齊蘋果官方的 Foundation Models 框架介面。開發者只需要把程式碼裡的 import FoundationModels 換成 import AnyLanguageModel,後續的會話建立和提示詞傳送邏輯完全不用改動,就能在不同模型之間一鍵切換。

它支援哪些後端

這個庫目前支援多種執行後端,重點放在了 Hugging Face Hub 上可下載的本地開源模型上。

在本地端,它支援蘋果自家的 Foundation Models(適配 macOS 26 與 iOS 26 及以上系統)、通過 Core ML 執行由神經引擎加速的轉換模型、藉助 MLX 在 Apple 晶片上高效跑量化模型,以及通過 llama.cpp 載入 GGUF 權重。如果你習慣在本地常駐 Ollama,它也能通過本地 HTTP 介面直連。

在雲端方面,它直接集成了 OpenAI、Anthropic 和 Google Gemini 等服務,同時接入了 Hugging Face 的推斷服務。這意味著開發者可以在同一個介面下,用完全一致的呼叫邏輯,快速對比本地小模型和雲端前沿模型的輸出效果。

為了防止引入過多後端導致專案體積膨脹,它利用了 Swift 6.1 的 package traits 特性。預設情況下,該庫只包含基礎 API 和輕量的雲端網路請求依賴;如果你只需要跑 MLX,就只宣告引入 MLX 的 trait,不用拉取 llama.cpp 等其他沉重依賴。對於暫不支援 trait 配置的 Xcode 專案,官方說明裡也給出了通過內部本地包封裝的引入方式。

填補系統空白與上手方法

蘋果當前的 Foundation Models 框架功能相對剋制,甚至暫不支援向多模態視覺模型傳入圖片。AnyLanguageModel 索性走在前頭,在官方框架的設計上做了擴充套件,允許開發者直接向 Claude 等多模態模型傳送影像檔案進行解析。

為了方便開發者快速上手,Hugging Face 提供了一個名為 chat-ui-swift 的 SwiftUI 示例應用。該專案展示了模型切換、流式輸出、會話本地持久化,以及用於下載門控模型的 Hugging Face OAuth 登入。

目前該專案處於 1.0 前期階段,程式碼已經在 GitHub 上開源。團隊接下來的重點是為所有後端補齊工具呼叫、結構化輸出引導生成以及 MCP 協議支援。

為什麼重要

AnyLanguageModel 最實用的地方,是把蘋果生態內原本割裂的端側推理生態捏合在了一起。對於想要嘗試本地開源模型的 Swift 開發者來說,以前跑通 MLX 或 llama.cpp 需要很高的適配成本,現在只需改動一行程式碼就能完成切換和測試,極大地降低了試錯門檻。

不過它也有明顯的侷限。由於它選擇緊跟蘋果官方介面,官方尚未定型的功能需要庫作者提前墊步,未來系統更新時可能會面臨介面調整的風險。但如果你正在為蘋果裝置開發 AI 應用,又不想被單一雲端供應商繫結,這個專案值得現在就加入依賴清單試跑一下。

來源 (1)

  1. [1]
    huggingface.co(在新分頁開啟)原文huggingface.co

每日 AI 內容精選