ARahim3/DigUp
Search your computer by what's in your files: photos, PDFs, documents, recordings, videos and code. On-device on Mac, Windows and Linux, built on Google DeepMind's EmbeddingGemma 2.
DigUp – Mac ファイルのための AI 搭載セマンティック検索
機能
DigUp を使用すると、Apple シリコン Mac 上のファイルの内容を自然言語で検索できます。Google DeepMind のオープンソースマルチモーダルモデル EmbeddingGemma 2 を(llama.cpp 経由で)ローカル実行し、テキスト、画像、オーディオ、ビデオを単一のベクトル空間に埋め込みます。インデックスするフォルダを選択すると、アプリは各画像、PDF ページ、ドキュメント段落、30 秒のオーディオチャンク、ビデオフレームの埋め込みを抽出し、SQLite ベクトルストアに保存します。その後、クエリの埋め込み(正確な単語のブーストを含む)をそのインデックスと照合します。結果は正確な場所 – ビデオフレーム、ポッドキャストのタイムスタンプ、PDF ページ、またはコード行 – でファイルを開きます。
重要性
- マルチモーダル検索: Spotlight とは異なり、ファイル名を知らなくても「ビデオ内のシマウマ」や「賃貸契約書のペットに関する条項」を見つけることができます。
- オンデバイスのプライバシー: すべてのインデックス作成と推論はローカルで実行されます。唯一のネットワークトラフィックは、一度きりのモデルダウンロードとオプションの毎日の更新チェックです。
- 多言語対応: モデルは 100 以上の言語をサポートしているため、英語のクエリでベンガル語のメモなどを見つけることができます。
- コード対応(オプション): コード検索を有効にして、説明で関数をクエリします(
code: retry a failed call with backoff)。
始め方
- DMG をダウンロード(または Homebrew cask でインストール)し、DigUp を Applications にドラッグします。
- 初回起動時に 865 MB の EmbeddingGemma 2 モデルがダウンロードされ、次にインデックスするフォルダを選択します。UI に推定インデックス時間が表示されます。
- 任意のアプリで ⇧⌘Space を押し、自然言語の説明を入力し、矢印キーで結果をナビゲートします。↩ を押すと、正確な場所で一致項目を開きます。
技術的なハイライト
- モデル: EmbeddingGemma 2(740 M パラメータ、768 次元の埋め込み)は、ggml-org の 8 ビットビルドを llama.cpp で実行し、Metal を使用して GPU アクセラレーションを行います。
- インデックス: 1 つの SQLite ファイルに各メディアチャンクのベクトルと、正確な一致をブーストするためのキーワードインデックスが格納されます。コードが有効な場合は、2 番目の SQLite インデックスが使用されます。
- ファイルサポート: 画像(HEIC、JPEG、PNG、RAW、WebP…)、PDF(Vision OCR によるスキャンされたページを含む)、テキストドキュメント(txt、md、rtf、docx、html…)、オーディオ(任意の長さ、重複する 30 秒ウィンドウで処理)、ビデオ(キーフレーム抽出 + オーディオ)。コード検索は、ソースファイル、ノートブック(出力なし)、リポジトリドキュメントを読み取り、
.gitignoreを尊重し、シークレットをスキップします。 - パフォーマンス: 初期インデックスは量に応じて数分から 1 時間かかります。新しいファイルが表示されてから数秒以内に増分更新が行われます。検索はクエリをミリ秒で埋め込み、保存されたベクトルに対して最近傍検索を実行します。
- プライバシーと安全性: テレメトリなし、ファイルのクラウドアップロードなし、オプションの更新チェック、アプリはインデックスされたファイルを変更しません。
- 拡張性: リポジトリには、スクリプト用のコマンドラインツール(
digup)、テスト生成スクリプト、ランキング品質を測定する評価スイートが含まれています。
対象ユーザー
- メディア内の特定の瞬間を見つける必要がある専門家(例:ジャーナリスト、ポッドキャスター、デザイナー)。
- ローカルリポジトリ全体で高速なセマンティックコード検索を希望する開発者。
- Mac 上で完全に実行されるプライバシー優先の AI ツールを重視するすべての人。
ライセンス
MIT – アプリには Apache-2.0(EmbeddingGemma 2)および MIT ライセンスの依存関係(llama.cpp、Sparkle)がバンドルされています。
これを取り上げた記事
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト