Amazon Bedrock 지식 기반 생성 - Amazon Bedrock

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

Amazon Bedrock 지식 기반 생성

Amazon Bedrock 지식 기반을 생성하여 독점 데이터에서 정보를 검색하고 응답을 생성하여 자연어 질문에 답변할 수 있습니다. 지식 기반 생성의 일환으로 데이터 소스와 원하는 벡터 스토어를 구성합니다.

참고

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

선택한 메서드에 해당하는 탭을 선택하고 다음 단계를 따릅니다.

Console
지식 기반을 생성하려면
  1. Amazon Bedrock 권한이 있는 역할을 AWS Management Console 사용하여 에 로그인하고 에서 Amazon Bedrock 콘솔을 엽니다https://console.aws.amazon.com/bedrock/. IAM

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

  3. 지식 기반 섹션에서 지식 기반 생성을 선택합니다.

  4. 지식 기반 세부 정보 제공 페이지에서 다음 구성을 설정합니다.

    1. (선택 사항) 지식 기반 세부 정보 섹션에서 기본 이름을 변경하고 지식 기반에 대한 설명을 제공합니다.

    2. IAM 권한 섹션에서 다른 AWS 서비스에 액세스할 수 있는 Amazon Bedrock 권한을 제공하는 AWS Identity and Access Management (IAM) 역할을 선택합니다. Amazon Bedrock이 서비스 역할을 생성하도록 하거나 생성한 사용자 지정 역할을 선택할 수 있습니다.

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

    4. Next(다음)을 선택합니다.

  5. 데이터 소스 선택 페이지에서 지식 기반에 사용할 데이터 소스를 선택합니다.

    1. 선택한 데이터 소스의 연결 구성 단계를 따릅니다. 지원되는 데이터 소스를 참조하여 데이터 소스를 선택하고 콘솔 연결 구성 단계를 따릅니다.

    2. (선택 사항) 데이터 소스 구성의 일부로 다음 고급 설정을 구성하려면 고급 설정 - 선택 사항 섹션을 확장합니다.

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

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

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

      • 삭제: 지식 기반 또는 데이터 소스 리소스 삭제 시 벡터 임베딩으로 변환된 모든 데이터를 데이터 소스에서 삭제합니다. 벡터 스토어 자체는 삭제되지 않고 데이터만 삭제됩니다. AWS 계정이 삭제되면 이 플래그는 무시됩니다.

      • 보존: 지식 기반 또는 데이터 소스 리소스 삭제 시 벡터 임베딩으로 변환되는 데이터 소스의 모든 데이터를 보존합니다. 지식 기반 또는 데이터 소스 리소스를 삭제하면 벡터 스토어 자체가 삭제되지 않습니다.

    3. 다음 콘텐츠 청크 및 구문 분석 설정을 데이터 소스 구성의 일부로 구성하려면 콘텐츠 청크 및 구문 분석 섹션으로 이동합니다.

      다음 청킹 옵션 중 하나를 선택합니다.

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

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

      • 계층적 청크: 상위 하위 청크의 중첩 구조로 구성된 콘텐츠입니다. 최대 상위 청크 토큰 크기와 최대 하위 청크 토큰 크기를 설정합니다. 또한 연속 상위 청크와 연속 하위 청크 간에 중첩 토큰의 절대 수를 설정합니다.

      • 의미적 청크: 의미적으로 유사한 텍스트 청크 또는 문장 그룹으로 구성된 콘텐츠입니다. 대상/현재 문장을 둘러싼 최대 문장 수를 그룹화(버퍼 크기)하도록 설정합니다. 텍스트를 의미 있는 청크로 나누기 위한 중단점 백분위수 임계값도 설정합니다. 의미 체계 청킹은 파운데이션 모델을 사용합니다. 파운데이션 모델의 비용에 대한 자세한 내용은 Amazon Bedrock 요금을 참조하세요.

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

      참고

      데이터 소스를 생성한 후에는 청킹 전략을 변경할 수 없습니다.

      Amazon Bedrock의 파운데이션 모델을 사용하여 문서를 구문 분석하여 표준 텍스트보다 더 많이 구문 분석할 수 있습니다. 예를 들어 구조가 손상되지 않은 문서 내에서 테이블 형식의 데이터를 구문 분석할 수 있습니다. 파운데이션 모델의 비용에 대한 자세한 내용은 Amazon Bedrock 요금을 참조하세요.

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

    4. 다음을 선택합니다.

  6. 임베딩 모델 선택 및 벡터 스토어 구성 페이지에서 지원되는 임베딩 모델을 선택하여 데이터를 지식 기반용 벡터 임베딩으로 변환합니다.

  7. 벡터 스토어 섹션에서 다음 옵션 중 하나를 선택하여 지식 기반에 벡터 임베딩을 저장합니다.

    • 빠른 새 벡터 스토어 생성 - Amazon Bedrock이 Amazon OpenSearch Serverless 벡터 검색 컬렉션을 생성합니다. 이 옵션을 사용하면 필수 필드와 필요한 구성을 사용하여 퍼블릭 벡터 검색 컬렉션과 벡터 인덱스가 설정됩니다. 컬렉션이 생성된 후 Amazon OpenSearch Serverless 콘솔 또는 를 통해 관리할 수 있습니다 AWS API. 자세한 내용은 Amazon OpenSearch Service 개발자 안내서의 벡터 검색 컬렉션 작업을 참조하세요. 이 옵션을 선택하면 필요에 따라 다음 설정을 활성화할 수 있습니다.

      1. 인프라 장애 시 벡터 스토어의 가용성이 저하되지 않도록 중복 활성 복제본을 활성화하려면 중복 활성화(활성 복제본)를 선택합니다.

        참고

        지식 기반을 테스트하는 동안 이 옵션을 비활성화한 상태로 두는 것이 좋습니다. 프로덕션에 배포할 준비가 되면 중복 활성 복제본을 활성화하는 것이 좋습니다. 요금에 대한 자세한 내용은 OpenSearch 서버리스 요금 섹션을 참조하세요.

      2. 고객 관리형 키로 자동 벡터 스토어를 암호화하려면 Amazon OpenSearch Serverless 벡터에 고객 관리형 KMS 키 추가 - 선택 사항 을 선택하고 키를 선택합니다. 자세한 내용은 Amazon OpenSearch 서비스에 전달되는 정보의 암호화 단원을 참조하십시오.

    • 생성한 벡터 스토어 선택 - 이미 생성한 벡터 스토어의 서비스를 선택합니다. 필드를 채워 Amazon Bedrock이 지식 기반에서 벡터 스토어로 정보를 매핑하여 벡터 임베딩을 저장, 업데이트 및 관리할 수 있도록 합니다. 필드에 대한 자세한 내용은 지원되는 자체 벡터 스토어 설정을 참조하세요.

      참고

      Amazon OpenSearch Serverless, Amazon Aurora 또는 MongoDB Atlas에서 데이터베이스를 사용하는 경우 필드 매핑 아래에 필드를 미리 구성해야 합니다. 에서 데이터베이스를 사용하는 경우 Pinecone 또는 Redis Enterprise Cloud, 여기에서 이러한 필드의 이름을 제공하면 Amazon Bedrock이 벡터 스토어에서 동적으로 해당 필드를 생성합니다.

  8. 다음을 선택합니다.

  9. 검토 및 생성 페이지에서 지식 기반의 구성 및 세부 정보를 확인합니다. 수정해야 하는 섹션에서 편집을 선택합니다. 수정 사항에 만족하면 지식 기반 생성을 선택합니다.

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

