Experimentování s Cross-Origin Storage API v Transformers.js

Článek se zaměřuje na experimentování s novým Cross-Origin Storage API v knihovně Transformers.js a jeho přínosy pro sdílení modelových zdrojů.

24. června 2026

Knihovna Transformers.js poskytuje webovým vývojářům jednoduchý způsob, jak využívat transformátory ve svých aplikacích prostřednictvím specifických pipeline. Například pro úkol automatického rozpoznávání řeči (ASR) je výchozím modelem Xenova/whisper-tiny.en, což je doporučená volba pro běžné úkoly v angličtině. Tento model je standardně integrován do Transformers.js, což usnadňuje jeho použití.

Jedním z hlavních problémů, kterým čelí vývojáři, je redundantní stahování modelových zdrojů, když různé aplikace na různých původech používají stejné modely. Například, pokud uživatel navštíví aplikaci, která používá model Xenova/whisper-tiny.en, a poté navštíví jinou aplikaci, která tento model také využívá, prohlížeč musí model znovu stáhnout, což může vést k výraznému plýtvání daty.

Zde přichází na scénu Cross-Origin Storage API (COS), které umožňuje webovým aplikacím ukládat a načítat velké soubory napříč původem pomocí kryptografického hashe. COS API identifikuje soubory pomocí hash místo URL, což eliminuje redundantní stahování modelových zdrojů. Pokud je model již uložen v COS, může být okamžitě načten bez dalšího síťového požadavku.

Je důležité poznamenat, že COS API je stále v rané fázi návrhu a není zatím nativně implementováno v žádném prohlížeči. Vývojáři mohou experimentovat s tímto API pomocí rozšíření, které umožňuje použití polyfillu pro navigator.crossOriginStorage. To umožňuje testování a ověřování funkčnosti COS v reálných aplikacích.

Transformers.js již začalo experimentovat s COS API na úrovni knihovny. Například, pull request #1549 přidal experimentální backend pro COS cache, což ukazuje na aktivní snahu o integraci tohoto nového API do stávajícího ekosystému. Při zápisu souboru do COS prohlížeč ověřuje hash, což zajišťuje integritu dat. Pokud data neodpovídají deklarovanému hashi, zápis selže.

COS API také poskytuje kontrolu nad tím, kdo může číst uložené soubory. Pomocí parametru origins lze nastavit viditelnost souborů, což může mít důsledky pro soukromí uživatelů, pokud není implementováno správně. Potenciálně by COS mohlo odhalit historii prohlížení uživatelů, což je důležité mít na paměti při jeho integraci.

Celkově COS API představuje zajímavou možnost pro zlepšení sdílení modelových zdrojů napříč různými webovými aplikacemi. Pokud se podaří úspěšně implementovat a standardizovat, mohlo by to znamenat významný krok vpřed v oblasti webového vývoje a správy zdrojů.