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 Web UI 以及 Open‑WebUI 工具集成。
  • Privacy-Focused:内置「私密模式」可屏蔽外部连接并避免使用 API 密钥,确保数据留在本地。
  • Advanced PDF Parsing:使用 15 种不同的 loader 与评分机制,为每个 PDF 选择最佳解析器,并支持表格。
  • Web Search Integration:提供初步的 DuckDuckGo 网络查询支持。
  • Sourced Answers:每个答案都会回链至文档哈希,以供验证。