AI 기반 와인 라벨 이미지 검색: LLM을 활용한 성능 개선 여정
🤖 AI 추천
이 콘텐츠는 AI 기술, 특히 LLM을 활용한 이미지 검색 및 자연어 처리 기술에 관심 있는 백엔드 개발자, AI/ML 엔지니어, 데이터 엔지니어에게 유용합니다. 특히 검색 기능의 성능 개선 및 다양한 기술적 문제 해결 과정에 대한 깊이 있는 이해를 원하는 미들 레벨 이상의 개발자에게 추천합니다.
🔖 주요 키워드

핵심 기술
본 콘텐츠는 우리동네GS 앱의 '와인25플러스' 서비스에 새롭게 도입된 AI 와인 이미지 라벨 검색 기능의 개발 과정과 성능 개선 노력을 상세히 다룹니다. LLM (Claude 3 Haiku)을 활용한 OCR 텍스트 추출, Multi Modal Embedding, Elasticsearch 기반 Vector DB 구축 및 검색 로직 구현이 핵심입니다.
기술적 세부사항
- 서비스 배경: 오프라인 매장의 주류 정보 전달 및 고객 경험 향상을 위해 AI 기반 라벨 검색 서비스 고안.
- 핵심 아이디어: 와인 병 촬영 시 라벨 텍스트, 색상, 병 모양 인식 및 유사 상품 검색.
- 검색 방식:
- Batch Job: 등록된 주류 이미지 분석, 객체 탐지(YOLOv8)로 병만 추출, LLM(Claude 3 Haiku)으로 텍스트 정보 추출, Multi Modal Embedding (Amazon Bedrock Titan Image), Vector DB(Elasticsearch) 저장.
- Inference API: 사용자 촬영 이미지 입력, 객체 탐지(YOLOv8) 제외, LLM으로 텍스트 추출, Embedding, Elasticsearch에 Cosine Similarity 기반 검색, 0.73 이상 유사도 상품 필터링.
- 성능 개선 시도:
- 고화질 데이터 활용: 저화질 이미지 문제 해결을 위한 고품질 데이터 확보 및 resizing 없이 LLM OCR 적용.
- Embedding 방식 변경: 고화질 데이터는 텍스트만 Embedding하는 것이 더 유사 상품 검색에 효과적임을 발견.
- 아시아권 주류 인식률 개선: 언어 감지 기반 분기 처리 및 SigLIP 모델 활용 (영어권 외).
- 빈티지 정보 반영: LLM 프롬프트에 년도 추출 추가 및 Multi Modal Embedding에 포함.
- 안정성 확보: Amazon Bedrock API 호출 시 Cross-Region Inference 지원을 위한 모델 명 수정 (us.anthropic.claude-3-haiku-20240307-v1:0).
- 테스트 결과: 165개 상품 대상 70% 검색 성공률 기록. 온라인 취급 상품에서 높은 성능, 진열 상태 촬영 시에도 우수한 결과.
개발 임팩트
- 고객의 주류 정보 탐색 편의성 증대 및 쇼핑 경험 향상.
- 매장 직원의 응대 부담 경감 및 업무 효율성 증대.
- LLM 및 Multi Modal 기술을 활용한 실질적인 서비스 구현 사례 제시.
- 실제 서비스 적용 과정에서의 기술적 난제 해결 및 성능 최적화 경험 공유.
커뮤니티 반응
(본문 내에 외부 커뮤니티 반응 언급 없음)
📚 관련 자료
langchain-ai/langchain
LLM을 활용한 다양한 애플리케이션 개발 프레임워크로, 본문에서 언급된 LLM 연동, 프롬프트 엔지니어링, 데이터 처리 파이프라인 구축 등과 관련된 기술 구현에 유용합니다.
관련도: 90%
ultralytics/yolov8
YOLOv8 모델은 본문에서 객체 탐지를 위해 사용된 핵심 기술로, 이미지에서 특정 객체(와인 병)를 탐지하고 분리하는 데 사용되었습니다. 이 저장소는 모델 구현 및 활용에 대한 정보를 제공합니다.
관련도: 85%
elasticsearch/elasticsearch
Elasticsearch는 본문에서 Vector DB로 활용되어 이미지 및 텍스트 정보를 Embedding한 벡터를 저장하고 유사도 검색을 수행하는 데 사용되었습니다. 검색 성능 및 대규모 데이터 관리에 대한 정보를 얻을 수 있습니다.
관련도: 80%