Amazon Bedrock 지식 기반을 위해 Amazon S3에 연결 - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Bedrock 지식 기반을 위해 Amazon S3에 연결

Amazon S3는 데이터를 버킷 내의 객체로 저장하는 객체 스토리지 서비스입니다. Amazon BedrockAWS 용 관리 콘솔 또는를 사용하여 Amazon Bedrock 지식 기반용 Amazon Amazon S3 버킷에 연결할 수 있습니다CreateDataSourceAPI(Amazon Bedrock 지원 SDKs 및 AWS CLI 참조).

Amazon S3 콘솔 또는를 사용하여 Amazon S3 버킷에 작은 파일 배치를 업로드할 수 있습니다API. 또는 AWS DataSync를 사용하여 여러 파일을 S3에 지속적으로 업로드하고 온프레미스, 엣지, 기타 클라우드 또는 AWS 스토리지에서 일정에 따라 파일을 전송할 수 있습니다.

현재는 General Purpose S3 버킷만 지원됩니다.

크롤링할 수 있는 파일 수와 파일당 MB 크기에는 제한이 있습니다. Quotas for knowledge bases를 참조하세요.

지원 기능

  • 문서 메타데이터 필드

  • 포함/제외 콘텐츠 필터

  • 추가, 업데이트, 삭제된 콘텐츠에 대한 증분 콘텐츠 동기화

사전 조건

Amazon S3에서 다음 사항을 확인하세요.

  • Amazon S3 버킷 URI, Amazon 리소스 이름(ARN) 및 AWS 버킷 소유자의 계정 ID를 기록해 둡니다. Amazon S3 콘솔의 ARN 속성 섹션에서 URI 및를 찾을 수 있습니다. 버킷은 Amazon Bedrock 지식 기반과 동일한 리전에 있어야 합니다. 사용자는 버킷에 대한 액세스 권한이 있어야 합니다.

AWS 계정에서 다음을 확인합니다.

  • 지식 기반에 대한 AWS Identity and Access Management (IAM) 역할/권한 정책에 데이터 소스에 연결하는 데 필요한 권한을 포함합니다. 이 데이터 원본이 지식 기반 IAM 역할에 추가하는 데 필요한 권한에 대한 자세한 내용은 데이터 원본에 액세스할 수 있는 권한을 참조하세요.

참고

콘솔을 사용하는 경우 지식 기반 생성 단계의 일부로 필요한 모든 권한이 있는 IAM 역할을 생성할 수 있습니다. 데이터 소스 및 기타 구성을 구성한 후에는 필요한 모든 권한이 있는 IAM 역할이 특정 지식 기반에 적용됩니다.

연결 구성

Amazon S3 버킷에 연결하려면 필요한 구성 정보를 제공해야만 Amazon Bedrock이 데이터에 액세스하고 크롤링할 수 있습니다. 또한 사전 조건를 따라야 합니다.

이 데이터 소스에 대한 구성의 예제가 이 섹션에 포함되어 있습니다.

포함/제외 필터, 문서 메타데이터 필드, 증분 동기화 및 작동 방식에 대한 자세한 내용을 알아보려면 아래에서 관련 항목을 선택하세요.

Amazon S3 데이터 소스의 각 파일에 대한 문서 메타데이터 필드/속성을 지정하고, 데이터 소스를 벡터 스토어로 인덱싱할 때 임베딩에 포함할지 여부를 지정하는 별도의 파일을 포함할 수 있습니다. 예를 들어 다음 형식으로 파일을 생성하고 이름을 지정example.metadata.json하여 S3 버킷에 업로드할 수 있습니다.

{ "metadataAttributes": { "company": { "value": { "type": "STRING", "stringValue": "BioPharm Innovations" }, "includeForEmbedding": true }, "created_date": { "value": { "type": "NUMBER", "numberValue": 20221205 }, "includeForEmbedding": true }, "author": { "value": { "type": "STRING", "stringValue": "Lisa Thompson" }, "includeForEmbedding": true }, "origin": { "value": { "type": "STRING", "stringValue": "Overview" }, "includeForEmbedding": true } } }

메타데이터 파일은 연결된 소스 문서 파일과 동일한 이름을 사용해야 하며, 파일 이름 끝에 .metadata.json이 추가됩니다. 메타데이터 파일은 Amazon S3 버킷의 소스 파일과 동일한 폴더 또는 위치에 저장해야 합니다. 파일은 10KB 제한을 초과해서는 안 됩니다. 지원되는 속성/필드 데이터 유형 및 메타데이터 필드에 적용할 수 있는 필터링 연산자에 대한 자세한 내용은 Metadata and filtering을 참조하세요.

