Amazon Bedrock Knowledge Bases와 S3 Vectors 사용하기

Amazon Bedrock Knowledge Bases와 S3 Vectors 사용하기 (Using S3 Vectors with Amazon Bedrock Knowledge Bases)

S3 Vectors는 Amazon Bedrock Knowledge Bases 및 Amazon SageMaker AI Unified Studio와 통합되어 RAG(Retrieval Augmented Generation, 검색 증강 생성) 애플리케이션의 벡터 저장 비용을 단순화하고 줄여 줘요.

Amazon Bedrock 임베딩 모델을 S3 Vectors 작업과 통합하는 고수준 CLI 명령에 대한 자세한 내용은 s3vectors-embed-cli로 벡터 임베딩 만들기 및 의미 검색 수행하기를 참고하세요.

주제 (Topics)

출처: 문서

본문

통합 개요 (Integration overview)

Amazon Bedrock에서 지식 기반(knowledge base)을 만들 때 벡터 저장소로 S3 Vectors를 선택할 수 있어요. 이 통합은 다음을 제공해요.

  • 큰 벡터 데이터셋을 가진 RAG 애플리케이션을 위한 비용 절감.
  • Amazon Bedrock의 완전 관리형 RAG 워크플로와의 매끄러운 통합.
  • Amazon Bedrock 서비스가 처리하는 자동 벡터 관리.
  • 지식 기반 검색 작업을 위한 1초 미만의 콜드 쿼리 지연 시간과 100ms까지 낮은 웜 쿼리 지연 시간.

Amazon Bedrock Knowledge Bases는 완전 관리형 엔드투엔드 RAG 워크플로를 제공해요. S3 Vectors로 지식 기반을 만들면 Amazon Bedrock이 S3 데이터 소스에서 데이터를 자동으로 가져와 콘텐츠를 텍스트 블록으로 변환하고, 임베딩을 생성한 뒤 벡터 인덱스에 저장해 줘요. 그런 다음 지식 기반을 검색하고 소스 데이터에서 검색된 청크를 바탕으로 응답을 생성할 수 있어요.

이 통합을 언제 사용하나요 (When to use this integration)

다음이 필요할 때 S3 Vectors를 Amazon Bedrock Knowledge Bases와 함께 사용하는 걸 고려해 보세요.

  • 1초 미만의 쿼리 지연 시간이 애플리케이션 요구사항을 충족하는 큰 데이터셋을 위한 비용 효율적인 벡터 저장소.
  • 매뉴얼, 정책, 시각적 콘텐츠를 검색하는 것 같은 사용 사례를 위한 텍스트 및 이미지 기반 문서 검색.
  • 초저지연 응답보다 저장 비용 최적화를 우선하는 RAG 애플리케이션.
  • S3 Vectors API 작업을 직접 배우지 않아도 되는 관리형 벡터 작업 — 익숙한 Amazon Bedrock 인터페이스를 계속 사용할 수 있어요.
  • Amazon S3의 내구성과 확장성을 갖춘 장기 벡터 저장.

이 통합은 글과 이미지에서 검색하고 통찰을 추출해야 하며, S3 Vectors의 비용 이점이 허용 가능한 쿼리 성능 요구사항과 맞는 RAG 애플리케이션을 구축하는 조직에 이상적이에요.

지원되는 임베딩 모델 (Supported embedding models)

Amazon Bedrock User Guide의 supported models for vector embeddings를 참고하세요.

사전 요구사항 및 권한 (Prerequisites and permissions)

S3 Vectors로 지식 기반을 만들기 전에 다음을 갖추었는지 확인하세요.

보안 구성을 설정할 때 Amazon Bedrock에 필요한 AWS 서비스 접근 권한을 제공하는 IAM 역할을 선택할 수 있어요. Amazon Bedrock이 서비스 역할을 만들도록 하거나 여러분의 커스텀 역할을 사용할 수 있어요. 커스텀 역할을 사용한다면 벡터 버킷과 벡터 인덱스에 대한 접근을 커스텀 역할로 제한하는 벡터 버킷 정책을 구성하세요.

필요한 권한과 IAM 역할에 대한 자세한 내용은 Amazon Bedrock User Guide의 Create a service role for Amazon Bedrock Knowledge Bases를 참고하세요. 서비스 역할은 S3 Vectors와 AWS KMS API 작업에 대한 권한도 보유해야 해요.

S3 Vectors로 지식 기반 만들기 (Creating a knowledge base with S3 Vectors)

S3 Vectors를 사용하는 지식 기반은 두 가지 방법으로 만들 수 있어요.

방법 1: Amazon Bedrock 콘솔 사용 (Method one: Using the Amazon Bedrock console)

