Repolode
tobi

tobi/qmd

BM25, 벡터 검색, LLM 리랭킹을 결합해 Markdown 노트, 회의록, 문서를 로컬 기기에서 검색하는 CLI 검색 엔진입니다.

스타
30,493
포크
1,916
열린 이슈
231
마지막 커밋
5일 전

어떤 프로젝트인가요?

QMD(Query Markup Documents)는 Markdown 노트, 회의록, 문서, 지식 베이스 등 개인 및 팀 지식을 위한 온디바이스 검색 엔진입니다. 소스를 이름이 지정된 컬렉션으로 구성한 뒤 명령줄, TypeScript SDK 또는 MCP 서버를 통해 키워드나 자연어로 검색할 수 있습니다.

QMD는 BM25 전문 검색, 벡터 의미 검색, LLM 재순위를 결합합니다. 쿼리를 유형별 하위 쿼리(lexical, vector, HyDE)로 확장하고 Reciprocal Rank Fusion으로 결과를 통합한 다음, 상위 후보의 순위를 로컬 모델로 다시 매깁니다. 모든 모델은 처음 사용할 때 다운로드되는 GGUF 파일을 이용해 node-llama-cpp로 로컬에서 실행됩니다.

QMD는 JSON, CSV, Markdown, 파일 목록 형식의 출력과 HTTP 엔드포인트, frontmatter 기반 메타데이터 필터링을 제공합니다. 사용자는 컬렉션과 경로에 설명 컨텍스트를 추가할 수 있으며, 이 컨텍스트는 일치하는 결과와 함께 반환되어 에이전트가 적절한 문서를 선택하는 데 도움을 줍니다. Node.js 22 이상 또는 Bun이 필요합니다.

핵심 기능

  • 01BM25 키워드 매칭, 벡터 유사도, LLM 재순위를 결합한 하이브리드 검색
  • 02node-llama-cpp를 통해 GGUF 모델을 사용해 완전히 로컬에서 실행
  • 03이름이 지정된 컬렉션을 지원하며, 경로별 컨텍스트를 결과와 함께 반환
  • 04연동을 위한 MCP 서버, HTTP 엔드포인트, TypeScript SDK
  • 05에이전트 워크플로에 적합한 JSON 및 파일 목록 출력
  • 06유형이 지정된 YAML frontmatter를 사용한 메타데이터 필터링 및 코드 파일의 선택적 AST 인식 청킹

활용 사례

  • 정확히 일치하는 단어가 아니라 의미를 기준으로 개인 Obsidian 스타일 노트 폴더 검색
  • 팀 공유 폴더에서 지난 회의록과 의사결정 내용 검색
  • 프로젝트 문서에 대한 로컬 검색 도구를 AI 에이전트에 제공
  • 의미 검색을 위해 코드베이스의 문서와 소스 파일 인덱싱

빠른 시작

  1. 1

    npm으로 전역 설치하기

    npm install -g @tobilu/qmd
  2. 2

    노트 컬렉션 추가하기

    qmd collection add ~/notes --name notes
  3. 3

    시맨틱 검색을 위한 임베딩 생성하기

    qmd embed
  4. 4

    리랭킹을 적용해 하이브리드 검색 실행하기

    qmd query "quarterly planning process"

사용 전 알아둘 점

  • 시맨틱 검색과 리랭킹은 node-llama-cpp를 통해 로컬 GGUF 모델을 사용하므로 디스크 공간과 메모리가 필요합니다.
  • 검색에서 최상의 결과를 얻으려면 컬렉션과 컨텍스트를 추가하고 임베딩을 생성해야 합니다.

토픽

자주 묻는 질문

qmd은(는) 무엇인가요?
BM25, 벡터 검색, LLM 리랭킹을 결합해 Markdown 노트, 회의록, 문서를 로컬 기기에서 검색하는 CLI 검색 엔진입니다. QMD(Query Markup Documents)는 Markdown 노트, 회의록, 문서, 지식 베이스 등 개인 및 팀 지식을 위한 온디바이스 검색 엔진입니다. 소스를 이름이 지정된 컬렉션으로 구성한 뒤 명령줄, TypeScript SDK 또는 MCP 서버를 통해 키워드나 자연어로 검색할 수 있습니다.
qmd은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
qmd은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
qmd은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. qmd의 마지막 커밋은 2026년 10월 15일입니다.
qmd은(는) 어디에 사용할 수 있나요?
정확히 일치하는 단어가 아니라 의미를 기준으로 개인 Obsidian 스타일 노트 폴더 검색 팀 공유 폴더에서 지난 회의록과 의사결정 내용 검색 프로젝트 문서에 대한 로컬 검색 도구를 AI 에이전트에 제공 의미 검색을 위해 코드베이스의 문서와 소스 파일 인덱싱
qmd는 어떻게 설치하나요?
npm으로 전역 설치하기: npm install -g @tobilu/qmd 노트 컬렉션 추가하기: qmd collection add ~/notes --name notes 시맨틱 검색을 위한 임베딩 생성하기: qmd embed 리랭킹을 적용해 하이브리드 검색 실행하기: qmd query "quarterly planning process"
qmd은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/tobi/qmd

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트