AnyLanguageModel 1.0:苹果本地模型的一年

去年十一月,Hugging Face 发布了 AnyLanguageModel:一个可替代 Apple Foundation Models 框架的组件,让应用自由选择模型与提供商。开发者反馈称,他们对本地模型感兴趣,但不确定如何开始,也不想为支持多个推理提供商增加复杂度。AnyLanguageModel 就源于这些反馈。本地和托管推理各有优势,都该用在新一代智能应用里;共享一套 API 能让每个任务选到合适的模型。

一年后,AnyLanguageModel 1.0、swift-huggingface 1.0 和 swift-xet 1.0 同时发布。核心思路不变:使用 Foundation Models API,但搭配适合应用的模型。开始使用只需改一行 import 语句,把 FoundationModels 换成 AnyLanguageModel。相同的会话代码可以运行系统模型、通过 llama.cpp、MLX、Core ML 加载的开源权重模型,以及托管提供商。

过去一年加入的主要特性包括:所有提供商都支持工具调用;所有提供商都支持引导生成,包括嵌套的 @Generable 类型及数组;图像支持允许按 Foundation Models 27 的语法把图附加到提示中,在 iOS、macOS、visionOS 27 上使用系统模型时也支持。在 OS 27 上,AnyLanguageModel 还可以与任何符合 Foundation Models 的 LanguageModel 协议(包括 Core AI 模型)协同工作。swift-huggingface 和 swift-xet 则负责把模型下载从 Hugging Face Hub 加速到 Swift 应用。

托管模型的支持也在扩展。AnyLanguageModel 现在支持 OpenAI 的 Chat Completions 与 Responses API、任何兼容端点的 Open Responses、带有 adaptive thinking 和 effort 选项的 Anthropic Messages API、Google Gemini API、Ollama、OS 27 上的 Private Cloud Compute、Hugging Face Inference Providers,以及通过自定义 base URL 使用的其他 OpenAI 兼容端点(如 OpenRouter)。

用 Inference Providers 时,可以在设备上装不下的大模型上使用同样的会话代码,例如 openai/gpt-oss-120b。托管提供商具备与本地模型相同的功能:引导生成、带流式的工具调用、响应上的 token 用量。推理内容现在也进入转录;切换提供商时,如果新提供商无法重放推理块,请求中会自动省略这些块。API 密钥来自闭包而非字符串,应用可以从自己的服务器获取短期令牌。README 说明了何时让用户自带密钥、何时通过代理转发请求。AnyLanguageModel 也支持 Linux,因此同一套代码也能跑在服务器上。

开源模型的进步让本地运行更靠谱。当前 Hub 上下载量较高的模型包括:Google 的 Gemma 4 E2B(GGUF,Q4_0 约 3.4 GB,带量化感知训练);Liquid AI 的 LFM2.5 2.6B(GGUF,Q4_K_M 约 1.7 GB);阿里巴巴的 Qwen3.8 27B for MLX(4 bits 约 16 GB)。前两个可放进 iPhone,Qwen3.8 27B 需要 32 GB 内存以上的 Mac。选择 MLX 模型只需一行代码。Z.ai 的 GLM-5.3 在 BF16 下约 1.5 TB,需要四台顶配 Mac Studio——对大多数人来说,走 Inference Providers 更现实。

从已有应用升级到 1.0,依赖配置使用 from: “1.0.0” 即可,迁移说明见各仓库 release notes。社区反馈催生了不少主要功能。下一步,Hugging Face 想把同样思路扩展到更多模型能力:熟悉的 Swift API、在设备上运行的多种模型选择。即将推出的是会决策的模型,和会聆听的模型。

AnyLanguageModel 1.0: One Year of Local Models on Apple Platforms

查看原文