API

지식 기반을 생성하려면 Agents for Amazon Bedrock 빌드 타임 엔드포인트CreateKnowledgeBase 요청을 보내고 이름, 설명, 수행할 작업에 대한 지침 및 오케스트레이션할 파운데이션 모델을 제공합니다.

참고

Amazon Bedrock이 Amazon OpenSearch Service에서 벡터 스토어를 생성하고 관리하도록 하려면 콘솔을 사용합니다. 자세한 내용은 Amazon Bedrock 지식 기반 생성 단원을 참조하십시오.

  • roleArn 필드에 지식 기반을 생성할 수 ARN 있는 권한을 에 제공합니다.

  • knowledgeBaseConfiguration 객체의 embeddingModelArn 필드에 사용할 벡터 임베딩 모델을 제공합니다. 지식 기반은 지원되는 모델을 참조하세요.

    지식 기반에 지원되는 모델을 사용하려면 모델 액세스를 활성화해야 합니다. 데이터를 벡터 임베딩으로 변환하는 데 필요한 모델 Amazon 리소스 이름(ARN)을 기록해 둡니다. 선택한 모델의 모델 ID를 지식 기반에 복사하고 모델 리소스 유형에 대해 제공된 ARN 예제에 따라 모델(리소스) ID를 ARN 사용하여 모델을 구성합니다.

  • storageConfiguration 객체에 벡터 저장소에 맞는 구성을 입력합니다. 자세한 내용은 지식 베이스를 위한 자체 벡터 스토어의 전제 조건 단원을 참조하세요.

    • Amazon OpenSearch Service 데이터베이스의 경우 opensearchServerlessConfiguration 객체를 사용합니다.

    • 의 경우 Pinecone 데이터베이스에서 pineconeConfiguration 객체를 사용합니다.

    • 의 경우 Redis Enterprise Cloud 데이터베이스에서 redisEnterpriseCloudConfiguration 객체를 사용합니다.

    • Amazon Aurora 데이터베이스의 경우 rdsConfiguration 객체를 사용합니다.

    • MongoDB Atlas 데이터베이스의 경우 mongodbConfiguration 객체를 사용합니다.

