피드로 돌아가기
Dev.toAI/ML
원문 읽기
LLM 기반 Structured Filter 도입으로 RAG 검색 정밀도 최적화
Self Querying Retrieval
AI 요약
Context
기존 Standard RAG의 단순 Vector Search는 날짜, 가격 등 정량적 메타데이터를 단순 텍스트로 처리하여 검색 정확도가 떨어지는 한계 존재. 쿼리의 시맨틱 의미와 구조적 필터 조건을 구분하지 못해 발생하는 검색 노이즈 제거가 필수적인 상황.
Technical Solution
- LLM을 Natural Language-to-Filter 번역기로 활용하여 쿼리에서 Semantic Query와 Structured Filter를 분리하는 아키텍처 설계
- Pydantic 모델 기반의 Automated Metadata Enrichment 파이프라인을 구축하여 데이터 Ingestion 단계에서 정형 데이터 자동 추출 및 저장
- AttributeInfo 스키마를 LLM에 제공하여 Vector DB의 메타데이터 필드와 데이터 타입을 매핑하는 System Prompt 최적화
- 'Query → LLM(필터 생성) → Metadata Filtering(데이터 프루닝) → Vector Search'로 이어지는 3단계 Retrieval 프로세스 구현
- Chroma DB와 같은 메타데이터 필터링 지원 Vector Store를 통해 검색 대상 모수를 사전적으로 제한하여 검색 정밀도 향상
Key Takeaway
단순 벡터 유사도 검색의 한계를 극복하기 위해 정형 데이터 필터링을 결합한 Hybrid Retrieval 구조를 채택함으로써 검색의 결정성(Determinism)과 유연성을 동시에 확보함.
실천 포인트
- 메타데이터 스키마 변경 시 AttributeInfo 리스트의 수동 업데이트 필요성 검토 - 필터 생성 LLM의 Latency 감소를 위해 경량화 모델 적용 및 Few-Shot Prompting 도입 고려 - Ingestion 단계에서 Pydantic을 활용한 메타데이터 Validation 로직 구현 여부 확인 - 완전 삭제 방식의 Hard Filter 대신 가중치를 부여하는 Soft Filter 적용 가능성 분석