Оглавление
По данным Hugging Face, что их библиотека swift-transformers для разработчиков под экосистему Apple достигла важного рубежа — версии 1.0. Это не просто символическое обновление, а фундаментальная переработка инструмента, который стал критически важным для локального запуска языковых моделей на устройствах Apple Silicon.
Что представляет собой swift-transformers
Библиотека swift-transformers решает три ключевые задачи для разработчиков, работающих с локальными моделями:
- Tokenizers — обработка входных данных для языковых моделей, включая чат-шаблоны и агентские сценарии
- Hub — интерфейс для работы с Hugging Face Hub с поддержкой фоновых загрузок и офлайн-режима
- Models и Generation — обертки для моделей в формате Core ML
Как сообщество использует библиотеку
Наиболее востребованными оказались модули Tokenizers и Hub. Среди заметных проектов, построенных на swift-transformers:
- mlx-swift-examples от Apple — набор библиотек для запуска различных типов моделей через MLX
- WhisperKit от argmax — высокооптимизированный фреймворк для распознавания речи
- FastVLM от Apple и другие демо-приложения
Ключевые изменения в версии 1.0
Релиз принес серьезные архитектурные улучшения:
- Tokenizers и Hub стали независимыми модулями верхнего уровня
- Интеграция с swift-jinja Джона Мая — новая версия библиотеки стала на порядки быстрее
- Удалены лишние зависимости и CLI-примеры для уменьшения конфликтов версий
- Поддержка современных Core ML API с stateful-моделями для KV-кэширования
- Полная поддержка Swift 6 и улучшенная документация
Версия 1.0 — это признание того, что библиотека перестала быть экспериментальной и стала готовым к использованию полноценным инструментом. Особенно впечатляет коллаборация с Джоном Маем — редкий случай, когда open source сообщество работает настолько слаженно. Интересно, что Apple активно участвует в развитии экосистемы, что говорит о серьезных планах компании на локальный ИИ.
Пример использования
Вот как выглядит работа с инструментами вызова функций:
import Tokenizers let tokenizer = try await AutoTokenizer.from(pretrained: "mlx-community/Qwen2.5-7B-Instruct-4bit") let weatherTool = [ "type": "function", "function": [ "name": "get_current_weather", "description": "Get the current weather in a given location", "parameters": [ "type": "object", "properties": ["location": ["type": "string", "description": "City and state"]], "required": ["location"] ] ] ] let tokens = try tokenizer.applyChatTemplate( messages: [["role": "user", "content": "What's the weather in Paris?"]], tools: [weatherTool] )
Будущее развитие
Команда разработчиков планирует сосредоточиться на интеграции с MLX — текущим стандартом для начинающих работать с машинным обучением в нативных приложениях. Также в приоритете агентские сценарии и поддержка MCP (Model Context Protocol).
Как отмечают разработчики: «Мы не знаем точно, что будет дальше, но уверены, что экспозиция системных ресурсов для локальных workflow будет просто взрывной».
Оставить комментарий