지식 기반을 생성한 후 지식 기반에 대한 문서 또는 콘텐츠가 포함된 데이터 소스를 생성합니다. 데이터 소스를 생성하려면 CreateDataSource 요청을 보냅니다. 지원되는 데이터 소스를 참조하여 데이터 소스를 선택하고 API 연결 구성 예제를 따릅니다.

  • dataSourceConfiguration 필드에 데이터 소스 파일의 연결 정보를 제공합니다.

  • vectorIngestionConfiguration 필드에서 데이터 소스를 청크하는 방법을 지정합니다.

    참고

    데이터 소스를 생성한 후에는 청킹 구성을 변경할 수 없습니다.

  • 데이터 소스에 dataDeletionPolicy 대한 를 제공합니다. 지식 기반 또는 데이터 소스 리소스를 삭제하면 벡터 임베딩으로 변환되는 데이터 소스의 DELETE 모든 데이터를 사용할 수 있습니다. AWS 계정이 삭제되면 이 플래그는 무시됩니다. 지식 기반 또는 데이터 소스 리소스를 삭제하면 벡터 임베딩으로 변환되는 데이터 소스의 RETAIN 모든 데이터를 사용할 수 있습니다. 지식 기반 또는 데이터 소스 리소스를 삭제하면 벡터 스토어 자체가 삭제되지 않습니다.

  • (선택 사항) 데이터를 임베딩으로 변환하는 동안 Amazon Bedrock은 기본적으로 데이터를 AWS 소유하고 관리하는 키로 암호화합니다. 자체 KMS 키를 사용하려면 serverSideEncryptionConfiguration 객체에 포함합니다. 자세한 내용은 지식 기반 리소스 암호화 단원을 참조하십시오.

지식 기반에 대한 보안 구성 설정

지식 기반을 생성한 후에는 다음 보안 구성을 설정해야 할 수 있습니다.

지식 기반에 대한 데이터 액세스 정책 설정

사용자 지정 역할 를 사용하는 경우 새로 생성된 지식 기반에 대한 보안 구성을 설정합니다. Amazon Bedrock이 서비스 역할을 생성하도록 하면 이 단계를 건너뛸 수 있습니다. 설정한 데이터베이스에 해당하는 탭의 단계를 따릅니다.

Amazon OpenSearch Serverless

Amazon OpenSearch Serverless 컬렉션에 대한 액세스를 지식 기반 서비스 역할로 제한하려면 데이터 액세스 정책을 생성합니다. 다음과 같은 방법으로 수행할 수 있습니다.

다음 데이터 액세스 정책을 사용하여 Amazon OpenSearch Serverless 컬렉션과 서비스 역할을 지정합니다.

[ { "Description": "${data access policy description}", "Rules": [ { "Resource": [ "index/${collection_name}/*" ], "Permission": [ "aoss:DescribeIndex", "aoss:ReadDocument", "aoss:WriteDocument" ], "ResourceType": "index" } ], "Principal": [ "arn:aws:iam::${account-id}:role/${kb-service-role}" ] } ]
Pinecone, Redis Enterprise Cloud or MongoDB Atlas

를 통합하려면 Pinecone, Redis Enterprise CloudMongoDB Atlas 벡터 인덱스인 는 지식 기반 서비스 역할에 다음 자격 증명 기반 정책을 연결하여 벡터 인덱스의 AWS Secrets Manager 보안 암호에 액세스할 수 있도록 합니다.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "bedrock:AssociateThirdPartyKnowledgeBase" ], "Resource": "*", "Condition": { "StringEquals": { "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:iam::${region}:${account-id}:secret:${secret-id}" } } }] }

