Weaviate for RAG: 빛날 때 (그리고 빛나지 않을 때)
Source: Dev.to
개요
엔터프라이즈 수준 PoC를 구축한 후 직접 진행한 리뷰 — 단순한 “Hello World”가 아닙니다.
Technical Lead & AI Architect (Hands‑On) 로서 Retrieval‑Augmented Generation (RAG) 시스템에 집중하며 HSBC, Scotiabank, CFE와 같은 조직을 위한 솔루션을 구축했습니다. 최근 멕시코시티 AI 연구실 (2025‑02 – 2025‑06) 에서는 내부 Business Intelligence Engine PoC를 위한 포괄적인 RAG 솔루션 아키텍처를 주도했습니다. 이번 작업은 향후 엔터프라이즈 배포를 위한 아키텍처, 지연 시간, 보안 패턴을 검증하는 기술적 딥다이브였습니다.
PoC는 실제 환경에 대비한 RAG 아키텍처를 엄격히 테스트하기 위해 설계되었으며, 다음을 포함합니다:
- 전체 엔터프라이즈 패턴 (인증, 오류 처리, 가시성)
- 로컬 LLM (Ollama를 통한 DeepSeek‑R1)
- 100 % 데이터 주권 보장
- 실제 하드웨어(GCP n2‑standard‑8)에서의 벤치마크
제가 담당한 주요 업무는 다음과 같습니다:
- 반응형 스트리밍 패턴(Spring WebFlux, Project Reactor)을 활용한 다계층 RAG 아키텍처 설계
- 금융 문서 처리를 위한 최적화된 Sentence‑BERT 임베딩을 이용한 Weaviate v4 통합 설계
- 로컬 LLM 통합 전략 총괄
🔗 전체 아키텍처 상세:
💻 코드 (MIT, 비상업용):
Weaviate가 가치를 제공하는 현장 — 실제 적용 사례
하이브리드 검색: nearText + where = 오탐 감소
실제 사용에서는 사용자가 “Q3 실적 요약해줘”와 같이 깔끔한 질문을 하지 않습니다. 보통 다음과 같이 질문합니다:
“지난 분기에 대출 승인에 대해 컴플라이언스 팀이 뭐라고 했나요?”
대부분의 벡터 데이터베이스는 의미 기반 또는 키워드 검색 중 하나만 선택하도록 강요합니다. Weaviate는 두 방식을 결합할 수 있어 오탐을 크게 줄여줍니다.
{
Get {
FinancialDocument(
nearText: { concepts: ["loan approval"] }
where: {
path: ["department"]
operator: Equal
valueString: "compliance"
}
) {
title
snippet
_additional { distance }
}
}
}