Sakhanda Wire
NVDA $213.34 -1.73% MSFT $528.18 -1.00% GOOGL $342.12 -0.60% META $682.39 -3.27% AMZN $261.82 -0.24%
← К новостям

AnyLanguageModel 1.0: Один год локальных моделей на платформах Apple

AnyLanguageModel 1.0: год локальных моделей на платформах Apple
Опубликовано 20 октября 2026 г.
Обновить на GitHub
В ноябре прошлого года мы представили AnyLanguageModel в этом блоге: готовую замену фреймворку Foundation Models от Apple, которая позволяет выбирать модель и провайдера, используемых вашим приложением. Мы услышали от разработчиков приложений, которым были интересны локальные модели, но которые не всегда понимали, с чего начать. Они также хотели избежать дополнительной сложности, связанной с поддержкой нескольких провайдеров инференса. AnyLanguageModel появился благодаря этой обратной связи.

Локальный и облачный инференс имеют свои преимущества, и оба подхода играют роль в создании нового поколения интеллектуальных приложений. Общий API упрощает выбор подходящей модели для каждой задачи.

Год и десятки релизов спустя AnyLanguageModel 1.0 уже доступен, вместе с swift-huggingface 1.0 и swift-xet 1.0.

Вот что изменилось и что нас ждёт дальше:

Совместимый API для простой замены

Основная идея AnyLanguageModel остаётся прежней: использовать API Foundation Models с моделью, которая подходит вашему приложению. Чтобы начать работу, измените оператор import:

- import FoundationModels
+ import AnyLanguageModel

После этого тот же код сессии работает с системной моделью, с моделями с открытыми весами через llama.cpp, MLX и Core ML, а также с перечисленными ниже облачными провайдерами.

За последний год мы добавили несколько важных функций:

  • Вызов инструментов работает со всеми провайдерами.
  • Управляемая генерация также работает со всеми провайдерами, включая вложенные типы @Generable и массивы таких типов.
  • Поддержка изображений позволяет прикреплять изображения к запросам с использованием синтаксиса Foundation Models 27, в том числе при использовании системной модели на iOS, macOS и visionOS 27.

В ОС 27 AnyLanguageModel также работает с любой моделью, соответствующей протоколу LanguageModel Foundation Models, включая модели Core AI.

Параллельно с AnyLanguageModel мы расширили swift-huggingface и swift-xet, чтобы обеспечить ускоренную загрузку моделей с Hub в приложения Swift.

Облачные модели тоже поддерживаются

В этом году расширилась и поддержка облачных моделей. Теперь AnyLanguageModel поддерживает:

  • API Chat Completions и Responses от OpenAI
  • Open Responses для любого провайдера с совместимой конечной точкой
  • API Messages от Anthropic с адаптивным рассуждением и параметрами усилий
  • API Gemini от Google
  • Ollama
  • Private Cloud Compute в ОС 27
  • Inference Providers Hugging Face и другие совместимые с OpenAI конечные точки, такие как OpenRouter, через пользовательский базовый 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
)

Облачные провайдеры получают те же функции, что и локальные модели: управляемую генерацию, вызов инструментов в потоковом режиме и сведения об использовании токенов в ответах.

Рассуждение теперь также является частью расшифровки. При смене провайдера блоки рассуждений автоматически исключаются из запросов, если новый провайдер не может воспроизвести их.

Ключи API теперь передаются через замыкание, а не строку, поэтому приложение может получать краткоживущие токены с вашего сервера. В README объясняется, когда стоит позволить пользователям использовать собственные ключи, а когда — направлять запросы через прокси.

AnyLanguageModel также работает в Linux, поэтому тот же код может выполняться на сервере.

Модели с открытыми весами стали лучше

Мы упростили использование локальных моделей, а сами модели стали более функциональными, что делает небольшие модели хорошей отправной точкой. Вот некоторые из самых загружаемых моделей на Hub прямо сейчас:

  • Gemma 4 E2B от Google в формате GGUF, около 3,4 ГБ при Q4_0 и обучении с учётом квантования.
  • LFM2.5 2.6B от Liquid AI в формате GGUF, около 1,7 ГБ при Q4_K_M.
  • Qwen3.8 27B для MLX от Alibaba, около 16 ГБ при 4-битном представлении.

Первые две модели помещаются на iPhone, а Qwen3.8 27B работает на Mac с 32 ГБ памяти или больше. Выбор модели MLX занимает одну строку:

let model = MLXLanguageModel(modelId: "mlx-community/Qwen3.8-27B-4bit")

А если у вас под рукой есть четыре полностью оснащённых Mac Studio, GLM-5.3 от Z.ai занимает около 1,5 ТБ в BF16. Для всех остальных она доступна через Inference Providers.

Переход на версию 1.0

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

Если вы обновляете существующее приложение, ознакомьтесь с инструкциями по миграции в примечаниях к выпуску AnyLanguageModel, swift-huggingface и swift-xet, чтобы обновить код.

Отзывы сообщества и вклад участников помогли сформировать несколько наших ключевых функций. Спасибо всем, кто внёс свой вклад, за помощь в том, чтобы сделать AnyLanguageModel полезнее для разработчиков приложений.

Что дальше

Языковые модели доказали, что являются мощным инструментом для внедрения интеллектуальных функций в продукты. Кроме того, это лишь один из множества типов моделей, которые разработчики могут использовать. Мы рады применить тот же подход к другим возможностям: знакомые API Swift с выбором моделей, работающих на устройстве. Скоро появятся модели, которые принимают решения, и модели, которые слушают.

Ссылки

Модели, упомянутые в этой статье 4

Сообщество

Загружайте изображения, аудио и видео, перетаскивая их в поле ввода текста, вставляя или нажимая здесь.
Нажмите или вставьте сюда, чтобы загрузить изображения

· Зарегистрируйтесь или войдите, чтобы прокомментировать

Модели, упомянутые в этой статье 4

Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.

Впервые опубликовано изданием Hugging Face

Читать оригинал на Hugging Face ↗

Текст и изображения принадлежат Hugging Face и приводятся здесь с указанием авторства и ссылкой на оригинальную публикацию.

← К новостям

Ещё новости

Все последние новости