Oqura-ai/deepdoc

Deep research tool for local knowledge base.

deepdoc – 로컬에서 작동하는 심층 리서치 보고서 생성기

기능 설명

  • 로컬 문서 폴더(PDF, DOCX, PPTX, 이미지, TXT, Markdown)를 입력으로 받아 Qdrant로 검색 가능한 벡터 인덱스를 생성합니다.
  • 보고서 주제와 개요를 지정할 수 있습니다. 플래너 LLM이 섹션 구조를 생성하며, 편집이 가능합니다.
  • 각 섹션마다 리서치 에이전트 가 다음 단계를 수행합니다:
    1. 집중적인 쿼리를 생성합니다.
    2. Qdrant에서 후보 청크를 검색합니다.
    3. TypeSafe의 Jev 모델을 사용해 관련성, 증거 품질, 모순, 프롬프트 인젝션 가능성을 점수 매깁니다.
    4. 청크를 필터링/재순위하고, 각 하위 섹션에 충분한 증거가 있는지 확인합니다. 부족할 경우 설정 가능한 반사 제한까지 새로운 쿼리를 발행합니다.
    5. 검증된 증거를 글쓰기용 LLM에 전달하여 해당 섹션의 최종 Markdown을 생성합니다.
  • 모든 섹션은 하나의 Markdown 보고서로 통합되어 output_folder에 저장됩니다.

주요 구성 요소

  • Qdrant – 빠른 유사성 검색을 위한 로컬 벡터 데이터베이스.
  • Jev (TypeSafe) – 타입화된 확률을 반환하는 분류기. 고품질 증거만 작가에게 전달되도록 게이트키퍼 역할을 합니다.
  • LLM – 기본은 OpenAI gpt-4o-mini이지만, 설정을 통해 교체 가능(예: Mistral, Anthropic).
  • Python 3.10+ – 파이프라인을 조율하며, 설정은 configuration.py에 저장됩니다.
  • uv – 가벼운 가상환경 및 종속성 관리 도구.

왜 중요한가

  • 모든 데이터를 로컬에 보관하므로 기밀 문서가 자신의 기계를 벗어나지 않습니다.
  • 원시 벡터 검색 결과에 Jev를 통한 검증 레이어를 추가하여 환각을 줄이고 인용 품질을 향상시킵니다.
  • 완전히 구성 가능: 검색 크기, 동시성, Jev 임계값, 재시도 제한 등을 하드웨어 또는 API 할당량에 맞게 조정할 수 있습니다.

일반적인 워크플로우

  1. uv 설치, 리포지토리 클론, 가상 환경 생성 및 활성화.
  2. .env.example → .env로 복사하고 OpenAI 및 TypeSafe API 키를 추가합니다.
  3. Docker로 Qdrant 실행 (docker-compose up --build).
  4. python main.py 실행, CLI 프롬프트(주제, 개요, 문서 폴더)에 응답합니다.
  5. 생성된 개요를 검토하고 승인 또는 편집한 후, 에이전트가 리서치 및 작성하도록 합니다.
  6. output_folder에서 완성된 Markdown 보고서를 가져옵니다.

누구에게 적합한가

  • 기밀 문서 컬렉션에 대한 빠르고 구조화된 요약이 필요한 연구자 또는 분석가.
  • 인용을 고려한 생성이 필요한 내부 지식 기반을 구축하는 팀.
  • 리트리ieval-증강 생성(RAG) 파이프라인을 실험 중이며, 추가적인 증거 필터링 단계가 필요한 사람.

라이선스

  • MIT 라이선스 (see LICENSE).

기여 방법

  • 이슈 및 풀 리퀘스트를 환영합니다. 리포지토리 내 CONTRIBUTING 가이드라인을 참조하세요.

관련

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