Hugging Face Blog · 2026/10/20 08:00:00

AnyLanguageModel 1.0 发布 统一苹果端本地与云端模型接口

原标题:AnyLanguageModel 1.0: One Year of Local Models on Apple Platforms
68AI 研判分
核心综述

Hugging Face 推出 AnyLanguageModel 1.0,作为 Apple Foundation Models 框架的替代方案,允许开发者在 Swift 应用中无缝切换本地或云端推理后端。该版本连同 swift-huggingface 和 swift-xet 一同发布,旨在简化多提供商支持并降低集成复杂度,为构建智能应用提供统一的 API 抽象层。

报道全文原始报道全文

本文目录6 个章节

返回文章列表

AnyLanguageModel 1.0:Apple 平台本地模型的一年历程

Mattt mattt

去年十一月,我们在这篇博客中介绍了 AnyLanguageModel:它是 Apple Foundation Models 框架的一个即插即用替代方案,允许你选择应用所使用的模型和提供商。许多应用开发者对本地模型很感兴趣,但往往不确定如何入手,同时也希望避免支持多个推理提供商所带来的额外复杂性。AnyLanguageModel 正是基于这些反馈而诞生的。

本地推理和托管推理各有优势,在构建这一代智能应用的过程中都扮演着重要角色。统一的 API 使得为每个任务选择合适的模型变得更加容易。

经过一年的发展和数十次发布,AnyLanguageModel 1.0、swift-huggingface 1.0 以及 swift-xet 1.0 现已正式发布。

以下是变化之处及未来展望:

兼容的即插即用 API

AnyLanguageModel 的核心理念保持不变:使用 Foundation Models API 搭配最适合你应用的模型。要开始使用,只需修改你的 import 语句:

DIFF
- 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,你可以使用那些因体积过大而无法在设备本地运行的开源权重模型,且无需修改会话代码:

SWIFT
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 模型只需一行代码:

SWIFT
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

SWIFT
dependencies: [
    .package(
        url: "https://github.com/huggingface/AnyLanguageModel",
        from: "1.0.0",
        traits: ["MLX"]
    )
]

如果你正在升级现有应用,请参阅 AnyLanguageModel、swift-huggingface 和 swift-xet 发布说明中的迁移指南,以帮助你更新代码。

社区反馈和贡献塑造了我们的多项主要功能。感谢所有贡献者,帮助让 AnyLanguageModel 对应用开发者更加实用。

未来展望

语言模型已被证明是为产品注入智能的强大工具。它们也是开发者可以运用的众多模型类型之一。我们很高兴将同样的方法扩展到更多能力:熟悉的 Swift API,并提供多种可在设备端运行的模型选择。即将推出:具备决策能力的模型,以及具备听觉能力的模型。

AnyLanguageModel 1.0 发布 统一苹果端本地与云端模型接口 | Today for AI