핵심 요약
대규모 사진 컬렉션에서 단순 메타데이터 검색의 한계를 극복하기 위해 AWS의 AI 및 그래프 서비스를 결합한 지능형 검색 솔루션을 제시한다. Amazon Rekognition으로 인물과 사물을 식별하고, Amazon Neptune으로 이들 간의 복잡한 관계를 그래프로 모델링하며, Amazon Bedrock을 통해 문맥에 맞는 캡션을 생성한다. 이 시스템은 생일 파티에서 손주와 함께 있는 조부모님과 같은 복잡한 자연어 쿼리를 처리할 수 있는 서버리스 아키텍처를 제공한다. AWS CDK를 통해 배포 가능한 전체 구현 코드를 포함하고 있어 실무 적용이 용이하다.
배경
AWS 계정 및 기본 서비스 사용 권한, AWS CDK 및 CLI 설치, Python 3.11 및 Node.js 18.x 이상, Amazon Bedrock의 Claude 3.5 Sonnet 모델 액세스 권한
대상 독자
AWS 기반의 지능형 미디어 자산 관리 시스템을 구축하려는 솔루션 아키텍트 및 개발자
의미 / 영향
이 솔루션은 기업의 이벤트 문서화, 의료 데이터 관리, 교육 기관의 사진 조직화 등 다양한 도메인에서 수동 태깅 비용을 획기적으로 줄여준다. 특히 그래프 DB와 LLM의 결합은 비정형 데이터에서 의미론적 관계를 추출하는 새로운 표준 아키텍처를 제시한다.
섹션별 상세
이미지 분석

S3 업로드부터 Lambda 오케스트레이션을 거쳐 Rekognition, Bedrock, Neptune, DynamoDB로 이어지는 데이터 흐름을 보여준다. 각 서비스가 얼굴 인식, 캡션 생성, 관계 저장 등의 역할을 어떻게 분담하는지 명확히 나타낸다.
지능형 사진 검색 시스템의 전체 서버리스 아키텍처 다이어그램이다.

인덱싱된 얼굴 목록과 갤러리 형태의 검색 결과를 보여준다. 각 사진 하단에 Bedrock이 생성한 관계 기반 캡션과 스타일 변경 버튼이 있어 실제 사용자 경험을 확인할 수 있다.
자연어 검색과 AI 생성 캡션을 보여주는 웹 UI 데모 화면이다.

엄마와 자녀들 사이의 'mother_of' 및 'sibling_of' 관계를 노드와 엣지로 표현한다. Neptune에서 이러한 관계가 어떻게 모델링되어 검색에 활용되는지 설명한다.
인물 간의 관계를 정의한 그래프 모델 예시이다.

자동차(Car)가 탈것(Vehicle) 범주에 속한다는 계층 정보와 특정 인물과 함께 나타난다는 관계를 보여준다. 이를 통해 '탈것과 함께 있는 인물' 같은 상위 개념 검색이 가능함을 시사한다.
사물 레이블의 계층 구조와 인물과의 연관성을 보여주는 그래프이다.

인물 노드를 중심으로 실내, 조명, 아이스크림 등 다양한 레이블이 연결된 모습을 보여준다. 다중 레이블과 인물이 얽힌 실제 그래프의 복잡성을 시각적으로 증명한다.
실제 데이터 기반의 복잡한 관계망 시각화 결과이다.
실무 Takeaway
- 단순 태그 검색의 한계를 넘기 위해 그래프 데이터베이스(Neptune)를 결합하여 인물과 사물 간의 관계 중심 검색을 구현할 수 있다.
- LLM(Bedrock)을 이미지 분석 파이프라인에 통합하면 검색 품질을 높일 뿐만 아니라 사용자 친화적인 자연어 캡션을 자동으로 생성할 수 있다.
- AWS CDK를 활용하여 복잡한 AI/ML 및 데이터베이스 인프라를 코드로서 관리하고 일관되게 배포하는 것이 가능하다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료