Документация

Артефакты выпуска Laya-CoreML 0.1.0

Установите публичный рантайм на Apple Silicon:

python -m pip install 'laya-coreml[demo]==0.1.0'

Колесо содержит инференс, загрузку из Hub, терминальное демо Snake и его рендерер повтора. Веса модели скачиваются отдельно. PyTorch — опциональная зависимость экспорта; MLX — опциональная зависимость для сравнения. Ни то, ни другое не требуется для запуска выпущенных моделей. См. проект на PyPI.

Закреплённые выпуски моделей

Все шесть репозиториев публичны. Каждый включает экспортированный пакет Core ML, токенизатор, конфигурацию, карточку модели, лицензию, атрибуцию и отчёт о валидации. Пакеты ANE также содержат точные тензоры эмбеддингов хоста и головы действий. Это автономные пакеты инференса.

Репозиторий Hugging Face Ревизия выпуска
aac6fef/laya-coreml fff78b2d9750c6b748fe8c90fcbf8bed0a1522a9
aac6fef/laya-multilingual-coreml 8139e9089273319512c730218903784074133187
aac6fef/laya-multilingual-coreml-ane 39d6a9b3d0f67f06da74fbade6121ea134cbdb21
aac6fef/laya-multilingual-coreml-ane-w8 7503714810747a879b1e310074a9398bc573e739
aac6fef/laya-multilingual-coreml-snake e580bca9c1a8f5e6084afedc49cba4a166dfc6f2
aac6fef/laya-typed-decisions-coreml 28d24fa8d67a3264556b23391ec6c3fd98573056

Например:

hf download aac6fef/laya-multilingual-coreml-ane \
  --revision 39d6a9b3d0f67f06da74fbade6121ea134cbdb21 \
  --local-dir models/ane
laya-coreml-snake --model ./models/ane

Или загрузите закреплённый снимок Hub напрямую:

import laya_coreml as laya

agent = laya.load(
    "aac6fef/laya-multilingual-coreml-ane",
    revision="39d6a9b3d0f67f06da74fbade6121ea134cbdb21",
)

Реестр выпуска, хеши пакетов, формы и полные размеры пакетов — в hub-release.json. Пакет W8 весит около 557 МБ, включая эмбеддинги хоста и токенизатор; 129 МБ описывают только его тело Core ML. W8 — это палетизация весов с вычислениями FP16, а не целочисленное квантование активаций.

Проверка модели и пакета

Каждый опубликованный пакет был сверен со своим заархивированным проверенным экспортом перед загрузкой. Переносимые пакеты ANE сохраняют исходное тело Core ML и извлекают шесть тензоров хоста с точным поэлементным равенством. Затем инференс на этапе упаковки повторил проверки upstream golden-фикстуры:

Пакет Совпадающие выбранные ответы Максимальный дрейф калиброванной вероятности Повторные вызовы
Английский FP16 63/63 0.003308 100 стабильно
Многоязычный FP16 63/63 0.001578 100 стабильно
Typed Decisions FP16 63/63 0.002727 100 стабильно
Snake GPU, B3/L64 12/12 подходящих 0.001308 100 стабильно
ANE FP16, L96 59/59 подходящих 0.002925 100 стабильно
ANE W8, L96 59/59 подходящих 0.014393 100 стабильно

Короткие экспорты отклоняют фикстуры за пределами своей ёмкости входа. Их подходящие подмножества явны; это не утверждения о полной эквивалентности контекста. Все используют один и тот же порог дрейфа вероятности 0.02. Универсальные контрольные точки покрывают 189/189 вопросов; шесть пакетов вместе покрывают 319 подходящих сравнений, с пересечением между контрольными точками. См. release-validation.json.

Свежее окружение Python 3.12 установило собранное колесо и дополнение demo, без Torch, MLX или Transformers. Все шесть локальных пакетов загрузились и дали стабильные предсказания, пока сокетные соединения Python были заблокированы. Затем был загружен публичный закреплённый снимок ANE в Hub, а после — вторая загрузка из кэша при заблокированных сетевых соединениях. Ни один офлайн-раздел не пытался установить соединение. Эта проверка также затронула исправление материализации символических ссылок Core ML, описанное в USAGE.md. Результаты: wheel-runtime-smoke.json.

Версия 0.1.0 была опубликована на PyPI 20.09.2026. Оба публичных файла дистрибутива были скачаны, и их дайджесты SHA256 совпали с локальными артефактами выпуска. Затем второе новое окружение установило laya-coreml[demo]==0.1.0 напрямую из публичного индекса PyPI с отключённым кешированием. Пример прямой загрузки из Hub из README выполнился успешно, вернул ноль выходных токенов и дал тот же ответ на трёх повторных вызовах при заблокированных сетевых соединениях во время предсказания. Обе установленные точки входа CLI также запустились успешно. См. квитанцию публикации и проверку инференса при публичной установке.

Воспроизведите проверки выпуска

Локальный шлюз выпуска прошёл 64 теста, проверки линтера/форматирования Ruff и строгую валидацию метаданных пакета Twine. Тесты включают семантику конвертации, целостность кэша пакетов, инварианты игры, офлайн-разрешение модели и точный повтор каждого поля/действия в опубликованной записи из 855 ходов.

Бэкенд сборки закреплён на Hatchling 1.31.0. Его вывод Core Metadata 2.4 проходит проверку Twine 6 из выпуска; начальная сборка с более новыми метаданными по умолчанию 2.5 была отклонена. Об изменении значения по умолчанию см. историю версий Hatchling. Опубликованные артефакты используют совместимую сборку и проверяются ещё раз перед загрузкой. Точные дайджесты SHA256 колеса и исходного дистрибутива записаны в distribution-files.json.

Из исходной копии с доступными исходными проверенными артефактами:

uv sync --extra convert --extra dev --extra compare --extra research --extra demo --extra publish
.venv/bin/python scripts/prepare_hub.py
.venv/bin/python -m benchmarks.release_validate models/hub/* \
  --output benchmarks/results/release-validation.json
.venv/bin/ruff check .
.venv/bin/ruff format --check .
.venv/bin/pytest -q
.venv/bin/python -m build
.venv/bin/twine check --strict dist/*

prepare_hub.py отказывается перезаписывать существующие каталоги пакетов. Автономная проверка колеса запускается через scripts/wheel_smoke.py --hub-check в свежем окружении извне дерева исходников, после скачивания или подготовки шести пакетов. Полные измерения игрового цикла см. в SNAKE_BENCHMARKS.md, а точные источники записанных медиа — в LAUNCH.md.

Синхронизация с upstream 0.2.0

Этот выпуск переносит применимые проверку промптов, пользовательские метки noul, Unicode-инструкции, усечение хвоста беседы, диагностику свёртывания вариантов и отчёт о уверенности ответа из upstream 4aa6761. Он также публикует клампинг температуры, который присутствовал в исходниках 0.1.1, но отсутствовал в PyPI 0.1.0. Сигнатуры графа Core ML, веса и проверки ёмкости ANE не изменились. Исторические результаты бенчмарков выше описывают 0.1.0, а не новый прогон производительности. Задержка смешанных вопросов и поддержка Intel Mac не были проверены этой синхронизацией.

Запушьте тег v<version> после обновления pyproject.toml, laya_coreml/__init__.py и uv.lock. Рабочий процесс Release запускает переиспользуемые проверки CI, сверяет все три версии с тегом, собирает и проверяет wheel/sdist, публикует в PyPI с использованием секрета репозитория PYPI_API_TOKEN и создаёт релиз GitHub с теми же дистрибутивами. Сбой CI предотвращает публикацию.