オンデバイスで動作するWebベースのAIアプリを開発しているなら、おそらく何度も同じような機能を実装してきたはずです。ユーザーにどのモデルがダウンロード可能か、またはキャッシュ済みかを示し、ダウンロードの進捗状況を表示する仕組みです。
作者はRescript(https://github.com/wassgha/rescript を参照)を構築する際に、このまさに同じパターンが必要になりました。そこで、この処理を小さなライブラリにまとめることにしました。それがWeightliftです。
Weightliftは、transformers.js、onnx、prakeetなど、ほぼすべてのモデルプロバイダーに対応し、モデル管理を効率化します。開発者はプロバイダーの違いを意識することなく、モデルのダウンロード、キャッシュ確認、進捗表示をシンプルに統合できます。
オンデバイスAIアプリを構築中の方は、ぜひ試してみてください。