Documentación

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.