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(Retrieval‑Augmented Generation) 시스템으로, 대규모 이질적인 문서 컬렉션을 처리하도록 설계되었습니다. 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 형식 응답으로 집계합니다. 일관성을 높이기 위해 답변은 semantic clustering(Scipy의 계층적 클러스터링)으로 그룹화된 후 결합됩니다.

요약의 경우, 시스템은 텍스트를 청크로 나누어 강력한 LLM을 사용해 상세하고 논리적으로 들여쓰기된 요약을 생성하며, 이전 청크의 컨텍스트를 유지합니다.

Who it’s for

광범위하고 다양한 정보 소스에서 확정적이고 출처가 명시된 답변을 추출해야 하는 연구자, 학생, 전문가를 위해 설계되었습니다.

Highlights

  • Broad File Support: PDF, EPUB, Word, PowerPoint, YouTube 동영상, 오디오 파일, Anki 컬렉션 등 15가지 이상의 파일 유형을 지원합니다.
  • Extensible Architecture: CLI 도구와 Python 라이브러리 모두로 동작하며, Gradio 기반 Docker 웹 UI와 Open‑WebUI 도구 통합을 제공합니다.
  • Privacy-Focused: "프라이빗 모드"를 포함하여 외부 연결을 차단하고 API 키 사용을 피함으로써 데이터가 로컬에 유지되도록 합니다.
  • Advanced PDF Parsing: 15개의 서로 다른 로더와 스코어링 시스템을 활용해 각 PDF에 가장 적합한 파서를 선택하며, 표 지원도 포함합니다.
  • Web Search Integration: DuckDuckGo를 통한 웹 검색 초기 지원을 제공합니다.
  • Sourced Answers: 모든 답변은 검증을 위해 문서 해시와 연결됩니다.