Chroma DB + 임베딩 모델 → Retrieval 품질을 거의 결정.
📋 기준 정리
조건 | 설명 |
---|
언어 | ✅ 한글 |
데이터 성격 | 법령, 규칙, 시행령 (긴 문장, 명확한 법적 표현) |
Retrieval 목적 | 관련 법령, 기출 문서 정확히 찾아야 함 |
최적화 포인트 | 의미 기반(semantic) 검색 최적화 |
모델 크기 | Hugging Face Spaces에 쓸 거면 소형 모델 선호 |
모델 | 특징 | 추천도 |
---|
upskyy/bge-m3-korean (지금 사용) | 작고 빠르다 (약 120M 파라미터) | ⭐⭐ (빠른 작업엔 적합) |
jhgan/ko-sbert-sts | 전통적 Ko-SBERT, 꽤 정밀함 | ⭐⭐⭐ (법률 문장 검색용으로 안정적) |
BM-K/KoSimCSE-roberta | 한글문장에 최적화된 SimCSE | ⭐⭐⭐⭐ (짧은 문장, Q&A 매우 강함) |
BM-K/KoSimCSE-v2-multitask | 다양한 문장 유형 대응 (법령에도 적합) | ⭐⭐⭐⭐⭐ (강력 추천) |
snunlp/KR-SBERT-V40K-klueNLI-augSTS | 대규모 학습, 안정적인 고성능 | ⭐⭐⭐⭐ (성능 최우선일 때) |
beomi/KcELECTRA-small-v2022 | 극소형, ultra-light | ⭐ (Retrieval 성능은 약함) |
- 법령 + 기출문제처럼 긴 문서 → KoSimCSE 기반 모델이 훨씬 낫다.
- 특히 multitask 버전은 질문 + 법령 + 해설처럼 다양한 종류 대응 가능.
✅ 그래서 추천:
BM-K/KoSimCSE-v2-multitask
- ✔️ 짧은 질의 → 긴 법령 문서 매칭 잘함
- ✔️ 한글 semantic 검색 특화
- ✔️ 법률 Q&A, 문제/해설 기반 RAG에 최적
항목 | 추천 모델 |
---|
빠른 개발 | upskyy/bge-m3-korean (지금 사용) |
정확한 문제 출제용 | BM-K/KoSimCSE-v2-multitask ✅ (강추) |
EMBEDDING_MODEL_NAME = "BM-K/KoSimCSE-v2-multitask"
embedding_fn = embedding_functions.SentenceTransformerEmbeddingFunction(
model_name=EMBEDDING_MODEL_NAME
)
고려사항 | 내용 |
---|
크기 | 약 110M ~ 200M → HF Spaces CPU에서도 가능 |
속도 | 약간 느려지지만 (10~20%) 품질 대폭 향상 |
한글 최적화 | 100% OK (KoSimCSE가 한국어 의미기반 모델) |
"일단 기존 upskyy/bge-m3-korean으로 베이스라인 돌려보고 비교"