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

Источник: Hugging Face•

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

Мы стремимся развивать и демократизировать искусственный интеллект с помощью открытого исходного кода и открытой науки.

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

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

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

Вот что изменилось и что нас ждет впереди:

Полностью совместимый API

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

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

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

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

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

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

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

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

  • API Chat Completions и Responses от OpenAI
  • Open Responses для любого провайдера с совместимым эндпоинтом
  • API Messages от Anthropic с функциями адаптивного мышления и настройки уровня усиления
  • API Gemini от Google
  • Ollama
  • Private Cloud Compute в ОС 27
  • Провайдеры инференса Hugging Face и другие эндпоинты, совместимые с OpenAI, такие как OpenRouter, через настраиваемый базовый URL

С помощью провайдеров инференса вы можете использовать модели с открытыми весами, которые слишком велики для запуска на устройстве, используя тот же код сессии:

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

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

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

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

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

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

  • Gemma 4 E2B от Google в формате GGUF, около 3,4 ГБ в формате Q4_0 с квантованием с учетом обучения (quantization-aware training).
  • 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 занимает всего одну строку:

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

Обновление до версии 1.0

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

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

Что дальше

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

Ссылки

  • AnyLanguageModel на GitHub
  • swift-huggingface на GitHub
  • swift-xet на GitHub
  • Представляем AnyLanguageModel
  • Представляем swift-huggingface

О чём эта статья

Ещё в разделе «AI и машинное обучение»

Все →

Ещё от Hugging Face