Código Aberto 🇺🇸 27.07.2026 21:04

Experimentos com a Proposta de API de Armazenamento Entre Origens no Transformers.js

Hugging FaceHugging Face
O Transformers.js enfrenta um problema de cache: ao usar o mesmo modelo de IA ou runtime Wasm em diferentes sites, o navegador baixa e armazena em cache repetidamente devido ao isolamento de cache baseado em origem. A proposta de API de Armazenamento Entre Origens (COS) resolve isso identificando arquivos por hash criptográfico em vez de URL, permitindo o compartilhamento seguro de recursos entre diferentes origens.
Transformers.js é uma biblioteca para executar modelos transformers no navegador. Ao carregar um modelo, como Xenova/whisper-tiny.en, o navegador o armazena em cache por meio da Cache API. No entanto, ao visitar outro site que utiliza o mesmo modelo, o navegador o baixa novamente (177 MB de dados duplicados), pois o cache HTTP é isolado por origem (a Chave de Isolamento de Rede inclui o site de nível superior e o site do quadro atual). O mesmo ocorre com o runtime Wasm ort-wasm-simd-threaded.asyncify.wasm (4.733 kB), comum a diferentes modelos. A proposta da API Cross-Origin Storage (COS) introduz o navigator.crossOriginStorage, que identifica arquivos por hash (SHA-256). Os desenvolvedores podem armazenar e ler arquivos por meio de requestFileHandle(hash). Os arquivos podem ser globalmente acessíveis (origins: '*'), restritos a uma lista de origins ou apenas ao mesmo site (same-site). O hash é verificado na gravação, garantindo integridade. A visibilidade só pode ser ampliada, nunca reduzida. Para privacidade, o COS impede a sondagem por meio de origins e hashes. A API ainda é experimental, mas está disponível por meio da extensão Cross-Origin Storage.
Fonte: Hugging Face blog — original
Nossos posts anteriores sobre este tópico ↓
Notícias frescas