概要
- 7MBの軽量な 埋め込みモデル を紹介
- CPUのみ で動作、API不要
- ブラウザ内 で高速テキスト埋め込み
- npmパッケージ として提供、導入が簡単
- Reactドキュメント検索 などの用途に最適
7MB埋め込みモデルの特徴
- 7MBのエンジン+重み のみで構成される軽量モデル
- miniバリアント はさらに小さい5MB
- CPUのみ で動作、GPU不要
- テキスト埋め込みは 約5ミリ秒 で完了
- APIコールやサーバ通信が不要 なため、完全ローカル処理
- ブラウザ上 で直接動作
- npmパッケージ(@ternlight/base) として配布
- モデルダウンロードやサーバ構築不要 で導入が容易
利用方法
- npm install @ternlight/base でインストール
- 例:
import { embed, similar } from '@ternlight/base'; similar('easy weeknight dinner ideas', recipes, { topK: 3 }); // → 上位3件の一致結果を約5msで取得 - semantic search も3行で実装可能
主な用途例
- Reactドキュメント検索
- ブラウザ上でReactのドキュメントを高速検索
- @ternlight/mini(5MB版) を利用
- ネットワーク接続不要、即時検索体験
導入メリット
- ネットワーク遅延ゼロ の高速体験
- 個人情報やデータの外部送信リスクなし
- サーバコスト不要、メンテナンスフリー
- ローカル開発や教育用途 にも最適
まとめ
- 軽量・高速・安全 な埋め込みモデル
- APIレス・サーバレス で導入が簡単
- 即時テキスト検索や類似文書検索 に最適
趣味のプロジェクトで、「ウェブブラウザで使える便利なモデルを作りたい」と思って、MiniLMから小さな文エンコーダーを抽出して、三値量子化を意識したトレーニングを行ったんだ。それから、推論エンジンをゼロから作って、RustでWASM SIMDにしたよ。これは埋め込みモデルで、LLMじゃないんだ。テキストを入力すると384次元のベクトルが出てきて、2つのベクトル間のコサイン類似度でテキストの関連性がわかるんだよ。共有単語に関係なくね(「パスワードをリセットする」↔「パスワードを忘れた」→0.88)。セマンティックサーチやFAQ/意図マッチング、クラスタリングに使えるんだ。デバイス上で動かすことで、APIに依存せずにタイプしながらのセマンティックサーチが快適にできるよ。デモ(2kのReactドキュメント、完全にデバイス上で動作):https://ternlight-demo.vercel.app npmには2つのティアがあるよ: - @ternlight/base(7 MB、~5 ms/埋め込み、より高機能な埋め込み) - @ternlight/mini(5 MB、~2.5 ms/埋め込み)。Nodeとブラウザ用にバンドルされてる。リポジトリ - 技術的詳細を確認してね(MIT、トレーニングパイプラインも含む):https://github.com/soycaporal/ternlight これが役に立つか気になるな。デバイス上の埋め込みのユースケースは何だろう?