피드로 돌아가기
Dev.toBackend
원문 읽기
pgvector와 Ollama 기반 768차원 벡터 검색으로 분산 시스템 장애 진단 최적화
pgvector + Ollama Setup
AI 요약
Context
분산 시스템 내 Saga 패턴 적용 중 발생하는 장애 진단을 위해 기존의 텍스트 기반 로그 검색을 사용함. 단순 키워드 매칭 방식은 유사한 패턴의 장애를 식별하지 못하는 한계가 있어, 의미론적 유사성 기반의 검색 체계가 필요함.
Technical Solution
- Ollama의 nomic-embed-text 모델을 통한 텍스트 데이터의 768차원 Vector 변환
- 기존 PostgreSQL 인프라를 활용한 pgvector 확장 모듈 도입으로 별도의 Vector DB 관리 오버헤드 제거
- LangChain4j를 활용하여 EmbeddingModel, EmbeddingStore, EmbeddingStoreIngestor 간의 파이프라인 구축
- Kafka Consumer를 통해 수집된 Saga Event를 실시간 Vectorize 하여 pgvector에 저장하는 아키텍처 설계
- minScore(0.75) 임계치 설정을 통한 노이즈 제거 및 maxResults(3) 제한으로 LLM 컨텍스트 최적화
- Metadata 필터링 기능을 통한 특정 상태(FAIL)나 프로필 키 기반의 정밀 검색 구현
실천 포인트
- Embedding 모델의 Output Dimension과 DB 스키마의 차원 설정 일치 여부 확인 - 데이터 특성에 따른 유사도 임계값(minScore) 튜닝을 통한 검색 정확도 최적화 - LLM 전달 컨텍스트 양을 제한하여 답변 품질을 높이는 maxResults 전략 검토 - 인프라 관리 포인트 감소를 위해 기존 DB의 Vector Extension 도입 가능성 검토