Amazon Bedrock Knowledge Bases에서 데이터 소스에 연결하여 지식 기반 생성 - Amazon Bedrock

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

Amazon Bedrock Knowledge Bases에서 데이터 소스에 연결하여 지식 기반 생성

데이터 소스에 연결하여 지식 기반을 생성할 때 다음을 설정하거나 지정합니다.

  • 지식 기반을 정의하고 식별하는 일반 정보

  • 지식 기반에 대한 권한이 있는 서비스 역할입니다.

  • 지식 베이스 구성을 위한 설정으로, 여기에는 데이터 소스에서 데이터를 변환할 때 사용할 임베딩 모델, 임베딩을 저장할 서비스의 저장 구성, 그리고 선택 사항으로 멀티모달 데이터를 저장할 S3 위치가 포함됩니다.

참고

루트 사용자로는 지식 기반을 생성할 수 없습니다. 이 단계를 시작하기 전에 IAM 사용자로 로그인하세요.

해당하는 사용 사례의 섹션을 확장해 내용을 살펴보세요.

지식 기반을 설정하는 방법
  1. Amazon Bedrock 콘솔을 사용할 권한이 있는 IAM 자격 증명AWS Management 콘솔으로에 로그인합니다. 그 다음 https://console.aws.amazon.com/bedrock에서 Amazon Bedrock 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 지식 기반을 선택합니다.

  3. 지식 기반 섹션에서 생성 버튼을 선택하고 벡터 스토어로 지식 기반 생성을 선택합니다.

  4. (선택 사항) 지식 기반의 기본 이름을 변경하고 설명을 제공합니다.

  5. 다른 필수 AWS서비스에 액세스할 수 있는 Amazon Bedrock 권한을 제공하는 AWS Identity and Access Management(IAM) 역할을 선택합니다. Amazon Bedrock이 서비스 역할을 만들도록 하거나 Neptune Analytics를 위해 만든 자체 사용자 지정 역할을 선택할 수 있습니다.

  6. 지식 기반을 연결할 데이터 소스를 선택합니다.

  7. (선택 사항) 지식 기반에 태그를 추가합니다. 자세한 내용은 Amazon Bedrock 리소스 태그 지정 단원을 참조하십시오.

  8. (선택 사항) 지식 기반에 대한 활동 로그를 전달할 서비스를 구성합니다.

  9. 다음 섹션으로 이동하여 데이터 소스를 지식 기반에 연결의 단계에 따라 데이터 소스를 구성합니다.

  10. 임베딩 모델 섹션에서 다음을 수행합니다.

    1. 데이터를 벡터 임베딩으로 변환할 임베딩 모델을 선택합니다. 멀티모달 데이터(이미지, 오디오 및 비디오)의 경우 Amazon Titan Multimodal Embeddings G1 또는 Cohere Embed v3와 같은 멀티모달 임베딩 모델을 선택합니다.

      참고

      Amazon Titan Multimodal Embeddings G1을 사용하는 경우 S3 콘텐츠 버킷을 제공해야 하며 기본 구문 분석기만 사용할 수 있습니다. 이 모델은 이미지 검색 사용 사례에 최적화되어 있습니다. 멀티모달 접근 방식 선택에 대한 포괄적인 지침은 섹션을 참조하세요멀티모달 콘텐츠를 위한 지식 기반 구축.

    2. (선택 사항) 추가 구성 섹션을 확장하여 다음 구성 옵션을 확인합니다(모든 모델이 모든 구성을 지원하는 것은 아님).

      • 임베딩 유형 - 데이터를 부동 소수점(float32) 벡터 임베딩(더 정확하지만 비용이 많이 듦) 또는 바이너리 벡터 임베딩(덜 정확하지만 비용이 적게 듦)으로 변환할지 여부입니다. 바이너리 벡터를 지원하는 임베딩 모델에 대해 알아보려면 지원되는 임베딩 모델을 참조하세요.

      • 벡터 차원 - 값이 높을수록 정확도는 향상되지만 비용과 지연 시간은 증가합니다.

  11. 벡터 데이터베이스 섹션에서 다음을 수행합니다.

    1. 벡터 스토어를 선택하여 쿼리에 사용할 벡터 임베딩을 저장합니다. 다음과 같은 옵션이 있습니다.

      • 새 벡터 스토어 빠른 생성 - Amazon Bedrock에서 생성할 수 있는 벡터 스토어 중 하나를 선택합니다. 벡터 스토어에 대한 AWS KMS키 암호화를 선택적으로 구성할 수도 있습니다.

        참고

        이 옵션을 사용하면 Amazon Bedrock이 각 벡터 스토어의 메타데이터 배치를 자동으로 처리합니다.

        • Amazon OpenSearch Serverless - Amazon Bedrock Knowledge Bases는 Amazon OpenSearch Serverless 벡터 검색 컬렉션 및 인덱스를 생성하고 필요한 필드로 구성합니다.

        • Amazon Aurora PostgreSQL Serverless – Amazon Bedrock은 Amazon Aurora PostgreSQL Serverless 벡터 스토어를 설정합니다. 이 프로세스는 Amazon S3 버킷에서 비정형 텍스트 데이터를 가져와 텍스트 청크와 벡터로 변환한 다음 PostgreSQL 데이터베이스에 저장합니다. 자세한 정보는 Aurora PostgreSQL Knowledge Bases for Amazon Bedrock 지식 기반 빠른 생성 섹션을 살펴보세요.

        • Amazon Neptune Analytics - Amazon Bedrock은 그래프와 결합된 검색 증강 생성(RAG) 기술을 사용하여 생성형 AI 애플리케이션을 개선하므로 최종 사용자가 더 정확하고 포괄적인 응답을 얻을 수 있습니다.

        • Amazon S3 Vectors - Amazon Bedrock Knowledge Bases는 데이터 소스에서 생성된 임베딩을 저장하는 S3 벡터 버킷과 벡터 인덱스를 생성합니다.

          Amazon Bedrock과 Amazon S3 벡터를 모두 사용할 수 있는 모든 AWS 리전에서 Amazon S3 벡터에 대한 지식 기반을 생성할 수 있습니다. 리전 가용 정보는 Amazon S3 사용 설명서에서 Amazon S3 Vectors를 참조하세요.

          참고

          Amazon Bedrock 지식 기반과 함께 Amazon S3 벡터를 사용하는 경우 벡터당 최대 1KB의 사용자 지정 메타데이터(필터링 가능한 메타데이터와 필터링할 수 없는 메타데이터 모두 포함)와 35개의 메타데이터 키를 연결할 수 있습니다. 메타데이터 제한에 대한 자세한 내용은 메타데이터 지원의 섹션을 참조하세요지식 기반에 대해 생성된 벡터 저장소 사용의 사전 조건.

      • 생성한 벡터 스토어 선택 - 지원되는 벡터 스토어를 선택하고 벡터 필드 이름과 벡터 인덱스의 메타데이터 필드 이름을 식별합니다. 자세한 내용은 지식 기반에 대해 생성된 벡터 저장소 사용의 사전 조건 단원을 참조하십시오.

        참고

        데이터 소스가 Confluence, Microsoft SharePoint 또는 Salesforce 인스턴스인 경우 지원되는 유일한 벡터 스토어 서비스는 Amazon OpenSearch Serverless입니다.

    2. (선택 사항) 추가 구성 섹션을 확장하고 관련 구성을 수정합니다.

  12. 데이터 소스에 이미지가 포함된 경우 파서가 멀티모달 스토리지 대상의 데이터에서 추출할 이미지를 저장할 Amazon S3 URI를 지정합니다. 쿼리 중에 이미지를 반환할 수 있습니다. 데이터를 암호화AWS 관리형 키하기 위해 기본값 대신 고객 관리형 키를 선택할 수도 있습니다.

    참고

    멀티모달 데이터는 Amazon S3 및 사용자 지정 데이터 소스에서만 지원됩니다.

    참고

    멀티모달 임베딩 모델을 사용하는 경우:

    • Amazon Titan Multimodal Embeddings G1에는 S3 콘텐츠 버킷이 필요하며 기본 구문 분석기를 사용하는 이미지 전용 데이터 세트에 가장 적합합니다.

    • Cohere Embed v3는 혼합 텍스트 및 이미지 데이터 세트를 지원하며 모든 구문 분석기 구성과 함께 사용할 수 있습니다.

    • 이미지 검색 사용 사례의 경우 토큰 제한으로 인해 Titan G1과 함께 Bedrock Data Automation(BDA) 또는 파운데이션 모델 파서를 사용하지 마세요.

    • 멀티모달 스토리지 대상은 검색 목적으로 파일 복사본을 생성하므로 추가 스토리지 요금이 발생할 수 있습니다.

  13. 다음을 선택하고 지식 기반의 세부 정보를 검토합니다. 계속해서 지식 기반을 만들기 전에 모든 섹션을 편집할 수 있습니다.

    참고

    지식 기반을 만드는 데 걸리는 시간은 구체적인 구성에 따라 달라집니다. 지식 기반 생성이 완료되면 지식 기반 상태가 준비 또는 사용 가능 상태로 변경됩니다.

    지식 기반이 준비되고 사용 가능해지면 데이터 소스를 최초로 한 번 동기화하고, 이후에는 콘텐츠를 최신 상태로 유지하고 싶을 때마다 동기화하세요. 콘솔에서 지식 기반을 선택하고 데이터 소스 개요 섹션에서 동기화를 선택하면 됩니다.

