thiswillbeyourgithub/wdoc

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

解決的問題

wdoc 是一個為處理大型異構文件集合而設計的檢索增強生成(RAG)系統。它解決了同時查詢與總結多種檔案類型(如 PDF、音訊記錄、影片講座與 Anki 閃卡)的問題,提供有出處的答案以避免幻覺,並產生能捕捉作者推理過程而非泛泛而談的詳細摘要。

工作原理

該系統採用多階段流程,確保高召回率與高精確度:

  1. 檢索:透過嵌入(embeddings)檢索文件,通常使用多查詢檢索器擴展使用者的搜尋範圍。
  2. 評估:一個「弱」的大語言模型(Eve the Evaluator)過濾掉初始檢索結果中無關的文件。
  3. 提取:一個「強」的大語言模型(Anna the Answerer)從剩餘文件中提取相關資訊。
  4. 聚合:一個「組合器」大語言模型(Carl the Combiner)將這些獨立答案合併為最終的 Markdown 回應。為優化此過程,系統使用 scipy 的階層式聚類,根據語意相似性對答案進行分組後再合併。

對於摘要,系統將文字拆分成區塊,並使用強大的大語言模型(Sam the Summarizer)生成具邏輯縮排的詳細摘要,同時保持區塊間的上下文。

適用對象

專為需要從大量異構文件中取得確定性、有出處答案的研究人員、學生與專業人士設計。

主要亮點

  • 廣泛支援檔案類型:支援 15+ 種檔案類型,包括 Anki 集合、YouTube 影片、音訊檔案(含靜音去除)、PDF(使用 15 種不同載入器以達最佳解析)與網頁。
  • 靈活的 LLM 集成:透過 LiteLLM 兼容 100+ 個 LLM 與多種嵌入引擎,支援本地模型以保障隱私。
  • 有出處的答案:每個答案都連結至唯一的文件雜湊,使用者可驗證其主張。
  • 詳細摘要:聚焦於壓縮作者的思維過程與推理,而非提供高階概括。
  • 多種部署方式:提供 CLI 工具、Python 套件或透過 Docker 部署的 Gradio Web 界面。
  • 網路搜尋:初步支援透過 DuckDuckGo 查詢網路內容。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案