지식 기반 생성 - Amazon Bedrock

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

지식 기반 생성

참고

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

지식 베이스를 만드는 과정에서 데이터 소스와 원하는 벡터 저장소를 구성합니다.

선택한 방법에 해당하는 탭을 선택하고 단계를 따르세요.

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

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

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

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

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

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

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

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

  5. 데이터 원본 선택 페이지에서 지식창고에 사용할 데이터 원본을 선택합니다.

    1. 선택한 데이터 원본의 연결 구성 단계를 따르세요. 지원되는 데이터 원본을 참조하여 데이터 원본을 선택하고 콘솔 연결 구성 단계를 따르세요.

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

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

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

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

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

      • 보존: 지식 기반 또는 데이터 원본 리소스 삭제 시 벡터 임베딩으로 변환된 데이터 원본의 모든 데이터를 보존합니다. 지식 기반이나 데이터 소스 리소스를 삭제해도 벡터 저장소 자체는 삭제되지 않는다는 점에 유의하세요.

    3. 데이터 소스 구성의 일부로 다음과 같은 콘텐츠 청크 및 파싱 설정을 구성하려면 콘텐츠 청크 및 파싱 섹션으로 이동하세요.

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

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

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

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

      • 시맨틱 청킹: 콘텐츠를 의미상 유사한 텍스트 청크 또는 문장 그룹으로 정리합니다. 대상/현재 문장을 둘러싸고 그룹화할 최대 문장 수 (버퍼 크기) 를 설정합니다. 또한 텍스트를 의미 있는 청크로 나누기 위한 중단점 백분위수 임계값을 설정합니다. 시맨틱 청킹은 기초 모델을 사용합니다. 기초 모델 비용에 대한 자세한 내용은 Amazon Bedrock 가격 책정을 참조하십시오.

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

      참고

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

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

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

    4. 다음을 선택합니다.

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

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

    • 새 벡터 스토어를 빠르게 생성 — Amazon Bedrock은 Amazon OpenSearch 서버리스 벡터 검색 컬렉션을 자동으로 생성합니다. 이 옵션을 사용하면 필수 필드와 필요한 구성으로 퍼블릭 벡터 검색 컬렉션 및 벡터 인덱스가 자동으로 설정됩니다. 컬렉션이 생성되면 Amazon OpenSearch Serverless 콘솔에서 또는 를 통해 관리할 수 있습니다. 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 콘솔을 사용하십시오. 자세한 내용은 지식 기반 생성 단원을 참조하십시오.

  • 현장에서 지식 베이스를 만들 수 ARN 있는 권한을 제공하십시오. roleArn

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

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

    • Amazon OpenSearch 서비스 데이터베이스의 경우 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 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. 에서 Amazon OpenSearch 서비스 콘솔을 엽니다 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 서버리스 GetSecurityPolicy엔드포인트로 요청을 보내십시오. 정책을 지정하고 type network as를 지정합니다. name 응답의 policyVersion에 주의하세요.

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

    필드 설명
    name 정책의 이름입니다.
    policyVersion 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) 을 참조하십시오.