지식 기반을 생성하려면 Amazon Bedrock Agents 빌드 타임 엔드포인트를 사용하여 CreateKnowledgeBase 요청을 전송합니다.

참고

Amazon Bedrock이 벡터 스토어를 생성하고 관리하도록 하려면 콘솔을 사용합니다. 자세한 내용은 이 주제의 콘솔 사용 섹션을 확장하세요.

필수 필드는 다음과 같습니다.

Field 기본 설명
이름 지식 기반 이름
roleArn Amazon Bedrock Knowledge Bases 서비스 역할의 ARN입니다.
knowledgeBaseConfiguration 지식 기반에 대한 구성을 포함합니다. 아래 세부 정보를 참조하세요.
storageConfiguration (정형화되지 않은 데이터 소스에 연결하는 경우에만 필요). 선택한 데이터 소스 서비스에 대한 구성을 포함합니다.

다음 필드는 선택 사항입니다.

Field 사용 사례:
description 지식 기반에 대한 설명입니다.
clientToken API 요청이 한 번만 완료되도록 합니다. 자세한 내용은 멱등성 보장을 참조하세요.
tags 태그를 흐름에 연결합니다. 자세한 내용은 Amazon Bedrock 리소스 태그 지정 단원을 참조하십시오.

KnowledgeBaseConfiguration 객체에 매핑되는 knowledgeBaseConfiguration 필드에서 type 필드에 VECTOR를 지정하고 VectorKnowledgeBaseConfiguration 객체를 포함합니다. 객체는 다음 필드를 포함합니다.

