이 프로젝트는 ❄️Snowflake/snowflake-arctic-embed-s❄️ 모델을 활용해
사용자의 질의와 가장 유사한 문서 청크를 로컬에서 검색하는 안드로이드 앱입니다.
벡터 임베딩부터 질의 검색까지 모든 과정을 온디바이스에서 처리합니다.
- ✅ JSONL 포맷의 문서 내 문장들을 청크화 및 벡터화
- ✅ ONNX 모델 기반 문장 임베딩 수행
- ✅ 코사인 유사도를 기반으로 질의와 가장 유사한 청크 Top-N 반환
- ✅ 모든 처리는 로컬 디바이스에서 비동기 처리
영역 | 사용 기술 |
---|---|
UI | Jetpack Compose |
모델 임베딩 | snowflake-arctic-embed-s |
모델 포맷 | ONNX |
임베딩 라이브러리 | shubham0204/Sentence-Embeddings-Android |
데이터 직렬화 | Protobuf |
상태관리 | ViewModel + StateFlow |
비동기 처리 | Kotlin Coroutine |
또는 Android Studio에서 직접 빌드해 테스트할 수 있습니다.
git clone https://github.com/gaeulzzang/Sentence_Similarity_Model.git
최소 SDK: 24 (Nougat) 권장 SDK: 33 이상
assets/model.onnx, assets/tokenizer.json 파일이 있어 별도 설정이 필요 없습니다.