AnyLanguageModel 1.0 发布:Apple 平台本地模型一年的演进
AnyLanguageModel 1.0: One Year of Local Models on Apple Platforms
Hugging Face 发布 AnyLanguageModel 1.0,这是 Apple Foundation Models 框架的替代方案,可让同一套 session 代码运行系统模型、llama.cpp/MLX/Core ML 开源权重模型及托管模型。
去年 11 月,我们在这篇博客上介绍了 AnyLanguageModel:它是 Apple Foundation Models 框架的即插即用替代品,让你可以为应用选择所用的模型和提供商。我们听到一些应用开发者对本地模型很感兴趣,但并不总是清楚如何入门,也希望避免支持多个推理提供商带来的额外复杂性。AnyLanguageModel 正是从这些反馈中诞生的。
本地推理和托管推理各有优势,两者在构建这一代智能应用中都有一席之地。共享的 API 让为每个任务选择合适模型变得更容易。
一年过去,经过几十个版本的发布,AnyLanguageModel 1.0 正式推出,同时发布的还有 swift-huggingface 1.0 和 swift-xet 1.0。
以下是变化之处,以及接下来的计划:
即插即用兼容的 API
AnyLanguageModel 的核心理念不变:使用 Foundation Models API,配合适合你应用的模型。要开始使用,只需修改你的 import 语句:
- import FoundationModels
+ import AnyLanguageModel
之后,同一段会话代码就能与系统模型、通过 llama.cpp、MLX 和 Core ML 运行的开放权重模型,以及下方的托管提供商一起工作。
在过去一年里,我们新增了若干重要特性:
- 工具调用支持所有提供商。
- 引导式生成同样支持所有提供商,包括嵌套的
@Generable类型及其数组。 - 图像支持让你可以使用 Foundation Models 27 的语法在提示词中附加图像,包括在 iOS、macOS 和 visionOS 27 上使用系统模型时。
在 OS 27 上,AnyLanguageModel 还支持任何符合 Foundation Models LanguageModel 协议的模型,包括 Core AI 模型。
在开发 AnyLanguageModel 的同时,我们还构建了 swift-huggingface 和 swift-xet,把来自 Hub 的加速模型下载能力带给 Swift 应用。
托管模型同样支持
今年对托管模型的支持也在扩展。AnyLanguageModel 现已支持:
- OpenAI 的 Chat Completions 和 Responses API
- Open Responses,适用于任何提供兼容端点的提供商
- Anthropic 的 Messages API,支持自适应思考(adaptive thinking)和努力程度选项
- Google 的 Gemini API
- Ollama
- OS 27 上的 Private Cloud Compute
- Hugging Face Inference Providers,以及其他 OpenAI 兼容端点(如 OpenRouter),通过自定义 base URL 即可使用
借助 Inference Providers,你可以用同一段会话代码使用那些因体积太大而无法在设备上运行的开放权重模型:
let model = OpenAILanguageModel(
baseURL: URL(string: "https://router.huggingface.co/v1/")!,
apiKey: ProcessInfo.processInfo.environment["HF_TOKEN"]!,
model: "openai/gpt-oss-120b",
apiVariant: .chatCompletions
)
托管提供商享有与本地模型相同的特性:引导式生成、带流式输出的工具调用,以及响应中的 token 用量信息。
推理过程现在也会包含在对话记录中。当你切换提供商时,如果新的提供商无法重放推理块,系统会自动从请求中省略它们。
API 密钥现在通过闭包而非字符串提供,这样你的应用可以从自己的服务器获取短期有效的令牌。README 说明了何时让用户自带密钥,何时通过代理转发请求。
AnyLanguageModel 还可以在 Linux 上运行,因此同一段代码可以工作在服务器上。
开放权重模型变得更好了
在我们让本地模型更易用的同时,模型本身的能力也在不断提升,使得小型模型成为不错的入门选择。以下是 Hub 上目前下载量最高的一些模型:
- 来自 Google 的 Gemma 4 E2B,GGUF 格式,在
Q4_0下借助量化感知训练约 3.4 GB。 - 来自 Liquid AI 的 LFM2.5 2.6B,
GGUF 格式,约 1.7 GB,见
Q4_K_M。 - 来自阿里巴巴的 面向 MLX 的 Qwen3.8 27B, 4 bit 下约 16 GB。
前两个模型可以装进 iPhone, Qwen3.8 27B 则可在配备 32 GB 或更多内存的 Mac 上运行。 选择 MLX 模型只需一行代码:
let model = MLXLanguageModel(modelId: "mlx-community/Qwen3.8-27B-4bit")
而如果你手头有四台满配的 Mac Studio, 来自 Z.ai 的 GLM-5.3 以 BF16 计约需 1.5 TB。 对我们其他人来说,可以通过 Inference Providers 使用它。
升级到 1.0
dependencies: [
.package(
url: "https://github.com/huggingface/AnyLanguageModel",
from: "1.0.0",
traits: ["MLX"]
)
]
如果你要升级现有应用,请参阅 AnyLanguageModel、 swift-huggingface 和 swift-xet 的发布说明中的迁移指南, 以帮助你更新代码。
社区反馈和贡献塑造了我们的若干重要功能。 感谢每一位贡献者 帮助 AnyLanguageModel 对应用开发者更加有用。
下一步
语言模型已被证明是在产品中构建智能的强大工具。 它也是开发者可以投入使用的众多模型类型之一。 我们很高兴将同样的方式带给更多能力: 熟悉的 Swift API,并可选择在设备上运行的模型。 即将推出:会决策的模型,和会倾听的模型。
链接
来源: Hugging Face Blog · huggingface.co