Amazon OpenSearch Serverless 지식 기반에 대한 네트워크 액세스 정책 설정

프라이빗 Amazon OpenSearch Serverless 컬렉션을 지식 기반에 사용하는 경우 엔드포인트를 통해서만 AWS PrivateLink VPC 액세스할 수 있습니다. Amazon OpenSearch Serverless 벡터 컬렉션을 설정할 때 프라이빗 Amazon OpenSearch Serverless 컬렉션을 생성하거나 네트워크 액세스 정책을 구성할 때 기존 Amazon OpenSearch Serverless 컬렉션(Amazon Bedrock 콘솔에서 생성한 컬렉션 포함)을 프라이빗으로 만들 수 있습니다.

Amazon OpenSearch Service 개발자 안내서의 다음 리소스는 프라이빗 Amazon OpenSearch Serverless 컬렉션에 필요한 설정을 이해하는 데 도움이 됩니다.

Amazon Bedrock 지식 기반이 프라이빗 Amazon OpenSearch Serverless 컬렉션에 액세스하도록 허용하려면 Amazon Bedrock을 소스 서비스로 허용하도록 Amazon OpenSearch Serverless 컬렉션에 대한 네트워크 액세스 정책을 편집해야 합니다. 선택한 메서드에 해당하는 탭을 선택하고 다음 단계를 따릅니다.

Console
  1. 에서 Amazon OpenSearch Service 콘솔을 엽니다https://console.aws.amazon.com/aos/.

  2. 왼쪽 탐색 창에서 컬렉션 을 선택합니다. 그런 다음 컬렉션을 선택합니다.

  3. 네트워크 섹션에서 연결된 정책 을 선택합니다.

  4. 편집을 선택합니다.

  5. 정책 정의 방법 선택 에서 다음 중 하나를 수행합니다.

    • 정책 정의 선택 방법을 시각적 편집기로 두고 규칙 1 섹션에서 다음 설정을 구성합니다.

      1. (선택 사항) 규칙 이름 필드에 네트워크 액세스 규칙의 이름을 입력합니다.

      2. 의 컬렉션 액세스에서 프라이빗(권장)을 선택합니다.

      3. AWS 서비스 프라이빗 액세스 를 선택합니다. 텍스트 상자에 를 입력합니다bedrock.amazonaws.com.

      4. OpenSearch 대시보드에 대한 액세스 활성화를 선택 취소합니다.

    • JSON 편집기 에서 다음 정책을 JSON 선택하고 붙여넣습니다.

      [ { "AllowFromPublic": false, "Description":"${network access policy description}", "Rules":[ { "ResourceType": "collection", "Resource":[ "collection/${collection-id}" ] }, ], "SourceServices":[ "bedrock.amazonaws.com" ] } ]
  6. 업데이트를 선택합니다.

API

Amazon OpenSearch Serverless 컬렉션의 네트워크 액세스 정책을 편집하려면 다음을 수행합니다.

  1. OpenSearch Serverless 엔드포인트GetSecurityPolicy 요청을 보냅니다. 정책의 name를 지정하고 를 type로 지정합니다network. 응답의 policyVersion에 주의하세요.

  2. OpenSearch Serverless 엔드포인트UpdateSecurityPolicy 요청을 보냅니다. 최소한 다음 필드를 지정합니다.

    필드 설명
    name 정책의 이름입니다.
    policyVersion 응답에서 policyVersion 가 반환되었습니다GetSecurityPolicy.
    type 보안 정책의 유형입니다. network를 지정합니다.
    정책 사용할 정책입니다. 다음 JSON 객체 지정
    [ { "AllowFromPublic": false, "Description":"${network access policy description}", "Rules":[ { "ResourceType": "collection", "Resource":[ "collection/${collection-id}" ] }, ], "SourceServices":[ "bedrock.amazonaws.com" ] } ]

AWS CLI 예제는 데이터 액세스 정책 생성(AWS CLI)을 참조하세요.

  • 네트워크 정책 생성(콘솔)의 단계에 따라 Amazon OpenSearch Service 콘솔을 사용합니다. 네트워크 정책을 생성하는 대신 컬렉션 세부 정보의 네트워크 하위 섹션에 연결된 정책을 기록해 둡니다.