특정 콘텐츠 크롤링을 포함하거나 제외할 수 있습니다. 예를 들어 특정 콘텐츠 개체 또는 콘텐츠 유형을 포함하도록 제외 prefix/regular expression pattern to skip crawling any file that contains “private” in the file name. You could also specify an inclusion prefix/regular 표현식 패턴을 지정할 수 있습니다. 포함 및 제외 필터를 지정하고 둘 모두가 문서와 일치하는 경우, 제외 필터가 우선하며 문서가 크롤링되지 않습니다.

PDF 파일만 포함하는 필터 패턴의 예: “.*\\.pdf”

데이터 소스 커넥터는 데이터 소스가 지식 기반과 동기화될 때마다 새 콘텐츠, 수정된 콘텐츠 및 삭제된 콘텐츠를 크롤링합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 크롤링할 Amazon Bedrock 수 있습니다. 데이터 소스를 처음으로 지식 기반과 동기화하는 경우 기본적으로 모든 콘텐츠가 동기화됩니다.

데이터 소스를 지식 기반과 동기화하려면를 사용하거나 콘솔에서 지식 기반을 StartIngestionJob API 선택하고 데이터 소스 개요 섹션에서 동기화를 선택합니다.

중요

데이터 소스에서 동기화하는 모든 데이터는 데이터를 검색할 수 있는 bedrock:Retrieve 권한이 있는 모든 사용자에게 제공됩니다. 여기에는 제어된 데이터 소스 권한이 있는 모든 데이터가 포함될 수 있습니다. 자세한 내용은 Knowledge base permissions를 참조하세요.

Console
Amazon S3 버킷을 지식 기반에 연결하려면
  1. 의 단계에 따라 Amazon S3를 데이터 소스로 Amazon Bedrock 지식 기반에서 지식 기반 생성 선택합니다.

  2. 데이터 소스의 이름을 입력합니다.

  3. Amazon S3 버킷이 현재 AWS 계정에 있는지 아니면 다른 AWS 계정에 있는지 지정합니다. 버킷은 지식 기반과 동일한 리전에 있어야 합니다.

  4. (선택 사항) Amazon S3 버킷이 KMS 키로 암호화된 경우 키를 포함합니다. 자세한 내용은 Amazon S3의 데이터 소스에 대한 AWS KMS 키를 복호화할 수 있는 권한 단원을 참조하십시오.

  5. (선택 사항) 콘텐츠 구문 분석 및 청크 섹션에서 데이터를 구문 분석하고 청크하는 방법을 사용자 지정할 수 있습니다. 이러한 사용자 지정에 대해 자세히 알아보려면 다음 리소스를 참조하세요.

  6. 고급 설정 섹션에서 선택적으로 다음을 구성할 수 있습니다.

    • KMS 임시 데이터 스토리지의 키입니다. - 데이터를 기본 키 AWS 관리형 키 또는 자체 KMS 키를 사용하여 임베딩으로 변환하는 동안 임시 데이터를 암호화할 수 있습니다. 자세한 내용은 데이터 모으기 중 임시 데이터 스토리지의 암호화 단원을 참조하십시오.

    • 데이터 삭제 정책 - 기본적으로 벡터 스토어에 저장된 데이터 소스의 벡터 임베딩을 삭제하거나 벡터 스토어 데이터를 보존하도록 선택할 수 있습니다.

  7. 임베딩 모델 및 벡터 스토어를 계속 선택합니다. 나머지 단계를 보려면 로 돌아가Amazon Bedrock 지식 기반에서 지식 기반 생성서 데이터 소스를 연결한 후 단계를 계속합니다.

API

다음은 Amazon Bedrock 지식 기반을 Amazon S3에 연결하기 위한 구성의 예제입니다. AWS CLI 또는 PythonSDK과 같이 지원되는와 API 함께를 사용하여 데이터 소스를 구성합니다. 를 호출한 후를 CreateKnowledgeBase호출CreateDataSource하여의 연결 정보로 데이터 소스를 생성합니다dataSourceConfiguration.

선택적 vectorIngestionConfiguration 필드를 포함하여 수집에 적용할 수 있는 사용자 지정에 대해 알아보려면 섹션을 참조하세요데이터 소스에 대한 수집 사용자 지정.

AWS Command Line Interface

aws bedrock create-data-source \ --name "S3 connector" \ --description "S3 data source connector for Amazon Bedrock to use content in S3" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://s3-bedrock-connector-configuration.json \ --data-deletion-policy "DELETE" \ --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}' s3-bedrock-connector-configuration.json { "s3Configuration": { "bucketArn": "arn:aws:s3:::bucket-name", "bucketOwnerAccountId": "000000000000", "inclusionPrefixes": [ ".*\\.pdf" ] }, "type": "S3" }