지식 기반 생성 - Amazon Bedrock

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

지식 기반 생성

참고

루트 사용자로는 지식창고를 만들 수 없습니다. 이 단계를 시작하기 전에 IAM 사용자로 로그인하십시오.

Amazon S3에 데이터 소스를 설정하고 원하는 벡터 스토어를 설정한 후 지식 베이스를 생성할 수 있습니다. 선택한 방법에 해당하는 탭을 선택하고 단계를 따르십시오.

Console
지식 기반을 생성하려면
  1. 에 AWS Management Console로그인하고 https://console.aws.amazon.com/bedrock/ 에서 Amazon Bedrock 콘솔을 엽니다.

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

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

  4. 지식창고 세부정보 제공 페이지에서 다음과 같은 구성을 설정합니다.

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

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

    3. (선택 사항) 지식창고에 태그를 추가합니다. 자세한 정보는 리소스 태깅을 참조하세요.

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

  5. 데이터 원본 설정 페이지에서 지식창고에 사용할 데이터 원본 정보를 입력합니다.

    1. (선택 사항) 기본 데이터 원본 이름을 변경합니다.

    2. 데이터 원본 위치로 현재 계정 또는 기타 계정을 선택합니다.

    3. 준비한 데이터 소스의 파일이 들어 있는 객체의 S3 URI를 제공하십시오. 기타 계정을 선택하는 경우 다른 계정의 Amazon S3 버킷 정책, AWS KMS 키 정책 및 현재 계정의 지식 기반 역할을 업데이트해야 할 수 있습니다.

      참고

      생성하려는 지식 베이스와 동일한 리전에 있는 Amazon S3 버킷을 선택합니다. 그렇지 않으면 데이터 원본이 동기화되지 않습니다.

    4. 고객 관리 키로 Amazon S3 데이터를 암호화한 경우 Amazon S3 데이터에 대한 고객 관리 AWS KMS 키 추가를 선택하고 Amazon Bedrock에서 암호를 해독할 수 있도록 KMS 키를 선택합니다. 자세한 정보는 Amazon OpenSearch 서비스에 전달되는 정보의 암호화을 참조하세요.

    5. (선택 사항) 다음 고급 설정을 구성하려면 고급 설정 - 선택 섹션을 확장합니다.

      1. 데이터를 임베딩으로 변환하는 동안 Amazon Bedrock은 기본적으로 AWS 소유하고 관리하는 키를 사용하여 데이터를 암호화합니다. 고유한 KMS 키를 사용하려면 고급 설정을 확장하고 암호화 설정 사용자 지정 (고급) 을 선택한 다음 키를 선택합니다. 자세한 정보는 데이터 모으기 중 임시 데이터 스토리지의 암호화을 참조하세요.

      2. 데이터 원본의 청킹 전략을 위한 다음 옵션 중에서 선택하십시오.

        • 기본 청크 - 기본적으로 Amazon Bedrock은 소스 데이터를 청크로 자동 분할하여 각 청크에 최대 300개의 토큰이 포함되도록 합니다. 문서에 포함된 토큰이 300개 미만인 경우 더 이상 분할되지 않습니다.

        • 고정 크기 청크 - Amazon Bedrock은 소스 데이터를 사용자가 설정한 대략적인 크기의 청크로 분할합니다. 다음 옵션을 구성합니다.

          • 최대 토큰 수 - Amazon Bedrock은 사용자가 선택한 토큰 수를 초과하지 않도록 청크를 생성합니다.

          • 청크 간 중복 비율 - 각 청크는 선택한 백분율에 따라 연속된 청크와 중복됩니다.

        • 청크 없음 - Amazon Bedrock은 각 파일을 하나의 청크로 취급합니다. 이 옵션을 선택하면 문서를 별도의 파일로 분할하여 사전 처리하는 것이 좋습니다.

        참고

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

      3. 데이터 원본의 데이터 삭제 정책에 대한 다음 옵션 중에서 선택하십시오.

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

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

    6. 다음을 선택합니다.

  6. 임베딩 모델 섹션에서 지원되는 임베딩 모델을 선택하여 데이터를 지식 베이스의 벡터 임베딩으로 변환하십시오.

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

    • 새 벡터 스토어를 빠르게 생성 — Amazon Bedrock은 Amazon OpenSearch 서버리스 벡터 검색 컬렉션을 자동으로 생성합니다. 이 옵션을 사용하면 필수 필드와 필요한 구성으로 퍼블릭 벡터 검색 컬렉션 및 벡터 인덱스가 자동으로 설정됩니다. 컬렉션이 생성되면 Amazon OpenSearch 서버리스 콘솔에서 또는 AWS API를 통해 관리할 수 있습니다. 자세한 내용은 Amazon OpenSearch Service 개발자 안내서의 벡터 검색 컬렉션 사용을 참조하십시오. 이 옵션을 선택하면 다음 설정을 선택적으로 활성화할 수 있습니다.

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

        참고

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

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

    • 생성한 벡터 스토어 선택 — 이미 생성한 벡터 데이터베이스가 포함된 서비스를 선택합니다. Amazon Bedrock이 지식 기반의 정보를 데이터베이스에 매핑하여 임베딩을 저장, 업데이트, 관리할 수 있도록 필드를 채웁니다. 이러한 필드가 생성된 필드에 매핑되는 방식에 대한 자세한 내용은 을 참조하십시오지원되는 벡터 스토어에서 지식 베이스의 벡터 색인을 설정합니다..

      참고

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

  8. 다음을 선택합니다.

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

  10. 지식 기반을 생성하는 데 걸리는 시간은 제공한 데이터의 크기에 따라 다릅니다. 지식창고 만들기가 완료되면 지식창고 상태가 준비됨으로 변경됩니다.

