조직은 문서, 이미지, 오디오, 비디오 등 다양한 형식의 방대한 비정형 데이터를 처리해야 합니다. 과거에는 이러한 다양한 형식의 데이터에서 유용한 정보를 추출하는 데 복잡한 처리 프로세스와 많은 개발 작업이 필요했습니다. 하지만 생성형 AI 기술은 이러한 수동 작업을 크게 줄이고 정확성과 확장성을 개선하는 강력한 기능을 제공하여 이 영역을 혁신하고 있습니다.
Amazon Bedrock Data Automation 및 Amazon Bedrock Knowledge Bases를 사용하면 강력한 멀티모달 RAG 애플리케이션을 쉽게 구축할 수 있습니다. 이들은 조직이 멀티모달 콘텐츠에서 정보를 효과적으로 처리, 구성 및 검색할 수 있도록 지원하여 비정형 데이터를 관리하고 사용하는 방식을 변화시킵니다.
이 글에서는 Amazon Bedrock Data Automation을 사용하여 멀티모달 콘텐츠를 처리하고, 추출된 정보를 Amazon Bedrock Knowledge Bases에 저장하고, RAG 기반 Q&A 인터페이스를 통해 자연어 쿼리를 활성화하는 풀 스택 애플리케이션을 구축하는 과정을 안내합니다.
실제 적용 사례
Amazon Bedrock Data Automation과 Amazon Bedrock Knowledge Bases의 통합은 다양한 산업 분야에서 대량의 비정형 데이터를 처리하기 위한 강력한 솔루션을 제공합니다.
- 의료 분야: 의료 기관은 의료 양식, 진단 이미지, 상담 녹음 등 방대한 환자 기록을 처리해야 합니다. Amazon Bedrock Data Automation은 이러한 정보를 자동으로 추출하고 구성할 수 있으며, Amazon Bedrock Knowledge Bases를 통해 의료진은 “환자의 마지막 혈압 수치는 얼마입니까?” 또는 “당뇨병 환자의 치료 기록을 표시하십시오.”와 같은 자연어 쿼리를 사용할 수 있습니다.
- 금융 기관: 금융 기관은 대출 신청서부터 재무 보고서에 이르기까지 매일 수천 건의 문서를 처리합니다. Amazon Bedrock Data Automation은 주요 재무 지표와 규정 준수 정보를 추출할 수 있으며, Amazon Bedrock Knowledge Bases를 통해 분석가는 “최신 분기별 보고서에서 언급된 위험 요소는 무엇입니까?” 또는 “신용 등급이 높은 모든 대출 신청서를 표시하십시오.”와 같은 질문을 할 수 있습니다.
- 법률 회사: 법률 회사는 법원 문서, 증거 사진, 증인 증언 등 방대한 사건 파일을 처리해야 합니다. Amazon Bedrock Data Automation은 이러한 다양한 출처를 처리할 수 있으며, Amazon Bedrock Knowledge Bases를 통해 변호사는 “3월 15일 사건에 대해 어떤 증거가 제시되었습니까?” 또는 “피고인을 언급하는 모든 증인 진술을 찾으십시오.”와 같은 쿼리를 수행할 수 있습니다.
- 미디어 회사: 이 통합을 사용하여 지능적인 상황별 광고 게재를 구현할 수 있습니다. Amazon Bedrock Data Automation은 비디오 콘텐츠, 자막 및 오디오를 처리하여 장면 컨텍스트, 대화 및 분위기를 이해하고 광고 자산 및 광고 캠페인 요구 사항을 분석합니다. 그런 다음 Amazon Bedrock Knowledge Bases를 통해 “스포츠 장비 광고가 포함된 긍정적인 야외 활동 장면을 찾으십시오.” 또는 “관광 산업을 논의하는 여행 광고 세그먼트를 식별하십시오.”와 같이 광고를 적절한 콘텐츠 순간과 일치시키는 복잡한 쿼리를 수행할 수 있습니다. 이러한 지능적인 상황별 매칭은 브랜드 안전을 유지하면서 더욱 관련성 있고 효과적인 광고 게재를 제공합니다.
이러한 예는 Amazon Bedrock Data Automation의 추출 기능과 Amazon Bedrock Knowledge Bases의 자연어 쿼리가 결합되어 조직이 비정형 데이터와 상호 작용하는 방식을 어떻게 변화시키는지 보여줍니다.
솔루션 개요
이 종합 솔루션은 문서, 이미지, 오디오 및 비디오 파일을 포함한 멀티모달 콘텐츠를 처리하고 분석하는 Amazon Bedrock의 고급 기능을 보여줍니다. 세 가지 핵심 구성 요소인 Amazon Bedrock Data Automation, Amazon Bedrock Knowledge Bases, Amazon Bedrock에서 제공하는 기반 모델을 통해 구현됩니다. 사용자는 자동 처리 및 분석을 위해 오디오 파일, 이미지, 비디오 또는 PDF를 포함한 다양한 유형의 콘텐츠를 업로드할 수 있습니다.
콘텐츠를 업로드하면 Amazon Bedrock Data Automation은 표준 또는 사용자 정의 블루프린트를 사용하여 정보를 추출합니다. 추출된 정보는 JSON 형식으로 Amazon Simple Storage Service (Amazon S3) 버킷에 저장되고, 작업 상태는 Amazon EventBridge를 통해 추적되어 Amazon DynamoDB에 저장됩니다. 이 솔루션은 지식 베이스와 호환되는 문서를 생성하기 위해 추출된 JSON의 사용자 지정 구문 분석을 수행한 다음 Amazon Bedrock Knowledge Bases에 저장하고 인덱싱합니다.
직관적인 사용자 인터페이스를 통해 이 솔루션은 업로드된 콘텐츠와 추출된 정보를 동시에 표시합니다. 사용자는 Amazon Bedrock 기반 모델로 구동되는 검색 증강 생성(RAG) 기반 Q&A 시스템을 통해 처리된 데이터와 상호 작용할 수 있습니다. 이러한 통합된 방법은 조직이 AWS Cloud Development Kit (AWS CDK)를 사용하여 배포된 강력하고 확장 가능한 인프라를 사용하여 다양한 콘텐츠 형식에서 효율적으로 처리, 분석하고 통찰력을 얻을 수 있도록 합니다.
아키텍처
다음 아키텍처 다이어그램은 솔루션의 흐름을 보여줍니다.
- 사용자는 Amazon Cognito를 통해 인증된 프런트 엔드 애플리케이션과 상호 작용합니다.
- API 요청은 Amazon API Gateway 및 AWS Lambda 함수에 의해 처리됩니다.
- 파일은 처리를 위해 S3 버킷에 업로드됩니다.
- Amazon Bedrock Data Automation은 파일을 처리하고 정보를 추출합니다.
- EventBridge는 작업 상태를 관리하고 후처리를 트리거합니다.
- 작업 상태는 DynamoDB에 저장되고 처리된 콘텐츠는 Amazon S3에 저장됩니다.
- Lambda 함수는 처리된 콘텐츠를 구문 분석하고 Amazon Bedrock Knowledge Bases에서 인덱싱합니다.
- RAG 기반 Q&A 시스템은 Amazon Bedrock 기반 모델을 사용하여 사용자 쿼리에 응답합니다.
전제 조건
백엔드
백엔드의 경우 다음 전제 조건이 필요합니다.
- AWS 계정.
- Python 3.11 이상.
- Docker.
- GitHub (코드 리포지토리를 사용하는 경우).
- AWS CDK. 자세한 내용 및 전제 조건은 AWS CDK 시작하기를 참조하십시오.
- Amazon Bedrock에서 기반 모델에 대한 액세스 활성화:
- Anthropic의 Claude 3.5 Sonnet v2.0
- Amazon Nova Pro v1.0
- Anthropic의 Claude 3.7 Sonnet v1.0
프런트 엔드
프런트 엔드의 경우 다음 전제 조건이 필요합니다.
- Node/npm: v18.12.1
- 배포된 백엔드.
- API 호출 인증에 필요한 해당 Amazon Cognito 사용자 풀에 추가된 사용자가 최소 한 명 이상 있어야 합니다.
필요한 모든 것은 GitHub 리포지토리에서 오픈 소스 코드로 제공됩니다.
배포 가이드
이 샘플 애플리케이션 코드베이스는 다음과 같은 주요 폴더로 구성됩니다.