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 查询网络内容。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目