DocuBrowse v0.9.1: ローカル AI 搭載ドキュメント検索エンジン

DocuBrowse v0.9.1: ローカル AI 搭載ドキュメント検索エンジン

DocuBrowse v0.9.1 は、非構造化された大量のファイルを検索可能なナレッジベースへと変換することを目的とした、ローカルで動作するオープンソースのドキュメント検索エンジンです。従来のキーワード検索と AI 搭載の意味的類似性検索を組み合わせることで、正確な単語一致だけでなく意味に基づいて文書を見つけることができ、データはすべてローカルマシンに保持されます。

コア検索機能

DocuBrowse はハイブリッド検索アルゴリズムを採用し、検索精度を最大化します。デフォルトでは、以下の 2 つのモードの結果を統合します。

  • キーワード検索: SQLite FTS5 を利用し、タイトル、著者、テーマ、タグ、コンテンツスニペット全体に対して高速な全文検索を実行します。BM25 スコアを 0〜1 の範囲に正規化して使用します。
  • セマンティック検索: Ollama の埋め込み (nomic-embed-text:latest) を用いて、クエリと文書埋め込み間のコサイン類似度を計算します。関連性の低い結果を除外するために、最低閾値 0.30 を適用します。
  • ハイブリッドモード: 最終的な関連スコアは 0.3 × keyword_score + 0.7 × semantic_score として算出されます。

AI 搭載ドキュメントインサイト

検索機能に加えて、DocuBrowse は自動コンテンツ要約を提供します。ユーザーは任意の文書タイトルをクリックすると、Ollama 経由で実行される dolphin3:latest モデルを使用して「Kindle スタイル」のブックジャケット要約を生成できます。これらの要約はオンデマンドで生成され、SQLite データベースにキャッシュされるため、重複計算を回避できます。

対応フォーマットとインデックス作成

DocuBrowse は PDF、Word 文書(.docx)、PowerPoint プレゼンテーション(.pptx)、Excel スプレッドシート(.xlsx)、OpenDocument フォーマット(.odt、.ods、.odp)、電子書籍(EPUB、MOBI、AZW3、AZW)、HTML、Markdown など、幅広いドキュメントタイプに対応しています。

PDF の取り扱い

インデックス作成は堅牢で、主に pdfplumber を抽出エンジンとして使用し、容量が大きいファイルに対しては pypdf をフォールバックとして利用します。システムはスキャンされた(画像のみの)PDF を自動的に検出し、OCR が必要なファイルを特定するためのリスト(ocr_list_pdfs.txt)に振り分けます。

電子書籍と OpenDocument のサポート

バージョン 0.9.1 以降、ツールは Python 標準ライブラリを使用して OpenDocument フォーマット(.odt、.ods、.odp)をネイティブにサポートします。電子書籍のインデックス作成は ebooklib と Calibre を利用し、MOBI/AZW3 フォーマットのメタデータ取得と変換を行います。

プライバシーとセキュリティ

DocuBrowse は「Your data. Your AI.(あなたのデータ、あなたの AI)」という哲学のもと構築されており、インターネット接続、API キー、クラウドアカウントは一切必要としません。

PII 保護

システムにはインジェスト後スキャナが組み込まれており、社会保障番号(SSN)、クレジットカード番号、銀行のルーティング/口座番号、生年月日、パスポート番号といったパターンを検出します。PII を含む文書はインデックスから除外され、誤って露出することを防ぐために永久的にブラックリスト化されます。

ローカルハードニング

悪意あるウェブページからの不正アクセスを防止するため、サーバは localhost にバインドし、以下のセキュリティ対策を実装しています。

  • Host ヘッダー許可リスト: Host が localhost127.0.0.1、または [::1] でない限りリクエストを拒否し、DNS リバインディング攻撃を防ぎます。
  • CSRF トークン: /api/delete/api/open などの状態変更操作は、プロセスごとの X-CSRF-Token とループバックオリジンが必須です。
  • Stored-XSS 防止: 文書フィールドは HTML 用にエスケープされ、カードアクションはインライン onclick ハンドラではなく委任リスナを使用します。

システム要件とインストール

ハードウェア要件

  • 最低: 8 GB RAM、x86_64 または ARM64 CPU。GPU がなくても動作しますが、要約生成は遅くなります。
  • 推奨: 16 GB RAM、4 GB 以上の vRAM(NVIDIA または Apple Silicon)を備えた GPU 加速環境。

インストール

DocuBrowse は Linux 用の RPM、DEB、tarball、Windows 用の zip、macOS 用の dmg として提供されています。Python 3.9+ が必要で、初回実行時に Ollama と必要なモデル(nomic-embed-textdolphin3)のインストールを自動で行います。

コミュニティの洞察と視点

コミュニティのユーザーや開発者は、ローカルファースト AI ツールの価値を高く評価しています。

"個人の文書を他人のクラウドに全部アップロードするのは好きではありません。すべてをディスク上に保持できるツールは嬉しいです。"

一部のユーザーは、Google Drive や Dropbox といったクラウドストレージプロバイダとの将来的な統合や、異なる環境でのセットアップを簡素化する Docker デプロイオプションを提案しています。


要約: DocuBrowse v0.9.1 は、キーワード検索とセマンティック検索、AI 生成要約を組み合わせたローカルの FOSS ドキュメント検索エンジンで、デバイス上だけで動作しデータプライバシーを確保します。

タイトル: DocuBrowse v0.9.1: ローカル AI 搭載ドキュメント検索エンジン

Sources