소개
Soma는 AwesomeDog이 만든 로컬 지식 베이스 검색 엔진으로, 사용자의 워크스페이스에 있는 자료를 AI가 이해한 형태로 인덱싱하여 자연어 또는 정확 키워드로 검색할 수 있게 해줍니다. README와 공식 사이트에 따르면 마크다운, PDF, 이미지, 오디오, 비디오 등 다양한 파일을 로컬에서 처리하며, CLI와 내장 웹 UI, JSON HTTP 엔드포인트로 접근할 수 있습니다. MIT 라이선스로 배포되며 첫 동기화 시 관리되는 모델과 런타임이 로컬로 다운로드되고, 인덱스와 처리된 콘텐츠는 사용자 컴퓨터에 그대로 남습니다.
상세정보
하이브리드 키워드와 의미론적 검색
한 질의에서 어휘 매칭과 벡터 검색, 쿼리 확장, 리랭킹을 결합해 정확한 문구를 잊었을 때도 결과를 얻도록 설계되었습니다. 자연어 질문에는 의미론적 검색을, 키워드와 구절, 제외어까지 다루려면 어휘 검색을 함께 활용할 수 있습니다.
로컬 우선 처리
인덱싱, OCR, 임베딩, 리랭킹은 관리형 런타임을 통해 로컬에서 실행됩니다. 호스팅되는 문서 인덱스 서비스에 자료를 업로드하지 않으며, 검색 인덱스와 처리된 콘텐츠는 사용자 컴퓨터에 유지됩니다. 준비된 아티팩트가 있으면 오프라인 가져오기도 지원합니다.
텍스트, 이미지, 오디오, 비디오 통합 검색
마크다운, PDF, 일반 텍스트뿐 아니라 스캔 페이지와 녹화, 비디오 파일에서 추출한 내용까지 한 인덱스에서 함께 검색할 수 있습니다. README는 OCR, 비전 추출, 전사 등 멀티미디어 기능을 활용하기 위해 24 GB RAM을 권장합니다.
크로스 플랫폼 네이티브 실행 파일
Windows x64, macOS ARM64, Linux x64용 네이티브 실행 파일이 제공되며, GraalVM으로 빌드됩니다. 별도의 앱 스택 없이 빠르게 시작할 수 있습니다.
유니코드 및 CKC 인식 토큰화
짧은 중국어, 일본어 등 CJK 질의와 라틴 텍스트, 코드 식별자가 같은 인덱스에서 검색되도록 유니코드 인식 토큰화가 사용됩니다.
CLI, 로컬 웹 UI, JSON HTTP API
터미널에서 직접 사용하거나 내장 웹 인터페이스(http://localhost:8181)로 접근하거나, CLI와 동일한 검색 엔진을 JSON HTTP 엔드포인트로 자동화할 수 있습니다.
Windows x64
winget을 사용해 설치한 뒤 PowerShell이나 터미널에서 soma를 실행합니다.
- winget install AwesomeDog.soma
macOS ARM64
Homebrew 탭을 추가하고 설치합니다.
- brew tap AwesomeDog/tap && brew trust AwesomeDog/tap && brew install AwesomeDog/tap/soma
Linux x64
GitHub Releases에서 단일 실행 파일을 내려받아 등록합니다.
- curl -fsSL https://github.com/AwesomeDog/soma/releases/latest/download/soma-linux-x64 -o soma
- chmod +x soma && sudo mv soma /usr/local/bin/
모든 플랫폼에서 Releases 페이지에서 단일 실행 파일을 직접 내려받아 사용할 수도 있습니다.
Q. Soma는 내 파일을 업로드하나요?
호스팅되는 검색 인덱스 서비스로 문서를 보내지 않도록 설계되어 있습니다. 검색 인덱스와 처리된 콘텐츠는 사용자 컴퓨터에 남고, 첫 설정에서 관리되는 모델과 런타임이 내려받아집니다.
Q. 어떤 자료를 검색할 수 있나요?
마크다운, PDF, 일반 텍스트와 함께 스캔 페이지, 스크린샷, 오디오, 비디오 등 관련 추출 단계가 갖춰진 경우 리치 미디어까지 함께 검색할 수 있습니다.
Q. 정확한 단어로도 검색할 수 있나요?
하이브리드 검색이 자연어 질의와 어휘 검색을 함께 지원합니다. 어휘 검색에서는 키워드, 구절, 제외어를 사용할 수 있습니다.
Q. CLI 도구만 있나요?
CLI뿐 아니라 로컬 브라우저 인터페이스, JSON HTTP 엔드포인트로도 동일한 검색 엔진을 사용할 수 있습니다.
시스템 요구사항
시스템 요구 사항(RAM 8 GB 이상, 멀티미디어 기능 사용 시 24 GB 권장, GPU 선택)과 winget 등 운영체제별 설치 채널을 안내합니다. 첫 동기화 시 모델과 런타임 다운로드가 필요하며 인터넷 접근이 요구됩니다.


