На конференции WWDC 2025 компания Apple представила фреймворк Foundation Models — набор инструментов, позволяющий разработчикам интегрировать локальные ИИ-модели Apple в свои приложения. По заявлению Apple, эти модели работают полностью на устройстве, не требуют подключения к облаку, не влекут затрат на инференс и ставят во главу угла конфиденциальность пользователей. В статье показано, как реализовать фреймворк Foundation Models в приложении на SwiftUI для обработки пользовательских запросов и отображения ответов, сгенерированных ИИ, в реальном времени.
Обзор фреймворка Foundation Models
Фреймворк Foundation Models предоставляет доступ к большой языковой модели Apple, работающей на устройстве и оптимизированной для задач, таких как генерация текста, суммаризация и классификация.
Ключевой особенностью является возможность потоковой передачи ответов — это позволяет отображать вывод по мере его генерации. Класс LanguageModelSession отвечает за взаимодействие с моделью и поддерживает как пакетные, так и потоковые режимы.
Метод streamResponse(to:), используемый в примере, постепенно передаёт текстовые фрагменты, что обеспечивает динамическое обновление пользовательского интерфейса.
Реализация интерфейса «запрос — ответ»
В примере создаётся приложение на SwiftUI, где пользователь вводит вопрос, а система возвращает потоковый ответ от локальной ИИ-модели. Интерфейс включает текстовое поле для ввода, кнопку отправки и прокручиваемую область для вывода.
К текстовому полю применяется модификатор glassEffect для визуального соответствия дизайн-языку iOS 26.
Структура ContentView определяет интерфейс: ScrollView отображает ответ ИИ, а нижняя панель содержит TextField и кнопку отправки. Функция sendPrompt создаёт экземпляр LanguageModelSession и вызывает streamResponse(to:) для обработки ввода.
По мере генерации текста каждый фрагмент обновляет переменную состояния output, что приводит к немедленному обновлению интерфейса. Состояние inputDisabled блокирует повторные отправки во время обработки запроса.
Особенности реализации
При интеграции фреймворка Foundation Models важно учитывать следующее:
- Поведение потоковой передачи: Метод streamResponse(to:) передаёт текст постепенно — это подходит для приложений в реальном времени, но требует аккуратного управления состоянием, чтобы интерфейс обновлялся плавно.
- Соблюдение конфиденциальности: Поскольку модель работает исключительно на устройстве, пользовательские данные не покидают его.
- Совместимость с платформами: Фреймворк доступен на iOS 26, macOS 26, tvOS 26 и watchOS 26.
Заключение
Фреймворк Foundation Models позволяет разработчикам внедрять локальный ИИ в приложения на SwiftUI с минимальными настройками. Благодаря поддержке потоковой генерации текста, приложения могут обеспечивать динамичный и безопасный пользовательский опыт, полностью ориентированный на конфиденциальность.