Código Abierto 🇺🇸 27.07.2026 21:04

Experimentos con la propuesta de API de Almacenamiento entre Orígenes en Transformers.js

Hugging FaceHugging Face
Transformers.js enfrenta un problema de almacenamiento en caché: cuando se usa el mismo modelo de IA o tiempo de ejecución Wasm en diferentes sitios web, el navegador los descarga y almacena en caché repetidamente debido al aislamiento de caché basado en el origen. La propuesta de API de Almacenamiento entre Orígenes (COS) aborda esto identificando archivos por su hash criptográfico en lugar de la URL, permitiendo compartir recursos de manera segura entre diferentes orígenes.
Transformers.js — una biblioteca para ejecutar modelos de transformadores en el navegador. Al cargar un modelo, por ejemplo, Xenova/whisper-tiny.en, el navegador lo almacena en caché mediante la API de caché. Sin embargo, al visitar otro sitio que use el mismo modelo, el navegador lo descarga de nuevo (177 MB de datos duplicados), ya que la caché HTTP está aislada por origen (la clave de aislamiento de red incluye el sitio de nivel superior y el sitio del marco actual). Lo mismo ocurre con el tiempo de ejecución de Wasm ort-wasm-simd-threaded.asyncify.wasm (4733 kB), común para diferentes modelos. La API propuesta Cross-Origin Storage (COS) introduce navigator.crossOriginStorage, que identifica archivos por su hash (SHA-256). Los desarrolladores pueden almacenar y leer archivos mediante requestFileHandle(hash). Los archivos pueden ser accesibles globalmente (origins: '*'), limitados a una lista de orígenes o solo al mismo sitio. El hash se verifica al escribir, garantizando la integridad. La visibilidad solo se puede ampliar, no reducir. Para la privacidad, COS evita la detección a través de orígenes y hashes. La API es experimental por ahora, pero está disponible a través de la extensión Cross-Origin Storage.
Fuente: Hugging Face blog — original
Nuestros artículos anteriores sobre este tema ↓
Noticias frescas