Amazon Bedrock 콘솔에서 지식 기반을 만들 때 벡터 저장소 옵션으로 "S3 vector bucket"을 선택할 수 있어요. 두 가지 설정 옵션이 있어요.

단계별 자세한 지침은 Amazon Bedrock User Guide의 Create a knowledge base by connecting to a data source in Amazon Bedrock Knowledge Bases를 참고하세요.

방법 2: Amazon SageMaker Unified Studio 사용 (Method two: Using Amazon SageMaker Unified Studio)

Amazon SageMaker AI Unified Studio에서 Amazon Bedrock을 통해 S3 Vectors로 지식 기반을 만들고 관리할 수도 있어요. 이 도구는 지식 기반을 사용하는 AI 애플리케이션을 구축하고 테스트하기 위한 통합 개발 환경을 제공해요.

SageMaker AI Unified Studio의 Amazon Bedrock은 통합 노트북 기능을 필요로 하고 여러 AWS ML·분석 서비스에서 작업하는 사용자에게 적합해요. 생성형 AI 애플리케이션을 구축할 때 S3 벡터 버킷을 빠르게 만들고 지식 기반의 벡터 저장소로 구성할 수 있어요.

SageMaker AI Unified Studio에서 S3 Vectors를 Amazon Bedrock과 함께 사용하는 방법에 대한 자세한 내용은 SageMaker AI Unified Studio User Guide의 Add a data source to your Amazon Bedrock app을 참고하세요.

지식 기반 관리 및 검색 (Managing and querying your knowledge base)

데이터 동기화 및 관리 (Data synchronization and management)

Amazon Bedrock Knowledge Bases는 데이터 소스와 벡터 임베딩을 동기화 상태로 유지하는 수집 작업(ingestion job) 기능을 제공해요. 데이터 소스를 동기화하면 Amazon Bedrock이 각 문서를 스캔하고 벡터 저장소에 인덱싱되었는지 확인해요. IngestKnowledgeBaseDocuments 작업을 사용해 문서를 벡터 저장소에 직접 인덱싱할 수도 있어요. 데이터 동기화를 보장하려면 지식 기반마다 별도의 벡터 저장소를 만드는 것이 모범 사례예요.

지식 기반이나 데이터 소스 리소스를 삭제할 때 Amazon Bedrock은 두 가지 데이터 삭제 정책을 제공해요: Delete(기본값)와 Retain. Delete 정책을 선택하면 벡터 인덱스와 벡터 버킷의 벡터가 자동으로 삭제돼요.

검색 및 검색 결과 가져오기 (Querying and retrieval)

지식 기반을 설정한 뒤에는 다음을 할 수 있어요.

  • Retrieve API 작업으로 소스 데이터에서 청크 검색.
  • RetrieveAndGenerate API 작업으로 검색된 청크를 바탕으로 응답 생성.
  • Amazon Bedrock 콘솔에서 테스트 쿼리 실행.

응답은 원본 소스 데이터에 대한 인용(citation)과 함께 반환돼요.

제한 사항 (Limitations)

S3 Vectors를 Amazon Bedrock Knowledge Bases와 함께 사용할 때 다음 제한 사항을 알아두어야 해요.

  • 의미 검색만 지원 (Semantic search only): S3 Vectors는 의미 검색은 지원하지만 하이브리드 검색 기능은 지원하지 않아요.
  • S3 Vectors 크기 제한 (S3 Vectors size limits): 각 벡터에는 총 메타데이터 크기 제한과 필터링 가능한 메타데이터 크기 제한이 있어 커스텀 메타데이터와 필터링 옵션이 제한될 수 있어요. Amazon Bedrock Knowledge Bases와 함께 S3 Vectors를 벡터 저장소로 사용할 때는 벡터당 최대 1KB의 커스텀 메타데이터와 35개의 메타데이터 키를 붙일 수 있어요.
  • 청킹 전략 제약 (Chunking strategy constraints): Amazon Bedrock Knowledge Bases에서 계층적 청킹(hierarchical chunking)으로 매우 높은 토큰 수를 사용하면, 부모-자식 청크 관계와 계층적 맥락이 S3 Vectors에 필터링 불가능한 메타데이터로 저장되므로 최대 메타데이터 크기 제한을 초과할 수 있어요. 벡터당 메타데이터 크기 제한에 대한 자세한 내용은 제한 사항을 참고하세요.
  • 부동소수점 벡터만 지원 (Floating-point vectors only): 이진 벡터 임베딩은 지원되지 않아요.

Amazon Bedrock Knowledge Bases 작업에 대한 포괄적인 안내는 Amazon Bedrock User Guide의 Retrieve data and generate AI responses with Amazon Bedrock Knowledge Bases를 참고하세요.

더 알아보기 (Learn more)