PCに保存した文書が増えてくるとファイル名や保存場所だけを手掛かりに必要な情報を探すのが難しくなります。そこでPDF・Word文書・電子書籍などをまとめて読み込み、キーワード検索とローカルAIによる意味検索、文書要約が利用できる「DocuBrowser」が公開されています。

linuxrebel/DocuBrowser: A local AI powered Document search engine. That turns that pile of documents on your system into a manageable searchable info store.

https://github.com/linuxrebel/DocuBrowser

◆DocuBrowserで文書を検索

DocuBrowserを起動しブラウザで「http://localhost:8643」にアクセスすると操作画面が表示されるので、Keyword・Semantic・Bothの3モードから任意の文字列を指定することで検索が可能。Semantic検索では本文に同じ単語がなくても意味の近い文書が探せます。



◆検索した単語が文書のどこにあるのかが分かるDeep Links

検索結果で表示されているカード内の「Deep Links」をクリックすると、PDFや電子書籍の中から検索内容に一致、もしくは意味的に関連する箇所を探し、該当するページ・行・セクションと文章の一部を表示できます。



◆ローカルAIで文書を要約

検索結果で表示されているカードの文書のタイトルをクリックするとOllamaがdolphin3モデルを利用して概要を作成します。



◆個人情報を含む文書を検出

登録されたフォルダーが再スキャンされる際に、クレジットカード番号・銀行口座番号・生年月日・パスポート番号などを検出し、該当文書を検索対象から除外するかどうか選択できます。なお、個人情報の検出ではデータベースに保存された文書の概要部分がチェック対象となるため、文書内に含まれるすべての個人情報を検出できる仕組みではありません。



◆対応するファイル形式

PDF・DOCX・XLSX・PPTX・TXT・Markdown・HTML・EPUB・MOBI・AZW3・ODT・ODS・ODP・CSV・EML・RTF・Visio・draw.io・PlantUML・Mermaidなど

◆DocuBrowserの構築方法

今回はNVIDIAのGPUを搭載したWindows 11上でPythonとOllamaが利用できる環境で構築します。リポジトリのReleasesページにある「docubrowser-foss-1.3.0-1-windows.zip」をクリックしてダウンロードし保存。



ダウンロードしたファイルを右クリックし「すべて展開」を選択。



展開先のフォルダー内にある「Install.bat」をダブルクリック。



「続行するには何かキーを押してください」と表示されればインストール完了です。任意のキーを押すとインストール用プロンプトが閉じられます。



新たにコマンドプロンプトを開き、DocuBrowserを起動。


docubrowser start


起動時にエラーが発生する場合は、appフォルダー内の「docubrowser.py」の150行目を以下のように書き換えると動作します。


with open(cfg_path) as f:
#以下のように修正
with open(cfg_path, encoding="utf-8") as f:


起動が完了したらブラウザで「http://localhost:8643」にアクセスし、初期設定を行うため「Setting」アイコンをクリック。



「Document directories」の「Add」をクリックして読み込ませたいファイルのフォルダーを指定し「Save」をクリック。



コマンドプロンプトで再スキャンコマンドを実行し、データベースに情報を登録したら構築完了です。


docubrowser rescan


なお、DocuBrowserは現時点で日本語に正式対応しておらず、検索・タグ生成・要約などが英語向けに調整されているため、日本語の文書では期待通りの結果にならない場合があります。