API

지식 베이스를 생성하려면 Agents for Amazon Bedrock 빌드 타임 엔드포인트와 함께 CreateKnowledgeBase요청을 보내고 이름, 설명, 수행해야 하는 작업에 대한 지침, 오케스트레이션에 사용할 기본 모델을 제공하십시오.

참고

Amazon Bedrock에서 Amazon Service에서 벡터 스토어를 생성하고 관리하도록 하려면 OpenSearch 콘솔을 사용하십시오. 자세한 정보는 지식 기반 생성을 참조하세요.

  • roleArn 필드에서 지식 기반을 만들 수 있는 권한을 ARN에 입력합니다.

  • embeddingModelArn 필드에서 사용할 임베딩 모델을 knowledgeBaseConfiguration 객체에 입력합니다.

  • storageConfiguration 객체에 벡터 저장소에 맞는 구성을 입력합니다. 자세한 내용은 지원되는 벡터 스토어에서 지식 베이스의 벡터 색인을 설정합니다.단원을 참조하세요.

    • Amazon OpenSearch 서비스 데이터베이스의 경우 opensearchServerlessConfiguration 객체를 사용하십시오.

    • Pinecone데이터베이스의 경우 pineconeConfiguration 객체를 사용하십시오.

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

    • Amazon Aurora 데이터베이스의 경우 객체를 사용하십시오. rdsConfiguration

    • MongoDB Atlas 데이터베이스의 경우 객체를 사용하십시오. mongodbConfiguration

지식베이스를 생성한 후 S3 버킷에서 지식창고용 파일이 들어 있는 데이터 원본을 생성합니다. 데이터 소스를 생성하려면 CreateDataSource요청을 보내십시오.

  • dataSourceConfiguration필드에 데이터 소스 파일이 들어 있는 S3 버킷에 대한 정보를 입력합니다.

  • 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 Cloud, MongoDB Atlas 벡터 인덱스를 통합하려면 다음 ID 기반 정책을 지식창고 서비스 역할에 첨부하여 벡터 인덱스의 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 서버리스 지식 베이스에 대한 네트워크 액세스 정책을 설정합니다.

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

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

Amazon Bedrock 지식 베이스에서 프라이빗 Amazon OpenSearch 서버리스 컬렉션에 액세스할 수 있도록 허용하려면 Amazon Bedrock을 소스 서비스로 허용하도록 Amazon OpenSearch 서버리스 컬렉션에 대한 네트워크 액세스 정책을 편집해야 합니다. 선택한 방법에 해당하는 탭을 선택하고 단계를 따르십시오.

Console
  1. https://console.aws.amazon.com/aos/ 에서 아마존 OpenSearch 서비스 콘솔을 엽니다.

  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 서버리스 GetSecurityPolicy엔드포인트로 요청을 보내십시오. 정책을 지정하고 type network as를 지정합니다. name 응답의 policyVersion에 주의하세요.

  2. OpenSearch 서버리스 엔드포인트로 UpdateSecurityPolicy요청을 보냅니다. 최소한 다음 필드를 지정하십시오.

    필드 설명
    이름 정책의 이름입니다.
    정책/버전 답변에서 GetSecurityPolicy 귀하에게 policyVersion 반환되었습니다.
    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) 을 참조하십시오.