1. 통합 텍스트 기반 RAG (Unified Text-Based RAG)
Ragdoll의 핵심 가치는 모든 형태의 미디어를 하나의 통합된 텍스트 인덱스로 관리한다는 점에 있습니다. 이는 다음과 같은 기술적 이점을 제공합니다.
- 교차 모달 검색 (Cross-Modal Search): 이미지의 시각적 설명, 오디오의 전사 데이터(Transcript), 문서의 핵심 내용을 모두 텍스트화하여 단일 시맨틱 검색 엔진에서 탐색할 수 있습니다.
- 스마트 변환 엔진: AI 기반의 이미지 설명 생성 및 고도화된 오디오 전사 기능을 통해 데이터의 품질을 보장하며, 텍스트 추출 시 품질 평가 과정을 거칩니다.
- 단일 임베딩 모델 활용: 모든 콘텐츠 타입에 대해 일관된 임베딩 모델을 사용하여 인덱싱 구조를 단순화하고 검색 정확도를 높였습니다.
2. 정교한 엔터프라이즈 아키텍처
Ragdoll은 단순한 실험적 도구가 아닌, 실제 프로덕션 환경을 위해 설계된 정교한 아키텍처를 보유하고 있습니다.
- 이중 메타데이터 설계 (Dual Metadata): LLM이 생성한 콘텐츠 분석 데이터와 시스템의 파일 속성을 분리하여 관리함으로써 데이터 관리의 유연성을 확보했습니다.
- 다형성 데이터베이스 스키마 (Polymorphic Schema): 다양한 콘텐츠 유형을 수용할 수 있는 유연한 스키마 구조를 통해 통합 검색 성능을 최적화했습니다.
- 백그라운드 처리 시스템: ActiveJob과의 완전한 통합을 통해 대용량 문서 처리 및 인덱싱 작업을 비동기적으로 수행, 시스템 응답성을 유지합니다.
- Shrine 기반 파일 핸들링: 검증된 업로드 시스템인 Shrine을 사용하여 파일 유효성 검사 및 안전한 업로드 프로세스를 보장합니다.
3. 검색 추적 및 분석 시스템 (Search Tracking)
v0.1.9 버전부터 도입된 검색 추적 시스템은 사용자 경험 개선을 위한 강력한 데이터를 제공합니다.
- 자동 검색 기록: 모든 쿼리의 임베딩, 실행 시간, 결과 메트릭이 자동으로 기록됩니다.
- 유사 검색 분석: 벡터 유사도를 활용하여 과거의 유사한 검색 패턴을 분석하고 최적화할 수 있습니다.
- 클릭률(CTR) 추적: 검색 결과에 대한 사용자의 실제 참여도를 모니터링하여 검색 결과의 품질을 평가합니다.
- 성능 모니터링: 느린 쿼리와 검색 패턴을 추적하여 시스템 병목 현상을 진단하고 개선할 수 있는 인사이트를 제공합니다.
4. 성능 최적화 및 확장성
대규모 데이터셋에서도 빠른 성능을 유지하기 위해 다음과 같은 기술이 적용되었습니다.
- pgvector 통합: PostgreSQL의 pgvector 익스텐션을 사용하여 하드웨어 가속 기반의 고성능 벡터 연산을 수행합니다.
- 지능형 캐싱: 반복되는 쿼리와 빈번하게 액세스되는 데이터에 대해 지능형 캐싱 전략을 적용하여 대기 시간을 단축했습니다.
- 다양한 LLM 지원: OpenAI, Anthropic, Google, Azure, Ollama, HuggingFace, OpenRouter 등 7개 이상의 주요 LLM 프로바이더를 지원하여 인프라 종속성을 최소화했습니다.
- 연결 풀링 (Connection Pooling): 확장 가능한 데이터베이스 연결 관리를 통해 동시 접속자가 많은 환경에서도 안정적으로 동작합니다.