thiswillbeyourgithub/wdoc

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

wdoc – 이기종 문서를 위한 검색 증강 생성

기능 소개 – wdoc는 혼합 문서 유형(PDF, EPUB, Word, PowerPoint, 오디오/비디오, YouTube, Anki 플래시카드, 웹 페이지 등)을 수집, 인덱싱, 쿼리할 수 있는 Python 기반 RAG 시스템입니다. 청크에 대한 임베딩을 구축하고, 2단계 LLM 파이프라인(저렴한 "평가자"가 검색된 청크를 필터링한 다음 강력한 LLM이 출처가 포함된 답변을 생성)을 사용하며, 최종적으로 중간 답변을 단일 markdown 응답으로 병합합니다. 또한 소스 자료의 상세하고 들여쓰기된 markdown 개요를 생성하는 고품질 요약 모드를 제공합니다.

주요 구성 요소

  • LangChain + LiteLLM – 핵심 검색, 청킹 및 LLM 호출 로직.
  • 벡터 저장소 – 빠른 유사성 검색을 위해 임베딩을 저장; 더 높은 압축을 위한 바이너리 임베딩 저장소 지원.
  • 2단계 LLM 워크플로우 – Eve(저렴한 모델)가 검색된 청크를 필터링하고, Anna(강력한 모델)가 정보를 추출하며, Carl이 결과를 병합; 선택적 Raphael이 쿼리를 바꾸고 Sam이 요약.
  • Docker + Gradio UI – CLI보다 GUI를 선호하는 사용자를 위한 선택적 웹 인터페이스.
  • 광범위한 파일 유형 로더 – 15개 이상의 내장 로더(PDF, 오디오, 비디오, YouTube, Anki, logseq markdown 등)와 재귀 로더(DuckDuckGo 웹 검색, JSON 항목, 링크 파일).
  • 공급자 독립적 LLM 지원 – LiteLLM을 통해 노출되는 모든 모델과 작동(OpenAI, Anthropic, Mistral, Ollama, OpenRouter, 로컬 Ollama 서버 등). 프라이빗 모드는 완전히 오프라인으로 실행 가능.
  • 캐싱 및 추적 – LLM/임베딩 호출이 캐시됨; 관찰 가능성을 위한 선택적 Langfuse 통합.

일반적인 워크플로우

  1. 로드 – wdoc --path <source> --filetype <type>가 소스를 다운로드/파싱하고 청크로 분할.
  2. 임베드 – 선택한 임베딩 모델을 사용하여 각 청크를 임베드.
  3. 검색 – 다중 쿼리 검색기가 상위 k개의 가장 유사한 청크를 가져옴.
  4. 필터링 – 저렴한 LLM이 검색된 각 청크의 관련성을 판단.
  5. 답변 – 강력한 LLM이 관련 청크에서 정보를 추출하여 청크당 하나의 답변을 생성.
  6. 결합 – 답변이 의미적으로 클러스터링되고 계층적으로 단일 출처 포함 markdown 답변으로 병합.
  7. (선택) 요약 – 동일한 파이프라인을 요약 모드로 실행하여 전체 문서의 상세 개요를 생성 가능.

사용 방법

  • CLI – uvx wdoc[full] --path <url_or_file> --task query --query "…"(또는 summarize). 추가 기능([full])은 모든 선택적 로더를 설치.
  • Docker UI – 제공된 Docker compose를 실행; Gradio 프런트엔드에서 파일을 업로드하고 작업을 설정하고 markdown 결과를 볼 수 있음.
  • Python 라이브러리 – wdoc를 가져와 고수준 API를 호출; 저장소에는 전체 참조 표와 예제 스니펫이 포함된 wdoc‑skill 폴더가 함께 제공.

중요한 이유

  • 이기종 코퍼스를 단일 인덱스에서 처리. 이는 대부분의 기성 RAG 도구가 어려워하는 부분.
  • 2단계 LLM 접근 방식은 높은 재현율을 유지하면서 비용을 낮게 유지.
  • 출처가 포함된 답변을 제공하여 정보를 더 쉽게 검증 가능.
  • 플러그인, 사용자 정의 로더 및 Open‑WebUI 도구 통합을 통해 확장 가능.

현재 상태 – 사용 가능하고 테스트됨, 더 많은 기능, 더 나은 UI, 더 깊은 프라이빗 모드 보장을 위한 로드맵과 함께 활발히 개발 중.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트