linuxrebel/DocuBrowser
A local AI powered Document search engine. That turns that pile of documents on your system into a manageable searchable info store.
DocuBrowse – 로컬 AI 기반 문서 검색
무엇인가요
- PDF, Word, 전자책, 코드 등 다양한 파일 형식을 인덱싱하고, 로컬에서 실행되는 AI 모델(Ollama)을 사용해 키워드와 의미적 의미로 검색할 수 있는 데스크톱/웹 앱입니다.
- 모든 처리는 귀하의 기기에서 이루어지며, 클라우드 서비스, API 키, 또는 쿼리당 비용이 필요하지 않습니다.
주요 기능
- 이중 검색 모드 – 빠른 SQLite FTS5 키워드 검색, AI 생성 임베딩을 통한 의미 검색, 두 가지를 결합한 하이브리드 모드.
- 딥 링크 – 검색 결과를 찾은 후, 재인덱싱 없이 문서 내 정확한 위치(페이지/라인/섹션)로 바로 이동 가능.
- AI 요약 – 필요 시 AI가 작성한 문서 요약(첫 생성 후 캐시됨).
- 광범위한 형식 지원 – PDF, DOCX, PPTX, XLSX, ODT/ODS/ODP, Visio, draw.io, PlantUML, Mermaid, HTML/Markdown, 전자책(EPUB, MOBI, AZW3), DjVu, 이메일, RTF, CSV/TSV, 설정 파일, 그리고 많은 마크업 언어.
- PII 보호 – 새로 인덱싱된 파일에서 일반적인 개인정보 패턴을 스캔하고 일치하는 문서를 제거.
- 크로스 플랫폼 – Linux(RPM/DEB/tar), Windows(zip), macOS(dmg)용 패키지 제공. Docker 실험 브랜치도 존재하지만, 프로덕션 환경에서는 추천하지 않음.
작동 방식
- 인덱싱 –
pdfplumber,python-docx,openpyxl,ebooklib등 라이브러리를 사용해 지원되는 파일에서 텍스트와 메타데이터를 추출하고, 전체 텍스트 검색 테이블이 포함된 SQLite 데이터베이스에 저장. - 임베딩 – Ollama를 통해
nomic-embed-text:latest모델을 실행하여 각 문서에 대한 벡터 임베딩 생성. - 검색 – 키워드 쿼리는 FTS5 인덱스에 검색; 의미 검색 쿼리는 쿼리의 임베딩을 계산하고 저장된 벡터와 코사인 유사도로 검색. 하이브리드 모드는 두 점수를 병합.
- 결과 UI – 관련성 점수, 딥 링크 버튼, "AI 요약" 버튼을 표시. 결과를 클릭하면 시스템 기본 뷰어에서 파일이 열림.
일반적인 워크플로우
# 설치 (Ubuntu 예시)
sudo apt install python3-pip calibre libvisio-tools djvulibre
pip install -r requirements.txt # pdfplumber, python-docx 등 포함
# 서버 시작 (기본 포트 8000)
python -m docubrowse
# 브라우저에서 http://localhost:8000 열고 디렉터리 추가 후 검색 시작.
제한 사항 및 알려진 문제
- 최소 8GB RAM 필요. GPU 가속은 선택 사항이지만 요약 생성 속도를 향상시킴.
- 32비트 CPU는 지원되지 않음 (Ollama가 32비트 빌드를 제공하지 않음).
- 일부 레거시 형식(예: 오래된 Visio
.vsd또는 이미지만 포함된 PDF/DjVu)은 선택적 외부 도구 설치 시 제외하고는 메타데이터만 인덱싱됨. - 실험용 Docker 빌드는 컨테이너의 사전 브라우저에서 파일을 열 수 없음.
로드맵 주요 사항
- 데스크톱 통합을 포함한 완전한 Docker 지원.
- 더 빠른 증분 인덱싱 및 백그라운드 재임베딩.
- 다국어 요약을 위한 추가 언어 모델.
라이선스
- 오픈소스. 자세한 내용은 리포지토리의 LICENSE 파일 참조.
DocuBrowse는 진정한 로컬 실행 AI 애플리케이션으로, 개인 문서 컬렉션에 의미 검색과 AI 생성 요약을 제공하며, AI/LLM 툴링 분야에 명확히 자리 잡고 있습니다.
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트