기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
지식 기반에 대해 생성된 벡터 저장소 사용의 사전 조건
문서가 변환되는 벡터 임베딩을 저장하려면 벡터 스토어를 사용합니다. Amazon Bedrock Knowledge Bases은 일부 벡터 스토어에 대한 빠른 생성 흐름을 지원하므로 Amazon Bedrock이 이러한 벡터 스토어 중 하나에서 자동으로 벡터 인덱스를 생성하도록 하려면 이 사전 조건을 건너뛰고 Amazon Bedrock Knowledge Bases에서 데이터 소스에 연결하여 지식 기반 생성로 진행합니다.
표준 부동 소수점(float32) 벡터 임베딩 대신 바이너리 벡터 임베딩을 저장하려면 바이너리 벡터를 지원하는 벡터 스토어를 사용해야 합니다.
참고
Amazon OpenSearch Serverless 및 Amazon OpenSearch Managed 클러스터는 바이너리 벡터 저장을 지원하는 유일한 벡터 스토어입니다.
지원되는 자체 벡터 스토어를 설정하여 데이터의 벡터 임베딩 표현을 인덱싱할 수 있습니다. 다음 데이터에 대한 필드를 만듭니다.
-
선택한 임베딩 모델에 의해 데이터 소스의 텍스트에서 생성된 벡터의 필드입니다.
-
데이터 소스의 파일에서 추출된 텍스트 청크의 필드입니다.
-
Amazon Bedrock이 관리하는 소스 파일 메타데이터의 필드입니다.
-
(Amazon Aurora 데이터베이스를 사용 중이고 메타데이터에 필터링을 설정하려는 경우) 소스 파일에 연결한 메타데이터의 필드입니다. 다른 벡터 스토어에서 필터링을 설정하려면 필터링을 위해 이러한 필드를 설정할 필요가 없습니다.
KMS 키를 사용하여 타사 벡터 스토어를 암호화할 수 있습니다. 자세한 내용은 지식 기반 리소스의 암호화를 참조하세요.
벡터 인덱스를 만드는 데 사용할 벡터 스토어 서비스에 해당하는 탭을 선택합니다.
참고
임베딩 모델 및 벡터 차원을 선택하면 사용 가능한 벡터 스토어 선택에 영향을 미칠 수 있습니다. 원하는 벡터 스토어를 사용할 수 없는 경우 임베딩 모델 및 벡터 차원과 호환되는 옵션을 선택합니다.
- Amazon OpenSearch Serverless
-
-
의 Amazon OpenSearch Serverless에서 권한을 구성하고 벡터 검색 컬렉션을 생성하려면 Amazon OpenSearch Service 개발자 안내서의 벡터 검색 컬렉션 작업의 1단계와 2단계를 AWS Management 콘솔따르세요. 컬렉션을 설정하는 과정에서 다음 고려 사항에 유의하세요.
-
컬렉션에 원하는 이름과 설명을 지정합니다.
-
컬렉션을 비공개로 설정하려면 보안 섹션에서 표준 생성을 선택합니다. 그런 다음 네트워크 액세스 설정 섹션에서 액세스 유형으로 VPC를 선택하고 VPC 엔드포인트를 선택합니다. Amazon OpenSearch Serverless 컬렉션의 VPC 엔드포인트 설정에 대한 자세한 내용은 Amazon OpenSearch Service 개발자 안내서의 인터페이스 엔드포인트(AWS PrivateLink)를 사용하여 Amazon OpenSearch Serverless에 액세스를 참조하세요.
-
-
컬렉션이 만들어지면 지식 기반을 만들 때 사용할 수 있도록 컬렉션 ARN을 기록해 둡니다.
-
왼쪽 탐색 창에서 서버리스 아래의 컬렉션을 선택합니다. 그런 다음 벡터 검색 컬렉션을 선택합니다.
-
인덱스 탭을 선택합니다. 그런 다음 벡터 인덱스 생성을 선택합니다.
-
벡터 인덱스 세부 정보 섹션에서 벡터 인덱스 이름 필드에 인덱스의 이름을 입력합니다.
-
벡터 필드 섹션에서 벡터 필드 추가를 선택합니다. Amazon Bedrock은 데이터 소스의 벡터 임베딩을 이 필드에 저장합니다. 다음과 같은 구성을 제공하세요.
-
벡터 필드 이름 - 필드의 이름을 입력합니다(예:
embeddings). -
엔진 - 검색에 사용되는 벡터 엔진입니다. faiss를 선택합니다.
-
차원 - 벡터의 차원 개수입니다. 벡터에 얼마나 많은 차원을 포함해야 하는지 확인하려면 다음 테이블을 참조하세요.
모델 측정기준 Titan G1 Embeddings - Text 1,536 Titan V2 Embeddings - Text 1,024, 512 및 256 Cohere Embed English 1,024 Cohere Embed Multilingual 1,024 -
거리 지표 - 벡터 간의 유사성을 측정하는 데 사용되는 지표입니다. 부동 소수점 벡터 임베딩에는 유클리드를 사용하는 것이 좋습니다.
-
-
메타데이터 관리 섹션을 확장하고 두 개의 필드를 추가하여 벡터 인덱스를 구성하고, 지식 기반이 벡터를 통해 검색할 수 있는 추가 메타데이터를 저장합니다. 다음 테이블에서는 필드와 각 필드에 지정할 값을 설명합니다.
필드 설명 필드 매핑 데이터 유형 필터링 가능 Amazon Bedrock이 데이터의 원시 텍스트를 청크로 분할한 후 청크를 이 필드에 저장합니다. 선택한 이름(예: text)문자열 True Amazon Bedrock이 지식 기반과 관련된 메타데이터를 이 필드에 저장합니다. 선택한 이름(예: bedrock-metadata)문자열 False -
지식 기반을 만들 때 사용할 수 있도록 벡터 인덱스 이름, 벡터 필드 이름, 메타데이터 관리 매핑 필드 이름에 대해 선택한 이름을 기록해 둡니다. 그런 다음 생성을 선택합니다.
벡터 인덱스가 만들어진 후 지식 기반 생성을 진행할 수 있습니다. 다음 테이블에는 기록해 둔 각 정보를 입력할 위치가 요약되어 있습니다.
Field 지식 기반 설정의 해당 필드(콘솔) 지식 기반 설정의 해당 필드(API) 설명 컬렉션 ARN 컬렉션 ARN collectionARN 벡터 검색 컬렉션의 Amazon 리소스 이름(ARN)입니다. 벡터 인덱스 이름 벡터 인덱스 이름 vectorIndexName 벡터 인덱스의 이름입니다. 벡터 필드 이름 벡터 필드 vectorField 데이터 소스에 대한 벡터 임베딩을 저장할 필드의 이름입니다. 메타데이터 관리(첫 번째 매핑 필드) 텍스트 필드 textField 데이터 소스의 원시 텍스트를 저장할 필드의 이름입니다. 메타데이터 관리(두 번째 매핑 필드) Bedrock 관리형 메타데이터 필드 metadataField Amazon Bedrock이 관리하는 메타데이터를 저장할 필드의 이름입니다. Amazon OpenSearch Serverless에서 벡터 스토어를 설정하는 방법에 대한 자세한 설명서는 Amazon OpenSearch Service 개발자 안내서의 벡터 검색 컬렉션 작업하기를 참조하세요.
-
- Amazon OpenSearch Service Managed Clusters
-
중요
-
OpenSearch 관리형 클러스터에서 도메인 리소스를 사용하기 전에 특정 IAM 액세스 권한 및 정책을 구성해야 합니다. 자세한 내용은 Amazon Bedrock Knowledge Bases에서 OpenSearch 관리형 클러스터를 사용하는 데 필요한 사전 조건 및 권한 단원을 참조하십시오.
-
데이터 수집에 실패하면 OpenSearch 도메인 용량이 부족한 것일 수 있습니다. 이 문제를 해결하려면 더 높은 IOPS를 프로비저닝하고 처리량 설정을 늘려 도메인의 용량을 늘리세요. 자세한 내용은 Amazon OpenSearch Service 운영 모범 사례를 참조하세요.
-
AWS Management 콘솔의 OpenSearch 클러스터에서 도메인 및 벡터 인덱스를 생성하려면 Amazon OpenSearch Service 개발자 안내서의 OpenSearch Service 도메인 생성 및 관리에 설명된 단계를 따릅니다.
도메인을 설정하는 과정에서 다음 고려 사항에 유의하세요.
-
도메인에 원하는 이름을 지정합니다.
-
도메인 생성을 빠르게 시작하려면 간편 생성 옵션을 사용하는 것이 좋습니다.
참고
이 옵션은 처리량이 낮은 도메인을 제공합니다. 처리량이 더 높은 워크로드가 있는 경우 표준 생성 옵션을 선택합니다. 필요에 따라 나중에 용량을 조정할 수 있습니다. 이 옵션을 사용하면 가장 낮은 용량으로 시작한 다음 필요에 따라 나중에 수정할 수 있습니다.
-
네트워크에서 퍼블릭 액세스를 선택해야 합니다. VPC 뒤에 있는 OpenSearch 도메인은 지식 기반에서 지원되지 않습니다.
-
버전에서 바이너리 벡터 임베딩을 사용하는 경우 Amazon Bedrock Knowledge Bases에는 엔진 버전 2.16 이상이 필요합니다. 또한 k-nn 인덱스를 생성하려면 2.13 이상의 버전이 필요합니다. 자세한 내용은 Amazon OpenSearch Service 개발자 안내서의 K-NN 검색을 참조하세요.
-
듀얼 스택 모드를 사용하는 것이 좋습니다.
-
도메인의 데이터를 보호하려면 세분화된 액세스 제어를 활성화하고, 지식 기반 서비스 역할에 OpenSearch 도메인에 대한 액세스 권한을 부여하고 요청하는 권한을 추가로 제어하는 것이 좋습니다.
-
자체 도메인을 만들려면 다른 모든 설정은 기본값으로 두고 생성을 선택합니다.
-
-
도메인이 생성되면 이를 클릭하여 지식 기반을 생성할 때에 대한 도메인 ARN 및 도메인 엔드포인트를 기록해 둡니다.
-
도메인을 생성한 후 OpenSearch 대시보드에서 다음 명령을 실행하거나 curl 명령을 사용하여 벡터 인덱스를 생성할 수 있습니다. 자세한 내용은 OpenSearch 설명서
를 참조하세요. 명령을 실행할 때:
-
벡터 필드에 이름을 제공합니다(예:
embeddings). -
검색에 사용되는 벡터가 faiss인지 확인합니다. nmslib는 지원되지 않습니다.
-
벡터의 차원 수의 경우, 벡터에 얼마나 많은 차원을 포함해야 하는지 확인하기 위해 다음 테이블을 참조하세요.
참고
Titan V2 임베딩 - 텍스트 모델은 여러 차원을 지원합니다. 256 또는 512일 수도 있습니다.
모델 측정기준 Titan G1 Embeddings - Text 1,536 Titan V2 Embeddings - Text 1,024, 512 및 256 Cohere Embed English 1,024 Cohere Embed Multilingual 1,024 -
두 개의 필드를 추가하여 벡터 인덱스를 구성하고, 지식 기반이 벡터를 통해 검색할 수 있는 추가 메타데이터를 저장합니다. 다음 테이블에서는 필드와 각각에 지정할 값을 설명합니다.
필드 설명 필드 매핑 Amazon Bedrock이 데이터의 원시 텍스트를 청크로 분할한 후 청크를 이 필드에 저장합니다. 객체로 지정됩니다. 예: AMAZON_BEDROCK_TEXT_CHUNK.Amazon Bedrock이 지식 기반과 관련된 메타데이터를 이 필드에 저장합니다. 객체로 지정됩니다. 예: AMAZON_BEDROCK_METADATA.
PUT /<index-name>{ "settings": { "index": { "knn": true } }, "mappings": { "properties": { "<vector-name>": { "type": "knn_vector", "dimension":<embedding-dimension>, "data_type": "binary", # Only needed for binary embeddings "space_type": "l2" | "hamming", # Use l2 for float embeddings and hamming for binary embeddings "method": { "name": "hnsw", "engine": "faiss", "parameters": { "ef_construction": 128, "m": 24 } } }, "AMAZON_BEDROCK_METADATA": { "type": "text", "index": "false" }, "AMAZON_BEDROCK_TEXT_CHUNK": { "type": "text", "index": "true" } } } } -
-
지식 기반을 생성할 때 사용할 벡터 인덱스 이름, 벡터 필드 이름, 메타데이터 관리 매핑 필드 이름과 함께 도메인 ARN 및 엔드포인트를 기록해 두세요.
벡터 인덱스가 만들어진 후 지식 기반 생성을 진행할 수 있습니다. 다음 테이블에는 기록해 둔 각 정보를 입력할 위치가 요약되어 있습니다.
Field 지식 기반 설정의 해당 필드(콘솔) 지식 기반 설정의 해당 필드(API) 설명 도메인 ARN 도메인 ARN domainARN OpenSearch Service 도메인의 Amazon 리소스 이름(ARN). 도메인 엔드포인트 도메인 엔드포인트 domainEndpoint OpenSearch 도메인에 연결할 엔드포인트입니다. 벡터 인덱스 이름 벡터 인덱스 이름 vectorIndexName 벡터 인덱스의 이름입니다. 벡터 필드 이름 벡터 필드 vectorField 데이터 소스에 대한 벡터 임베딩을 저장할 필드의 이름입니다. 메타데이터 관리(첫 번째 매핑 필드) 텍스트 필드 textField 데이터 소스의 원시 텍스트를 저장할 필드의 이름입니다. 메타데이터 관리(두 번째 매핑 필드) Bedrock 관리형 메타데이터 필드 metadataField Amazon Bedrock이 관리하는 메타데이터를 저장할 필드의 이름입니다. -
- Amazon S3 Vectors
-
Amazon S3 Vectors는 벡터 데이터를 저장하고 쿼리하는 데 사용할 수 있는 Amazon S3의 비용 효율적인 벡터 스토리지를 제공합니다. 1초 미만의 쿼리 성능을 갖춘 대용량 벡터 데이터세트의 내구성과 탄력적 스토리지를 제공합니다. Amazon S3 Vectors는 자주 사용하지 않는 쿼리 워크로드에 가장 적합하며 검색 증강 생성(RAG) 및 시맨틱 검색 애플리케이션에 사용할 때 비용을 절감하는 데 도움이 될 수 있습니다.
Amazon S3 Vectors에는 의미와 유사성을 기반으로 쿼리할 수 있는 벡터 인덱스가 포함된 S3 벡터 버킷이 도입되었습니다. 인프라를 프로비저닝하지 않고도 벡터 데이터를 대규모로 저장, 액세스 및 쿼리하는 동시에 1초 미만의 쿼리 응답 시간을 제공하고 비용을 절감하는 데 사용할 수 있습니다. 벡터 버킷에서 벡터 지수 내에서 벡터 데이터를 조직할 수 있습니다. 벡터 버킷에는 여러 벡터 인덱스가 있을 수 있습니다. 자세한 내용을 알아보려면 Amazon S3 사용 설명서의 Amazon S3 Vectors를 참조하세요.
참고
-
Amazon Bedrock과 Amazon S3 벡터를 모두 사용할 수 있는 모든 AWS 리전에서 Amazon S3 벡터에 대한 지식 기반을 생성할 수 있습니다. Amazon S3 Vectors의 리전별 가용성에 대한 자세한 내용은 Amazon S3 사용 설명서의 Amazon S3 Vectors를 참조하세요.
-
Amazon Bedrock 지식 기반에서 계층적 청킹과 함께 매우 높은 토큰 수를 사용하는 경우 상위-하위 청크 관계 및 계층적 컨텍스트가 Amazon S3 벡터에 필터링할 수 없는 메타데이터로 저장되므로 최대 메타데이터 크기 제한을 초과할 수 있습니다. 벡터당 메타데이터 크기 제한에 대한 자세한 내용은 Amazon S3 사용 설명서의 제한 및 제한을 참조하세요. 데이터 분리에 대한 자세한 내용은 지식 기반에서 콘텐츠 청킹 작동 방식 섹션을 참조하세요.
메타데이터 지원
메타데이터를 각 벡터에 키-값 페어로 연결할 수 있습니다. 기본적으로 메타데이터는 필터링이 가능하며 유사성 검색 쿼리에서 날짜, 범주 또는 사용자 기본 설정과 같은 조건을 기준으로 필터링하는 데 사용할 수 있습니다.
벡터 인덱스를 생성할 때 필터링할 수 없도록 메타데이터를 구성할 수도 있습니다. Amazon S3 Vectors 인덱스는 문자열, 불리언, 숫자 타입을 지원합니다.
Amazon Bedrock 지식 기반과 함께 Amazon S3 벡터를 사용하는 경우 벡터당 최대 1KB의 사용자 지정 메타데이터(필터링 가능한 메타데이터와 필터링할 수 없는 메타데이터 모두 포함)와 35개의 메타데이터 키를 연결할 수 있습니다. 벡터당 메타데이터 크기 제한에 대한 자세한 내용은 Amazon S3 사용 설명서의 제한 및 제한을 참조하세요.
메타데이터가 이러한 제한을 초과하면 벡터 인덱스를 채울 때 수집 작업에서 예외가 발생합니다. 자세한 내용을 알아보려면 Amazon S3 사용 설명서의 Amazon S3 Vectors를 참조하세요.
필수 권한
IAM 정책이 Amazon Bedrock이 S3 벡터 버킷의 벡터 인덱스에 액세스할 수 있도록 허용하는지 확인합니다. 필요한 권한에 대한 자세한 정보는 Amazon Bedrock Knowledge Bases에 대한 서비스 역할 생성 섹션을 참조하세요.
S3 벡터 버킷 및 인덱스 생성
Amazon S3 Vectors를 지식 기반과 함께 사용하려면 S3 벡터 버킷과 벡터 인덱스를 생성해야 합니다. Amazon S3 콘솔 AWS CLI또는 AWSSDK를 사용하여 벡터 버킷과 인덱스를 생성할 수 있습니다. 자세한 지침은 Amazon S3 사용 설명서의 벡터 지수 생성을 참조하세요.
Amazon S3 콘솔
에서 벡터 버킷 및 인덱스를 생성할 때 다음 고려 사항에 유의하세요. -
S3 벡터 버킷을 생성할 때 다음 고려 사항에 유의하세요.
-
고유한 벡터 버킷 이름을 제공합니다.
-
(선택 사항) Amazon S3는 Amazon S3 관리형 키(SSE-S3)를 사용한 기본 서버 측 암호화를 사용하여 데이터를 자동으로 암호화합니다. 대신이 기본 암호화를 사용할지 아니면 AWSKey Management Service 키(SSE-KMS)를 사용한 서버 측 암호화를 사용할지 선택할 수 있습니다.
참고
벡터 버킷을 만든 후에는 암호화 유형을 변경할 수 없습니다.
step-by-step 지침은 AWSKMS 키를 사용한 암호화를 참조하세요.
-
-
S3 벡터 버킷을 생성한 후에는 지식 기반을 생성할 때 벡터 버킷의 Amazon 리소스 이름(ARN)을 기록해 둡니다.
-
생성한 벡터 버킷을 선택한 다음 벡터 인덱스를 생성합니다. 벡터 인덱스를 생성할 때 다음 고려 사항에 유의하세요.
-
벡터 지수 이름 - 필드의 이름을 입력합니다(예:
embeddings). -
차원 - 벡터의 차원 개수입니다. 차원은 1에서 4096 사이의 값이어야 합니다. 다음 표를 참고하여 사용하려는 임베딩 모델에 따라 벡터가 가져야 할 차원 수를 확인하세요.
모델 측정기준 Titan G1 Embeddings - Text 1,536 Titan V2 Embeddings - Text 1,024, 512 및 256 Cohere Embed English 1,024 Cohere Embed Multilingual 1,024 -
참고
Amazon S3 Vectors는 부동 소수점 임베딩만 지원합니다. 바이너리 임베딩은 지원되지 않습니다.
거리 지표 - 벡터 간의 유사성을 측정하는 데 사용되는 지표입니다. 코사인 또는 유클리드 거리을 사용할 수 있습니다.
-
-
추가 설정을 확장하고 필터링할 수 없는 메타데이터 필드에 필터링할 수 없는 메타데이터를 제공합니다.
필터링할 수 없는 메타데이터 키는 최대 10개까지 구성할 수 있습니다. 키 추가를 선택한 다음 키로
AMAZON_BEDROCK_TEXT및AMAZON_BEDROCK_METADATA를 추가합니다. -
암호화에서 암호화 유형 지정을 선택합니다. 암호화에 버킷 설정을 사용하거나 벡터 인덱스에 대한 암호화 설정을 재정의할 수 있습니다. 버킷 수준 설정을 재정의하는 경우 벡터 인덱스의 암호화 유형을 AWSKey Management Service 키를 사용한 서버 측 암호화(SSE-KMS) 또는 Amazon S3 관리형 키를 사용한 기본 서버 측 암호화(SSE-S3)로 지정할 수 있습니다. 벡터 인덱스의 암호화 구성 설정에 대한 자세한 내용은 Amazon S3 벡터의 데이터 보호 및 암호화를 참조하세요.
-
태그(선택 사항)에서 태그를 키-값 페어로 추가하여 AWSBilling and Cost Management를 사용하여 벡터 인덱스 비용을 추적하고 구성할 수 있습니다. 키와 값을 입력합니다. 태그를 더 추가하려면 태그 추가(Add Tag)를 선택합니다. 벡터 인덱스에 최대 50개의 태그를 입력할 수 있습니다. 자세한 내용은 Amazon S3 벡터 인덱스에서 태그 사용을 참조하세요.
-
벡터 인덱스를 생성하고 지식 기반을 생성할 때 벡터 인덱스의 Amazon 리소스 이름(ARN)을 기록해 둡니다.
S3 벡터 버킷에 대한 지식 기반 생성
이 정보를 수집한 후 지식 기반을 생성할 수 있습니다. S3 벡터 버킷을 사용하여 지식 기반을 생성할 때 벡터 버킷의 ARN과 벡터 인덱스를 제공해야 합니다. 벡터 인덱스는 데이터 소스에서 생성된 임베딩을 저장합니다. 다음 표는 각 정보를 입력할 위치를 요약한 것입니다.
Field 지식 기반 설정의 해당 필드(콘솔) 지식 기반 설정의 해당 필드(API) 설명 벡터 버킷 ARN S3 벡터 버킷 ARN vectorBucketArn S3 벡터 버킷의 Amazon 리소스 이름(ARN). 벡터 인덱스 ARN S3 벡터 인덱스 ARN vectorIndexARN S3 벡터 버킷에 대한 벡터 인덱스의 Amazon 리소스 이름(ARN)입니다. -
- Amazon Aurora (RDS)
-
-
Aurora PostgreSQL을 지식 기반으로 사용에 나와 있는 단계에 따라 Amazon Aurora 데이터베이스(DB) 클러스터, 스키마, 테이블을 만듭니다. 테이블을 만들 때는 다음 열과 데이터 유형으로 구성합니다. 다음 테이블에 나열된 이름 대신 원하는 열 이름을 사용할 수 있습니다. 지식 기반 설정 중에 입력할 수 있도록 선택한 열 이름을 기록해 둡니다.
지식 기반을 생성하기 전에 이러한 필드를 제공해야 합니다. 지식 기반이 생성되면 업데이트되지 않습니다.
중요
Aurora 클러스터는 Amazon Bedrock에 대한 지식 기반이 생성된 AWS 계정클러스터와 동일한에 있어야 합니다.
열 이름 데이터 유형 지식 기반 설정의 해당 필드(콘솔) 지식 기반 설정의 해당 필드(API) 설명 id UUID 프라이머리 키 프라이머리 키 primaryKeyField각 레코드의 고유 식별자를 포함합니다. 임베딩 벡터 벡터 필드 vectorField데이터 소스의 벡터 임베딩을 포함합니다. 청크 텍스트 텍스트 필드 textField데이터 소스의 원시 텍스트 청크를 포함합니다. metadata JSON Bedrock 관리형 메타데이터 필드 metadataField소스 속성을 가져오고 데이터 수집 및 쿼리를 지원하는 데 필요한 메타데이터를 포함합니다. custom_metadata JSONB 사용자 지정 메타데이터 필드 customMetadataFieldAmazon Bedrock이 데이터 소스의 메타데이터 파일의 모든 정보를 쓸 열을 나타내는 선택적 필드입니다. -
텍스트 및 임베딩 필드의 열 벡터 및 텍스트에 인덱스를 생성해야 합니다. 사용자 지정 메타데이터 필드를 사용하는 경우 이 열에 GIN 인덱스도 생성해야 합니다. GIN 인덱스를 사용하여 메타데이터 필터링을 위해 jsonb 문서에서 키-값 페어를 효율적으로 검색할 수 있습니다. 자세한 내용은 PostgreSQL 설명서의 jsonb 인덱싱
을 참조하세요. 열 이름 인덱스 생성 위치 필수 임베딩 CREATE INDEX ON bedrock_integration.bedrock_kb USING hnsw (embedding vector_cosine_ops);예 청크 CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (to_tsvector('simple', chunks));예 사용자 지정 메타데이터 CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (custom_metadata);사용자 지정 메타데이터 열을 생성한 경우에만. 참고
영어 콘텐츠로 하이브리드 검색 정확도와 지연 시간을 개선하려면 '단순' 대신 '영어' 사전을 사용하는 것이 좋습니다.
CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (to_tsvector('english', chunks)); -
(선택 사항) 필터링을 위해 파일에 메타데이터를 추가한 경우 사용자 지정 메타데이터 필드에 열 이름을 제공하여 모든 메타데이터를 단일 열에 저장하는 것이 좋습니다. 데이터를 수집하는 동안 이 열은 데이터 소스의 메타데이터 파일에 있는 모든 정보로 채워집니다. 이 필드를 제공하기로 선택한 경우 이 열에 GIN 인덱스를 생성해야 합니다.
참고
숫자 메타데이터에 범위 필터를 자주 사용하는 경우 성능을 최적화하려면 특정 키에 대한 인덱스를 생성합니다. 예를 들어
"lessThan": { "key": "year", "value": 1989 }와 같은 필터를 사용하는 경우year키에 표현식 인덱스를 생성합니다. 자세한 내용은 PostgreSQL 설명서의 표현식 인덱스를 참조하세요. CREATE INDEX ON your_table ((custom_metadata->>'year')::double precision또는 이 필드 이름을 제공하지 않으면 파일의 각 메타데이터 속성에 대한 열을 생성하고 데이터 유형(텍스트, 숫자 또는 부울)을 지정할 수 있습니다. 예를 들어,
genre속성이 데이터 소스에 있는 경우genre라는 열을 추가하고text를 데이터 유형으로 지정합니다. 데이터 수집 과정에서 이러한 별도의 열은 해당 속성 값으로 채워집니다. -
Amazon Aurora 및를 사용한 암호 관리의 단계에 따라 AuroraAWS Secrets Manager DB 클러스터의 AWS Secrets Manager암호를 구성합니다.
-
DB 클러스터를 생성하고 암호를 설정한 후에는 다음 정보를 기록해 둡니다.
지식 기반 설정의 필드(콘솔) 지식 기반 설정의 필드(API) 설명 Amazon Aurora DB 클러스터 ARN resourceArn DB 클러스터의 ARN 이름입니다. 데이터베이스 이름 databaseName 데이터베이스의 이름입니다. 테이블 이름 tableName DB 클러스터에서 테이블 이름 보안 암호 ARN credentialsSecretArn DB 클러스터에 대한 AWS Secrets Manager키의 ARN
-
- Neptune Analytics graphs (GraphRAG)
-
-
AWS Management 콘솔의 Neptune Analytics에서 그래프 및 벡터 스토어를 생성하려면 Neptune Analytics 사용 설명서의 Neptune Analytics의 벡터 인덱싱에 설명된 단계를 따르세요.
참고
Neptune GraphRAG를 사용하려면 벡터 검색 인덱스를 사용하여 빈 Neptune Analytics 그래프를 생성합니다. 벡터 검색 인덱스는 그래프가 생성될 때만 생성할 수 있습니다. 콘솔에서 Neptune Analytics 그래프를 생성할 때 프로세스 종료 부근의 벡터 검색 설정에서 인덱스 차원을 지정합니다.
그래프를 생성할 때 다음 고려 사항에 유의하세요.
-
그래프에 원하는 이름을 지정합니다.
-
데이터 소스에서 빈 그래프 생성을 선택하고 할당할 m-NCU의 수를 지정합니다. 각 m-NCU에는 약 1GiB의 메모리 용량과 해당 컴퓨팅 및 네트워킹이 있습니다.
참고
그래프의 용량은 나중에 수정할 수 있습니다. 가장 작은 인스턴스로 시작한 후 필요한 경우 다른 인스턴스를 선택하는 것이 좋습니다.
-
기본 네트워크 연결 설정을 그대로 둘 수 있습니다. Amazon Bedrock은 지식 기반을 연결하는 Neptune Analytics 그래프에 대한 네트워킹 연결을 생성합니다. 그래프에 대해 퍼블릭 연결 또는 프라이빗 엔드포인트를 구성할 필요가 없습니다.
-
벡터 검색 설정에서 벡터 차원 사용을 선택하고 각 벡터의 차원 수를 지정합니다.
참고
각 벡터의 차원 수는 임베딩 모델의 벡터 차원과 일치해야 합니다. 벡터에 얼마나 많은 차원을 포함해야 하는지 확인하려면 다음 테이블을 참조하세요.
모델 측정기준 Titan G1 Embeddings - Text 1,536 Titan V2 Embeddings - Text 1,024, 512 및 256 Cohere Embed English 1,024 Cohere Embed Multilingual 1,024 -
다른 모든 설정은 기본값으로 두고 그래프를 생성합니다.
-
-
그래프가 생성되면 이를 클릭하여 지식 기반을 생성할 때에 대한 리소스 ARN 및 벡터 차원을 기록해 둡니다. Amazon Bedrock에서 임베딩 모델을 선택할 때는 Neptune Analytics 그래프에서 구성한 벡터 차원과 동일한 차원을 가진 모델을 선택해야 합니다.
벡터 인덱스가 만들어진 후 지식 기반 생성을 진행할 수 있습니다. 다음 테이블에는 기록해 둔 각 정보를 입력할 위치가 요약되어 있습니다.
Field 지식 기반 설정의 해당 필드(콘솔) 지식 기반 설정의 해당 필드(API) 설명 그래프 ARN Neptune 분석 그래프 ARN graphARN Neptune 분석 그래프의 Amazon 리소스 이름(ARN)입니다. 메타데이터 관리(첫 번째 매핑 필드) 텍스트 필드 이름 textField 데이터 소스의 원시 텍스트를 저장할 필드의 이름입니다. 텍스트와 같이 이 필드에 값을 제공할 수 있습니다. 메타데이터 관리(두 번째 매핑 필드) Bedrock 관리형 메타데이터 필드 metadataField Amazon Bedrock이 관리하는 메타데이터를 저장할 필드의 이름입니다. 메타데이터와 같이 이 필드에 값을 제공할 수 있습니다. -
- Pinecone
-
참고
를 사용하는 경우 Pinecone벡터 스토어 서비스를 제공하기 위해에 사용자를 대신하여 지정된 타사 소스에 AWS액세스할 수 있는 권한을 부여하는 데 동의하는 것입니다. 귀하는 타사 서비스에서의 데이터 사용 및 전송에 적용되는 모든 타사 약관을 준수할 책임이 있습니다.
Pinecone에서 벡터 스토어를 설정하는 방법에 대한 자세한 내용은 Amazon Bedrock용 지식 기반으로 Pinecone 사용하기
를 참조하세요. 벡터 스토어를 설정하는 동안, 지식 기반을 생성할 때 작성하게 될 다음과 같은 정보를 기록해 둡니다.
-
엔드포인트 URL – 인덱스 관리 페이지의 엔드포인트 URL.
-
자격 증명 보안 암호 ARN - 데이터베이스 사용자의 사용자 이름과 암호가 AWS Secrets Manager포함된에서 생성한 보안 암호의 Amazon 리소스 이름(ARN)입니다.
-
(선택 사항) 자격 증명 보안 ARN에 대한 고객 관리형 KMS 키 - 자격 증명 보안 ARN을 암호화한 경우 Amazon Bedrock이 암호를 해독할 수 있도록 KMS 키를 제공합니다.
-
네임스페이스 - (선택 사항) 데이터베이스에 새 데이터를 쓰는 데 사용되는 네임스페이스입니다. 자세한 내용은 네임스페이스 사용
을 참조하세요.
Pinecone 인덱스를 만들 때 제공해야 하는 추가 구성이 있습니다.
-
텍스트 필드 이름 - Amazon Bedrock이 원시 청크 텍스트를 저장해야 하는 필드의 이름입니다.
-
메타데이터 필드 이름 - Amazon Bedrock이 소스 속성 메타데이터를 저장해야 하는 필드의 이름입니다.
Pinecone 인덱스에 액세스하려면 AWS Secrets Manager을 통해 Amazon Bedrock에 Pinecone API 키를 제공해야 합니다.
Pinecone 구성에 대한 보안 암호를 설정하는 방법
-
AWS Secrets Manager보안 암호 생성의 단계에 따라 키를 로 설정하고
apiKey값을 API 키로 설정하여 Pinecone 인덱스에 액세스합니다. -
API 키를 찾으려면 Pinecone 콘솔
을 열고 API 키를 선택합니다. -
보안 암호를 생성한 후 KMS 키의 ARN을 기록해 둡니다.
-
지식 기반이 포함된 벡터 저장소의 AWS Secrets Manager보안 암호를 해독할 수 있는 권한의 단계에 따라 서비스 역할에 권한을 연결하여 KMS 키의 ARN을 복호화합니다.
-
나중에 지식 기반을 생성할 때 자격 증명 암호 ARN 필드에 ARN을 입력합니다.
-
- Redis 엔터프라이즈 클라우드
-
참고
를 사용하는 경우 벡터 스토어 서비스를 제공하기 위해 Redis Enterprise Cloud에 사용자를 대신하여 지정된 타사 소스에 AWS액세스할 수 있는 권한을 부여하는 데 동의하는 것입니다. 사용자는 타사 서비스에서의 데이터 사용 및 전송에 적용되는 모든 타사 약관을 준수할 책임이 있습니다.
Redis Enterprise Cloud에서 벡터 스토어를 설정하는 방법에 대한 자세한 설명서는 Redis Enterprise Cloud를 Amazon Bedrock에 통합
을 참조하세요. 벡터 스토어를 설정하는 동안, 지식 기반을 생성할 때 작성하게 될 다음과 같은 정보를 기록해 둡니다.
-
엔드포인트 URL - 데이터베이스의 퍼블릭 엔드포인트 URL입니다.
-
벡터 인덱스 이름 - 데이터베이스에 대한 벡터 인덱스의 이름입니다.
-
벡터 필드 - 벡터 임베딩을 저장할 필드의 이름입니다. 벡터에 얼마나 많은 차원을 포함해야 하는지 확인하려면 다음 테이블을 참조하세요.
모델 측정기준 Titan G1 Embeddings - Text 1,536 Titan V2 Embeddings - Text 1,024, 512 및 256 Cohere Embed English 1,024 Cohere Embed Multilingual 1,024 -
텍스트 필드 - Amazon Bedrock이 원시 텍스트 청크를 저장하는 필드의 이름입니다.
-
Bedrock 관리형 메타데이터 필드 - Amazon Bedrock이 지식 기반과 관련된 메타데이터를 저장하는 필드의 이름입니다.
Redis Enterprise Cloud 클러스터에 액세스하려면 AWS Secrets Manager을 통해 Amazon Bedrock에 Redis Enterprise Cloud 보안 구성을 제공해야 합니다.
Redis Enterprise Cloud 구성에 대한 보안 암호를 설정하는 방법
-
Transport Layer Security(TLS)
의 단계에 따라 TLS가 Amazon Bedrock과 함께 데이터베이스를 사용할 수 있도록 활성화합니다. -
AWS Secrets Manager보안 암호 생성의 단계를 따릅니다. Redis Enterprise Cloud 구성의 적절한 값을 보안 암호에 입력하여 다음과 같은 키를 설정합니다.
-
username- Redis Enterprise Cloud 데이터베이스에 액세스할 수 있는 사용자 이름입니다. 사용자 이름을 찾으려면 Redis 콘솔에서 데이터베이스의 보안 섹션을 확인합니다. -
password- Redis Enterprise Cloud 데이터베이스에 액세스할 수 있는 암호입니다. 암호를 찾으려면 Redis 콘솔에서 데이터베이스의 보안 섹션을 확인합니다. -
serverCertificate- Redis Cloud 인증 기관에서 발급한 인증서의 내용입니다. 인증서 다운로드의 단계에 따라 Redis 관리 콘솔에서 서버 인증서를 다운로드합니다. -
clientPrivateKey- Redis Cloud 인증 기관에서 발급한 인증서의 프라이빗 키입니다. 인증서 다운로드의 단계에 따라 Redis 관리 콘솔에서 서버 인증서를 다운로드합니다. -
clientCertificate- Redis Cloud 인증 기관에서 발급한 인증서의 퍼블릭 키입니다. 인증서 다운로드의 단계에 따라 Redis 관리 콘솔에서 서버 인증서를 다운로드합니다.
-
-
보안 암호를 생성한 후 해당 ARN을 기록해 둡니다. 나중에 지식 기반을 생성할 때 자격 증명 암호 ARN 필드에 ARN을 입력합니다.
-
- MongoDB Atlas
-
참고
MongoDB Atlas를 사용하는 경우 벡터 스토어 서비스를 제공하기 위해에 사용자를 대신하여 지정된 타사 소스에 AWS액세스할 수 있는 권한을 부여하는 데 동의하는 것입니다. 귀하는 타사 서비스에서의 데이터 사용 및 전송에 적용되는 모든 타사 약관을 준수할 책임이 있습니다.
MongoDB Atlas에서 벡터 스토어를 설정하는 방법에 대한 자세한 내용은 MongoDB Atlas 및 Amazon Bedrock을 사용하여 완전 관리형 RAG 워크플로 시작
을 참조하세요. 벡터 스토어를 설정하는 동안, 지식 기반을 만들 때 추가하게 될 다음과 같은 정보를 기록해 둡니다.
-
엔드포인트 URL - MongoDB Atlas 클러스터의 엔드포인트 URL입니다.
-
데이터베이스 이름 - MongoDB Atlas 클러스터의 데이터베이스 이름입니다.
-
컬렉션 이름 - 데이터베이스의 컬렉션 이름입니다.
-
자격 증명 보안 암호 ARN - MongoDB Atlas 클러스터에 있는 데이터베이스 사용자의 사용자 이름과 암호AWS Secrets Manager가 포함된에서 생성한 보안 암호의 Amazon 리소스 이름(ARN)입니다. 보안 암호에는
username및password라는 키가 포함되어야 합니다. -
(선택 사항) 자격 증명 보안 ARN에 대한 고객 관리형 KMS 키 - 자격 증명 보안 ARN을 암호화한 경우 Amazon Bedrock이 암호를 해독할 수 있도록 KMS 키를 제공합니다.
MongoDB Atlas 인덱스를 만들 때 필드 매핑에 제공해야 하는 추가 구성이 있습니다.
-
벡터 인덱스 이름 - 컬렉션에 있는 MongoDB Atlas 벡터 검색 인덱스의 이름입니다.
-
벡터 필드 이름 - Amazon Bedrock이 벡터 임베딩을 저장해야 하는 필드의 이름입니다.
-
텍스트 필드 이름 - Amazon Bedrock이 원시 청크 텍스트를 저장해야 하는 필드의 이름입니다.
-
메타데이터 필드 이름 - Amazon Bedrock이 소스 속성 메타데이터를 저장해야 하는 필드의 이름입니다.
-
(선택 사항)텍스트 검색 인덱스 이름 - 컬렉션에 있는 MongoDB Atlas Search 인덱스의 이름입니다.
중요
MongoDB Atlas 지식 기반에서 메타데이터 필터링을 사용하려는 경우 벡터 인덱스에서 필터를 수동으로 구성해야 합니다. 메타데이터 필터링은 기본적으로 작동하지 않으며 MongoDB Atlas 벡터 인덱스 구성에서 추가 설정이 필요합니다.
(선택 사항) Amazon Bedrock이 MongoDB Atlas 클러스터에 연결되도록 하려면 Amazon Bedrock을 사용하여 MongoDB Atlas를 사용하는 RAG 워크플로
를 AWS PrivateLink참조하세요. -