跳到正文
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 内容精选