StorageConfiguration 객체에 매핑되는 storageConfiguration 필드에서 type 필드에 연결할 벡터 스토어를 지정하고 해당 벡터 스토어에 해당하는 필드를 포함합니다. 제공해야 하는 정보에 대한 자세한 내용은 StorageConfiguration에서 각 벡터 스토어 구성 유형을 참조하세요.

다음은 Amazon OpenSearch Serverless 컬렉션에 연결된 지식 기반을 생성하기 위한 요청의 예를 보여줍니다. 연결된 데이터 소스의 데이터는 Amazon Titan Text Embeddings V2를 사용하여 바이너리 벡터 임베딩으로 변환되며 구문 분석기에서 추출한 멀티모달 데이터는 MyBucket이라는 버킷에 저장되도록 설정됩니다.

PUT /knowledgebases/ HTTP/1.1 Content-type: application/json { "name": "MyKB", "description": "My knowledge base", "roleArn": "arn:aws:iam::111122223333:role/service-role/AmazonBedrockExecutionRoleForKnowledgeBase_123", "knowledgeBaseConfiguration": { "type": "VECTOR", "vectorKnowledgeBaseConfiguration": { "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0", "embeddingModelConfiguration": { "bedrockEmbeddingModelConfiguration": { "dimensions": 1024, "embeddingDataType": "BINARY" } }, "supplementalDataStorageConfiguration": { "storageLocations": [ { "s3Location": { "uri": "arn:aws:s3:::MyBucket" }, "type": "S3" } ] } } }, "storageConfiguration": { "opensearchServerlessConfiguration": { "collectionArn": "arn:aws:aoss:us-east-1:111122223333:collection/abcdefghij1234567890", "fieldMapping": { "metadataField": "metadata", "textField": "text", "vectorField": "vector" }, "vectorIndexName": "MyVectorIndex" } } }