thiswillbeyourgithub/wdoc
Summarize and query from a lot of heterogeneous documents. Any LLM provider, any filetype, advanced RAG, advanced summaries, scriptable, etc
wdoc – 異種文書のための検索拡張生成
機能概要 – wdoc は、混合した文書タイプ(PDF、EPUB、Word、PowerPoint、音声/動画、YouTube、Anki フラッシュカード、Web ページなど)を取り込み、インデックス化し、クエリできる Python ベースの RAG システムです。チャンクの埋め込みを構築し、2 段階の LLM パイプライン(安価な「評価者」が取得したチャンクをフィルタリングし、強力な LLM が出典付き回答を生成)を使用し、最終的に中間回答を単一の markdown 応答にマージします。また、ソース資料の詳細でインデントされた markdown アウトラインを生成する高品質な要約モードも提供します。
主要コンポーネント
- LangChain + LiteLLM – コアの検索、チャンク化、LLM 呼び出しロジック。
- ベクトルストア – 高速な類似性検索のために埋め込みを保存;より高い圧縮のためにバイナリ埋め込みストアをサポート。
- 2 段階 LLM ワークフロー – Eve(安価なモデル)が取得したチャンクをフィルタリングし、Anna(強力なモデル)が情報を抽出し、Carl が結果をマージ;オプションの Raphael がクエリを言い換え、Sam が要約。
- Docker + Gradio UI – CLI よりも GUI を好むユーザー向けのオプションの Web インターフェース。
- 豊富なファイルタイプローダー – 15 以上の組み込みローダー(PDF、音声、動画、YouTube、Anki、logseq markdown など)に加え、再帰ローダー(DuckDuckGo Web 検索、JSON エントリ、リンクファイル)。
- プロバイダー非依存の LLM サポート – LiteLLM を介して公開される任意のモデルと連携(OpenAI、Anthropic、Mistral、Ollama、OpenRouter、ローカル Ollama サーバーなど)。プライベートモードは完全にオフラインで実行可能。
- キャッシュとトレーシング – LLM/埋め込み呼び出しはキャッシュされ;オプションの Langfuse 統合による可観測性。
典型的なワークフロー
- ロード –
wdoc --path <source> --filetype <type>がソースをダウンロード/解析し、チャンクに分割。 - 埋め込み – 選択した埋め込みモデルを使用して各チャンクを埋め込み。
- 検索 – マルチクエリ検索器が上位 k の最も類似したチャンクを取得。
- フィルタリング – 安価な LLM が取得した各チャンクの関連性を判断。
- 回答 – 強力な LLM が関連チャンクから情報を抽出し、チャンクごとに 1 つの回答を生成。
- 結合 – 回答は意味的にクラスタリングされ、階層的に単一の出典付き markdown 回答にマージ。
- (オプション)要約 – 同じパイプラインを要約モードで実行し、文書全体の詳細なアウトラインを生成可能。
使用方法
- CLI –
uvx wdoc[full] --path <url_or_file> --task query --query "…"(またはsummarize)。エクストラ([full])はすべてのオプションローダーをインストール。 - Docker UI – 提供された Docker compose を実行;Gradio フロントエンドでファイルをアップロードし、タスクを設定し、markdown 結果を表示可能。
- Python ライブラリ –
wdocをインポートし、その高レベル API を呼び出し;リポジトリには完全な参照表とサンプルスニペットを含むwdoc‑skillフォルダーが同梱。
なぜ重要か
- 異種コーパスを単一のインデックスで処理。これはほとんどの既製 RAG ツールが苦手とする。
- 2 段階 LLM アプローチは高い再現率を維持しながらコストを低く抑える。
- 出典付き回答を提供し、情報の検証を容易にする。
- プラグイン、カスタムローダー、Open‑WebUI ツール統合により拡張可能。
現在の状況 – 使用可能でテスト済み、活発に開発中。より多くの機能、より良い UI、より深いプライベートモード保証のためのロードマップあり。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト