안녕하세요 여러분! 저는 명령줄 기반의 시맨틱 (semantic) 사진 검색 도구인 rclip을 개발하고 있습니다. rclip "검색 쿼리"를 입력하면 터미널에 일치하는 이미지 목록이 출력(및 미리보기)됩니다. 이 도구는 무료이며 오픈 소스이고, 완전히 오프라인으로 사용자의 기기에서 실행되며, 저사양 하드웨어에서도 사용할 수 있습니다. 저는 2021년에 클라우드로 아무것도 전송하지 않고 SSH를 통해 NAS에 있는 수만 장의 사진을 검색하기 위해 이 도구를 만들었습니다. 제 사진 라이브러리가 어떻게 구조화되어 있는지에 대해 아무런 가정을 하지 않고 단순히 검색만 수행하는 CLI 사진 검색 도구가 존재하지 않았기 때문에 만들게 되었습니다. 저는 텍스트를 검색할 때 rgrep을 사용하는 데 익숙하며, 이미지 검색에서도 동일한 UX를 원했습니다. 이 도구는 jpg, png, webp, heic, tiff, gif 등을 지원하며, 실험적인 플래그(flag)를 통해 RAW(arw, cr2, dng) 파일도 지원합니다. 어떤 로컬 이미지 폴더든 검색할 수 있습니다. 텍스트 설명("모퉁이에서 고개를 내밀고 있는 새끼 고양이")으로 검색하거나, 예시 이미지로 검색하거나, 하나의 쿼리에 두 가지를 혼합하여 검색할 수 있습니다. 별도의 사진 서버, 웹 UI, 백그라운드 데몬(daemon) 없이 오직 CLI만 존재합니다. 예약된 인덱스(index) 생성 작업은 없습니다. 대신 rclip은 폴더에서 처음 실행할 때 인덱스를 구축하며, 이후 실행될 때마다 검색 전에 새로운 사진을 자동으로 추가하고 삭제된 사진을 제외합니다. 최근에 rclip 3를 출시했는데, 텍스트 검색은 최대 4배, 이미지 검색은 최대 6배까지 빨라졌습니다. 제 M1 Max 환경에서는 약 0.5초 만에 결과를 반환합니다. 또한 더 강력한 모델로 이동하여 정확도가 향상되었습니다. rclip 3의 텍스트 검색은 이제 4.28배 더 빠릅니다. AI 관련: rclip은 임베딩 (embedding) 기반 유사도 검색을 위해 로컬 CLIP 모델을 사용합니다. 코드는 대부분 2021년부터 직접 작성하고 유지 관리해 왔으며, 최근에는 PR 리뷰와 아이디어를 더 빠르게 테스트하기 위해(예: 다양한 CLIP 모델 및 양자화 (quantization) 벤치마킹) AI 보조 코딩을 사용했습니다. 더 자세히 알아보고 직접 사용해 보려면 프로젝트의 GitHub를 확인하세요: https://github.com/yurijmikhalevich/rclip