Artefactos de la versión 0.1.0 de Laya-CoreML
Instala el runtime público en Apple Silicon:
python -m pip install 'laya-coreml[demo]==0.1.0'
La wheel contiene la inferencia, la carga desde el Hub, la demo de Snake en terminal y su renderizador de repetición. Los pesos del modelo se descargan por separado. PyTorch es una dependencia opcional de exportación; MLX es una dependencia opcional de comparación. Ninguna de las dos hace falta para ejecutar los modelos publicados. Consulta el proyecto de PyPI.
Versiones de modelo fijadas
Los seis repositorios son públicos. Cada uno incluye el paquete Core ML exportado, el tokenizer, la configuración, la model card, la licencia, la atribución y el informe de validación. Los paquetes ANE también contienen los tensores exactos de embedding del host y de la cabeza de acción. Son paquetes de inferencia autónomos.
| Repositorio de Hugging Face | Revisión de la versión |
|---|---|
| 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 |
Por ejemplo:
hf download aac6fef/laya-multilingual-coreml-ane \
--revision 39d6a9b3d0f67f06da74fbade6121ea134cbdb21 \
--local-dir models/ane
laya-coreml-snake --model ./models/ane
O carga directamente una instantánea fijada del Hub:
import laya_coreml as laya
agent = laya.load(
"aac6fef/laya-multilingual-coreml-ane",
revision="39d6a9b3d0f67f06da74fbade6121ea134cbdb21",
)
El inventario de la versión, los hashes de los paquetes, las formas y los tamaños completos de los bundles están en hub-release.json. El paquete W8 ocupa unos 557 MB, incluidos los embeddings del host y el tokenizer; 129 MB describe solo su cuerpo de Core ML. W8 es paletización de pesos con cómputo FP16, no cuantización de activaciones a enteros.
Verificación del modelo y del paquete
Cada paquete publicado se comprobó contra su exportación validada archivada antes de subirlo. Los paquetes ANE portátiles conservan el cuerpo original de Core ML y extraen seis tensores del host con igualdad exacta de elementos. La inferencia en el momento del empaquetado repitió entonces las comprobaciones del fixture golden del upstream:
| Paquete | Respuestas seleccionadas coincidentes | Deriva máxima de probabilidad calibrada | Llamadas repetidas |
|---|---|---|---|
| Inglés FP16 | 63/63 | 0.003308 | 100 estables |
| Multilingüe FP16 | 63/63 | 0.001578 | 100 estables |
| Typed Decisions FP16 | 63/63 | 0.002727 | 100 estables |
| Snake GPU, B3/L64 | 12/12 que caben | 0.001308 | 100 estables |
| ANE FP16, L96 | 59/59 que caben | 0.002925 | 100 estables |
| ANE W8, L96 | 59/59 que caben | 0.014393 | 100 estables |
Las exportaciones cortas rechazan los fixtures que superan su capacidad de entrada. Sus subconjuntos que caben son explícitos; no son afirmaciones de equivalencia en contexto completo. Todas usan el mismo umbral de deriva de probabilidad de 0.02. Los checkpoints de propósito general cubren 189/189 preguntas; los seis paquetes juntos cubren 319 comparaciones que caben, con solapamiento entre checkpoints. Consulta release-validation.json.
Un entorno nuevo de Python 3.12 instaló la wheel compilada y el extra de demo, sin Torch, MLX ni Transformers. Los seis paquetes locales se cargaron y produjeron predicciones estables mientras las conexiones de socket de Python estaban bloqueadas. Después se cargó una instantánea pública y fijada del Hub de ANE, seguida de una segunda carga desde la caché con las conexiones de red bloqueadas. Ninguna sección sin conexión intentó conectarse. Esta comprobación también ejercitó el arreglo de materialización de enlaces simbólicos de Core ML descrito en USAGE.md. Resultados: wheel-runtime-smoke.json.
La versión 0.1.0 se publicó en PyPI el 2026-09-20. Se descargaron ambos
archivos de distribución públicos y sus digests SHA256 coincidieron con los
artefactos locales de la versión. Un segundo entorno nuevo instaló entonces
laya-coreml[demo]==0.1.0 directamente desde el índice público de PyPI con la
caché desactivada. El ejemplo de carga directa desde el Hub del README se ejecutó
correctamente, devolvió cero tokens de salida y produjo la misma respuesta en tres
llamadas repetidas con las conexiones de red bloqueadas durante la predicción. Los
dos puntos de entrada de CLI instalados también arrancaron correctamente.
Consulta el recibo de publicación y
la comprobación de inferencia de la instalación pública.
Reproducir las comprobaciones de la versión
La puerta local de la versión superó 64 tests, las comprobaciones de lint/formato de Ruff y la validación estricta de metadatos de paquete de Twine. Los tests incluyen la semántica de conversión, la integridad de la caché de bundles, las invariantes del juego, la resolución de modelos sin conexión y la repetición exacta de cada tablero/acción de la grabación publicada de 855 movimientos.
El backend de compilación está fijado a Hatchling 1.31.0. Su salida de Core Metadata 2.4 pasa el comprobador Twine 6 de la versión; una compilación inicial que usaba los metadatos 2.5 por defecto, más nuevos, fue rechazada. Consulta el historial de versiones de Hatchling para el cambio de valor por defecto. Los artefactos publicados usan la compilación compatible y se comprueban de nuevo antes de subirlos. Los digests SHA256 exactos de la wheel y de la distribución de código fuente se registran en distribution-files.json.
Desde un checkout del código fuente con los artefactos validados originales disponibles:
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 se niega a sobrescribir directorios de bundle existentes. La
comprobación independiente de la wheel se ejecuta con
scripts/wheel_smoke.py --hub-check en un entorno nuevo desde fuera del árbol de
código fuente, después de descargar o preparar los seis bundles. Consulta
SNAKE_BENCHMARKS.md
para las mediciones completas del bucle de juego y LAUNCH.md para las
fuentes exactas del contenido multimedia grabado.
Sincronización con el upstream de la 0.2.0
Esta versión porta la validación de prompts aplicable, las etiquetas personalizadas
de noul, las instrucciones en Unicode, el truncamiento de la cola de conversación,
los diagnósticos de colapso de opciones y el reporte de answer-confidence a través
del upstream 4aa6761. También publica el límite (clamp) de temperatura que estaba
presente en el código fuente 0.1.1 pero ausente en PyPI 0.1.0. Las firmas de grafo
de Core ML, los pesos y las comprobaciones de capacidad de ANE no cambian. Los
resultados históricos de benchmark de arriba describen la 0.1.0, no una nueva
ejecución de rendimiento. La latencia con preguntas mixtas y la compatibilidad con
Mac Intel no se han validado con esta sincronización.
Haz push de una etiqueta v<version> después de actualizar pyproject.toml,
laya_coreml/__init__.py y uv.lock. El flujo de trabajo Release ejecuta las
comprobaciones reutilizables de CI, verifica las tres versiones contra la etiqueta,
compila y valida la wheel/sdist, publica en PyPI usando el secreto del repositorio
PYPI_API_TOKEN y crea una release de GitHub con las mismas distribuciones. Un
fallo de CI impide la publicación.