Amazon S3에 연결하여 아마존 베드락 지식 베이스를 확인해 보십시오. - Amazon Bedrock

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

Amazon S3에 연결하여 아마존 베드락 지식 베이스를 확인해 보십시오.

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

지원되는 기능

  • 문서 메타데이터 필드

  • 포함/제외 콘텐츠 필터

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

사전 조건

Amazon S3에서는 다음을 확인하십시오.

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

AWS 계정에서 다음을 확인하십시오.

  • 지식창고의 AWS Identity and Access Management (IAM) 역할/권한 정책에 데이터 원본에 연결하는 데 필요한 권한을 포함하세요. 지식창고 IAM 역할에 추가하기 위해 이 데이터 원본에 필요한 권한에 대한 자세한 내용은 데이터 원본에 액세스할 수 있는 권한을 참조하십시오.

참고

콘솔을 사용하는 경우 지식창고 만들기 단계의 일부로 필요한 모든 권한이 있는 IAM 역할을 자동으로 만들 수 있습니다. 데이터 원본 및 기타 구성을 구성한 후에는 필요한 모든 권한이 있는 IAM 역할이 특정 지식창고에 적용됩니다.

연결 구성

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

이 섹션에는 이 데이터 원본의 구성 예가 포함되어 있습니다.

포함/제외 필터, 문서 메타데이터 필드, 증분 동기화 및 작동 방식에 대한 자세한 내용을 보려면 다음을 선택하십시오.

Amazon S3의 각 파일에 대한 문서 메타데이터 필드/속성을 지정하는 별도의 파일을 포함할 수 있습니다. 예를 들어, oscars-coverage_20240310.pdf 문서에는 연도와 장르별로 분류할 수 있는 뉴스 기사가 포함되어 있습니다. 이 예시에서는 다음과 같은 oscars-coverage_20240310.pdf.metadata.json 파일을 만들어 버킷에 업로드합니다.

{ "metadataAttributes": { "genre": "entertainment", "year": 2024 } }

메타데이터 파일은 관련 소스 문서 파일과 동일한 이름을 사용해야 하며 파일 이름 끝에 추가된 이름을 사용해야 합니다. .metadata.json 메타데이터 파일은 Amazon S3 버킷의 원본 파일과 동일한 폴더 또는 위치에 저장해야 합니다. 파일은 한도인 10KB를 초과할 수 없습니다. 지원되는 속성/필드 데이터 유형과 메타데이터 필드에 적용할 수 있는 필터링 연산자에 대한 자세한 내용은 메타데이터 및 필터링을 참조하십시오.

특정 콘텐츠 크롤링을 포함하거나 제외할 수 있습니다. 예를 들어 파일 이름에 '비공개'가 포함된 파일은 크롤링하지 않도록 제외 접두사/정규 표현식 패턴을 지정할 수 있습니다. 특정 콘텐츠 엔티티 또는 콘텐츠 형식을 포함하도록 포함 접두사/정규 표현식 패턴을 지정할 수도 있습니다. 포함 및 제외 필터를 지정하고 둘 다 문서와 일치하면 제외 필터가 우선하며 문서가 크롤링되지 않습니다.

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

데이터 원본을 지식창고와 동기화하려면 StartIngestionJobAPI를 사용하거나 콘솔에서 지식창고를 선택하고 데이터 원본 개요 섹션에서 동기화를 선택합니다.

중요

데이터 소스에서 동기화하는 모든 데이터는 데이터를 검색할 bedrock:Retrieve 권한이 있는 모든 사람이 사용할 수 있습니다. 여기에는 통제된 데이터 원본 권한이 있는 모든 데이터도 포함될 수 있습니다. 자세한 내용은 지식창고 권한을 참조하십시오.

Console

