Hugging Face Blog · 2026/10/20 08:00:00
AnyLanguageModel 1.0 发布 统一苹果端本地与云端模型接口
Hugging Face 推出 AnyLanguageModel 1.0,作为 Apple Foundation Models 框架的替代方案,允许开发者在 Swift 应用中无缝切换本地或云端推理后端。该版本连同 swift-huggingface 和 swift-xet 一同发布,旨在简化多提供商支持并降低集成复杂度,为构建智能应用提供统一的 API 抽象层。
报道全文原始报道全文
本文目录6 个章节
AnyLanguageModel 1.0:Apple 平台本地模型的一年历程
去年十一月,我们在这篇博客中介绍了 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 支持的开放权重模型,以及下文提到的托管提供商。
在过去一年中,我们添加了几个主要功能:
- 工具调用(Tool calling) 在所有提供商上均可用。
- 引导生成(Guided generation) 同样在所有提供商上可用,包括嵌套的
@Generable类型及其数组。 - 图像支持 允许你使用 Foundation Models 27 的语法将图像附加到提示词中,包括在 iOS、macOS 和 visionOS 27 上使用系统模型时。
在 OS 27 上,AnyLanguageModel 还支持任何符合 Foundation Models LanguageModel 协议的模型,包括 Core AI 模型。
除了 AnyLanguageModel,我们还开发了 swift-huggingface 和 swift-xet,以便在 Swift 应用中实现来自 Hub 的加速模型下载。
也支持托管模型
今年,对托管模型的支持也进一步扩展。AnyLanguageModel 现已支持:
- OpenAI 的 Chat Completions 和 Responses API
- Open Responses,适用于任何拥有兼容端点的提供商
- Anthropic 的 Messages API,支持自适应思考(adaptive thinking)和努力程度选项
- Google 的 Gemini API
- Ollama
- Private Cloud Compute,运行于 OS 27
- Hugging Face Inference Providers,以及通过自定义基础 URL 支持的其他 OpenAI 兼容端点,例如 OpenRouter
借助 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
)托管提供商享有与本地模型相同的功能特性:引导生成(guided generation)、带流式传输的工具调用,以及响应中的 token 用量统计。
推理过程现在也被纳入对话记录中。当你切换提供商时,如果新提供商无法重放推理块,这些内容会自动从请求中省略。
API 密钥通过闭包而非字符串提供,因此你的应用可以从自有服务器获取短期有效的令牌。README 文档详细说明了何时让用户自带密钥,以及何时通过代理路由请求。
AnyLanguageModel 还支持 Linux 系统,这意味着同一套代码可以在服务器上运行。
开源权重模型表现更佳
虽然我们在让本地模型更易用方面取得了进展,但模型本身的能力也在不断提升,这使得小型模型成为不错的入门选择。以下是目前 Hub 上下载量最高的部分模型:
- 来自 Google 的 Gemma 4 E2B,GGUF 格式,采用量化感知训练(quantization-aware training),
Q4_0精度下约 3.4 GB。 - 来自 Liquid AI 的 LFM2.5 2.6B,GGUF 格式,
Q4_K_M精度下约 1.7 GB。 - 来自阿里巴巴、适配 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,GLM-5.3(来自 Z.ai)在 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,并提供多种可在设备端运行的模型选择。即将推出:具备决策能力的模型,以及具备听觉能力的模型。