thiswillbeyourgithub/wdoc

Summarize and query from a lot of heterogeneous documents. Any LLM provider, any filetype, advanced RAG, advanced summaries, scriptable, etc

What it solves

wdoc 是一個 RAG(檢索增強生成)系統,旨在處理大型且異質的文件集合。它解決了在多種檔案類型(如 PDF、音訊、影片與 Anki 閃卡)中查詢與彙總龐大資訊的問題,同時確保答案有來源且根據實際內容,以防止幻覺。

How it works

系統使用多階段管線以確保高召回率與精確度:

  1. Retrieval:使用向量嵌入與多查詢檢索器取得文件。
  2. Evaluation:由「弱」LLM(Eve the Evaluator)過濾掉初始檢索中不相關的文件。
  3. Answering:由「強」LLM(Anna the Answerer)從每個剩餘文件中抽取相關資訊。
  4. Aggregation:最終 LLM(Carl the Combiner)將這些個別答案聚合成單一的 markdown 格式回應。為提升連貫性,答案會先以語意分群(透過 scipy 的階層式分群)再合併。

對於摘要,系統會將文字切成區塊,使用強 LLM 產生詳細且具邏輯縮排的摘要,同時保留前一區塊的上下文。

Who it’s for

此系統適合需要從廣泛且多樣的資訊來源中提取明確、可追溯答案的研究人員、學生與專業人士。

Highlights

  • Broad File Support:支援 15 種以上檔案類型,包括 PDF、EPUB、Word、PowerPoint、YouTube 影片、音訊檔與 Anki 集合。
  • Extensible Architecture:同時提供 CLI 工具與 Python 函式庫,並有基於 Gradio 的 Docker 網頁 UI 以及 Open‑WebUI 工具整合。
  • Privacy-Focused:內建「私密模式」可封鎖外部連線並避免使用 API 金鑰,確保資料留在本機。
  • Advanced PDF Parsing:使用 15 種不同的 loader 與評分機制,為每個 PDF 選擇最佳解析器,並支援表格。
  • Web Search Integration:提供初步的 DuckDuckGo 網路查詢支援。
  • Sourced Answers:每個答案皆會回鏈至文件雜湊,以供驗證。