다음은 Amazon Bedrock 지식 베이스를 위해 Amazon S3에 연결하기 위한 구성 예제입니다. 콘솔에서 지식 기반 생성 단계의 일부로 데이터 소스를 구성합니다.

  1. Amazon Bedrock 권한으로 IAM 역할을 AWS Management Console 사용하여 로그인하고 https://console.aws.amazon.com/bedrock/ 에서 Amazon Bedrock 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 지식 베이스를 선택합니다.

  3. 지식베이스 섹션에서 지식창고 만들기를 선택합니다.

  4. 지식창고 세부 정보를 제공하십시오.

    1. 지식창고 이름과 설명 (선택 사항) 을 입력합니다.

    2. 지식창고를 만드는 데 필요한 액세스 권한의 AWS Identity and Access Management 역할을 제공하십시오.

      참고

      지식창고를 만들기 위한 콘솔 단계의 일부로 필요한 모든 권한이 포함된 IAM 역할을 자동으로 만들 수 있습니다. 지식창고 만들기 단계를 완료하면 필요한 모든 권한을 가진 IAM 역할이 특정 지식창고에 적용됩니다.

    3. 지식창고에 할당하려는 태그를 마음대로 만드세요.

    다음 섹션으로 이동하여 데이터 소스를 구성하세요.

  5. Amazon S3를 데이터 소스로 선택하고 연결 구성 세부 정보를 제공합니다.

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

    2. Amazon S3 버킷이 현재 계정에 있는지 아니면 다른 AWS AWS 계정에 있는지 지정합니다.

    3. 기존 Amazon S3 버킷 위치에서 찾아보거나 URI를 제공합니다. URI와 ARN은 Amazon S3 콘솔의 속성 섹션에서 찾을 수 있습니다. 버킷은 Amazon Bedrock 지식 베이스와 동일한 지역에 있어야 합니다. 버킷에 액세스할 수 있는 권한이 있어야 합니다.

      데이터 암호화에 자체 관리 AWS KMS 키를 사용하도록 선택할 수 있습니다.

    고급 설정을 확인하세요. 선택한 기본 설정을 선택적으로 변경할 수 있습니다.

  6. 고급 설정에서 임시 데이터 암호화 키 및 데이터 삭제 정책을 설정합니다.

    KMS key 설정의 경우 사용자 지정 키를 선택하거나 제공된 기본 데이터 암호화 키를 사용할 수 있습니다.

    데이터를 임베딩으로 변환하는 동안 Amazon Bedrock 기본적으로 AWS 소유하고 관리하는 키를 사용하여 임시 데이터를 암호화합니다. 자체 KMS 키를 사용할 수 있습니다. 자세한 정보는 데이터 모으기 중 임시 데이터 스토리지의 암호화을 참조하세요.

    데이터 삭제 정책 설정의 경우 다음 중 하나를 선택할 수 있습니다.

    • 삭제: 지식 기반 또는 데이터 소스 리소스 삭제 시 벡터 저장소에서 데이터 소스에 속하는 모든 데이터를 삭제합니다. 기본 벡터 저장소 자체는 삭제되지 않고 데이터만 삭제된다는 점에 유의하세요. AWS 계정이 삭제되면 이 플래그는 무시됩니다.

    • 보존: 지식 기반 또는 데이터 소스 리소스 삭제 시 벡터 스토어의 모든 데이터를 보존합니다.

    데이터 소스를 계속 구성하세요.

  7. 기본 구성 또는 사용자 지정된 청크 및 파싱 구성을 선택합니다.

    1. 사용자 지정 설정을 선택하는 경우 다음 청크 옵션 중 하나를 선택하십시오.

      • 고정 크기 청킹: 콘텐츠를 설정된 대략적인 토큰 크기의 텍스트 청크로 분할합니다. 청크의 최대 토큰 개수를 초과해서는 안 되는 최대 토큰 수와 연속된 청크 간의 겹침 비율을 설정할 수 있습니다.

      • 기본 청킹: 콘텐츠를 최대 300개의 토큰으로 구성된 텍스트 청크로 분할합니다. 단일 문서 또는 콘텐츠에 포함된 토큰이 300개 미만인 경우 문서는 더 이상 분할되지 않습니다.

      • 계층적 청킹: 콘텐츠는 상위-하위 청크의 중첩 구조로 구성됩니다. 최대 부모 청크 토큰 크기와 최대 하위 청크 토큰 크기를 설정합니다. 또한 각 상위 청크와 각 하위 청크의 상위 청크 간의 절대 중복 토큰 수를 설정합니다.

      • 시맨틱 청킹: 콘텐츠를 의미상 유사한 텍스트 청크 또는 문장 그룹으로 정리합니다. 대상/현재 문장을 둘러싸고 그룹화할 최대 문장 수 (버퍼 크기) 를 설정합니다. 또한 텍스트를 의미 있는 청크로 나누기 위한 중단점 백분위수 임계값을 설정합니다.

      • 청킹 없음: 각 문서는 단일 텍스트 청크로 취급됩니다. 문서를 별도의 파일로 분할하여 사전 처리하는 것이 좋습니다.

      참고

      데이터 원본을 만든 후에는 청크 전략을 변경할 수 없습니다.

    2. Amazon Bedrock의 기본 모델을 사용하여 문서를 파싱하여 표준 텍스트보다 더 많이 파싱하도록 선택할 수 있습니다. 예를 들어 구조를 그대로 유지한 상태로 문서 내의 표 형식 데이터를 파싱할 수 있습니다. 기초 모델 비용에 대한 자세한 내용은 Amazon Bedrock 가격을 참조하십시오.

    3. AWS Lambda 함수를 사용하여 청킹 전략을 사용자 지정하고 문서 메타데이터 속성/필드가 처리되고 수집되는 방식을 사용자 지정할 수 있습니다. Lambda 함수 입력 및 출력을 위한 Amazon S3 버킷 위치를 제공합니다.

    벡터 스토어를 구성하려면 다음 섹션으로 이동하십시오.

  8. 데이터를 벡터 임베딩으로 변환하기 위한 모델을 선택하세요.

    Amazon Bedrock이 임베딩을 저장, 업데이트 및 관리할 수 있도록 벡터 저장소를 생성하십시오. 새 벡터 저장소를 빠르게 생성하거나 생성한 지원되는 벡터 저장소에서 선택할 수 있습니다. 새 벡터 저장소를 생성하면 필수 필드가 포함된 Amazon OpenSearch Serverless 벡터 검색 컬렉션 및 색인이 자동으로 설정됩니다. 지원되는 벡터 저장소에서 선택하는 경우 벡터 필드 이름과 메타데이터 필드 이름을 매핑해야 합니다.

    다음 섹션으로 이동하여 지식창고 구성을 검토하세요.

  9. 지식창고의 세부 정보를 확인하세요. 지식창고를 만들기 전에 모든 섹션을 편집할 수 있습니다.

    참고

    지식창고를 만드는 데 걸리는 시간은 수집하는 데이터의 양과 특정 구성에 따라 달라집니다. 지식창고 생성이 완료되면 지식창고 상태가 준비됨으로 변경됩니다.

    지식창고 만들기가 준비되거나 완료되면 콘텐츠를 최신 상태로 유지하고 싶을 때마다 처음으로 데이터 원본을 동기화하세요. 콘솔에서 지식창고를 선택하고 데이터 원본 개요 섹션에서 동기화를 선택합니다.

API

다음은 Amazon Bedrock 지식 베이스를 위해 Amazon S3에 연결하기 위한 구성 예제입니다. Python과 같이 지원되는 SDK와 함께 API를 사용하여 데이터 소스를 구성합니다. AWS CLI 호출한 CreateKnowledgeBase후에는 를 CreateDataSource호출하여 연결 정보가 포함된 데이터 소스를 생성합니다. dataSourceConfiguration 청킹 전략/접근 방식과 데이터 삭제 정책도 명시해야 합니다. vectorIngestionConfiguration dataDeletionPolicy

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" }