

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

# Amazon Neptune Analytics 그래프를 사용하여 Amazon Bedrock Knowledge Bases 생성
<a name="knowledge-base-build-graphs-build"></a>

GraphRAG는 Amazon Bedrock Knowledge Bases에 완전히 통합되며 그래프 및 벡터 스토리지에 Amazon Neptune Analytics를 사용합니다. AWS Management Console, AWS CLI또는 AWS SDK를 사용하여 지식 기반에서 GraphRAG 사용을 시작할 수 있습니다.

GraphRAG 사용을 시작하는 데 기존 그래프 인프라가 필요하지 않습니다. Amazon Bedrock Knowledge Bases는 Amazon Neptune에서 그래프의 생성 및 유지 관리를 자동으로 관리합니다. 시스템은 Amazon S3 버킷에 업로드한 문서에서 엔터티, 사실 및 관계를 추출하여 그래프를 자동으로 생성하고 업데이트합니다. 따라서 그래프 모델링에 대한 사전 지식 없이 최종 사용자에게 관련 응답을 제공할 수 있습니다. 그래프는 Amazon Neptune Analytics에 저장됩니다.

지식 기반을 생성할 때 다음을 설정하거나 지정합니다.
+ 지식 기반을 정의하고 식별하는 일반 정보입니다.
+ 지식 기반에 대한 권한이 있는 서비스 역할입니다.
+ 데이터 소스에서 데이터를 변환할 때 사용할 임베딩 모델과 임베딩을 저장할 서비스의 스토리지 구성을 포함하여 지식 기반에 대한 구성입니다.

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

다음은 콘솔에서 Neptune GraphRAG를 사용하고 CLI를 사용하기 위한 지식 기반을 생성하는 방법을 보여줍니다.

------
#### [ Console ]

**콘솔에서 Neptune Analytics에 대한 지식 기반을 생성하려면**

1. Amazon Bedrock 콘솔을 사용할 권한이 있는 IAM 자격 증명 AWS Management Console 으로에 로그인합니다. 그 다음 [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock)에서 Amazon Bedrock 콘솔을 엽니다.

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

1. **지식 기반** 섹션에서 **생성**을 선택한 다음 **벡터 저장소가 있는 지식 기반**을 선택합니다.

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

1. **IAM 권한** 섹션에서 다른 필수 AWS 서비스에 액세스할 수 있는 권한을 Amazon Bedrock에 제공하는 IAM 역할을 선택합니다. Amazon Bedrock에서 서비스 역할을 생성하도록 하거나 Neptune Analytics용으로 생성한 사용자 지정 역할을 사용하도록 선택할 수 있습니다. 예시는 [Amazon Neptune Analytics에서 벡터 데이터베이스에 액세스할 수 있는 권한](kb-permissions.md#kb-permissions-neptune) 섹션을 참조하세요.

1. **Amazon S3**를 데이터 소스로 선택하고 **다음**을 선택하여 데이터 소스를 구성해야 합니다.

1. 지식 기반을 연결하고 Amazon Neptune Analytics와 통합하기 위한 데이터 소스로 사용할 파일의 **S3 URI**를 제공합니다. 제공할 수 있는 추가 단계 및 선택적 정보는 [데이터 소스를 지식 기반에 연결](data-source-connectors.md) 섹션을 참조하세요.

1. **임베딩 모델** 섹션에서 임베딩 모델을 선택하여 데이터를 벡터 임베딩으로 변환합니다. 선택적으로 **추가 구성** 섹션을 사용하여 벡터 차원을 지정할 수 있습니다. 임베딩 유형의 경우 부동 소수점 벡터 임베딩을 사용하는 것이 좋습니다.
**참고**  
임베딩 모델의 벡터 차원은 Neptune Analytics 그래프를 생성할 때 지정한 벡터 차원과 일치해야 합니다.

1. **벡터 데이터베이스** 섹션에서 벡터 저장소를 생성하는 방법을 선택한 다음 **Amazon Neptune Analytics(GraphRAG)**를 벡터 저장소로 선택하여 쿼리에 사용할 임베딩을 저장합니다. 벡터 저장소를 생성하려면 다음 방법 중 하나를 사용할 수 있습니다.
   + **빠른 새 벡터 저장소 생성** 방법을 사용하여 벡터 저장소 생성을 빠르게 시작하는 것이 좋습니다. **Amazon Neptune Analytics(GraphRAG)**를 벡터 저장소로 선택합니다. 이 옵션에는 기존 Neptune Analytics 리소스가 필요하지 않습니다. 지식 기반은 문서 코퍼스에서 파생된 개체 및 관계의 그래프 표현과 함께 Amazon Neptune에서 문서 임베딩을 자동으로 생성하고 저장합니다.
   + 또는 Neptune Analytics 그래프 및 벡터 인덱스를 이미 생성한 경우 **생성한 벡터 저장소 선택** 옵션을 사용할 수 있습니다. **Amazon Neptune Analytics(GraphRAG)**를 벡터 저장소로 선택하고 벡터 인덱스에서 그래프 ARN, 벡터 필드 이름 및 메타데이터 필드 이름을 식별합니다. 자세한 내용은 [지식 기반에 대해 생성된 벡터 저장소 사용의 사전 조건](knowledge-base-setup.md) 단원을 참조하십시오.

1. **그래프 구성용 모델** 섹션에서 수집 중에 문서에서 개체 및 관계를 추출하는 데 사용할 파운데이션 모델을 선택합니다. 선택한 모델에 필요한 권한이 지식 기반 서비스 역할에 자동으로 추가됩니다.
**참고**  
일부 모델은 리전 간 추론 프로파일을 통해서만 지원됩니다. Amazon Bedrock에서 리전 간 추론 프로파일을 호출하면 수집할 요청과 데이터는 소스 리전에서 시작되고 해당 프로파일에 정의된 대상 리전 중 하나로 자동으로 라우팅되어 성능을 최적화합니다. 글로벌 교차 리전 추론 프로파일의 대상 리전에는 모든 상용 리전이 포함됩니다. 예를 들어 형식을 사용하여 us-west-2 리전에서 미국 기반 리전 간 호출에 `modelArn` 대해를 지정할 수 있습니다`arn:aws:bedrock:us-west-2:account-id:inference-profile/us.anthropic.claude-haiku-4-5-20251001-v1:0`.

   추론 프로파일을 사용하여 소스 및 대상 리전을 선택하는 방법에 [대한 지침은 추론 프로파일에 지원되는 리전 및 모델을 참조하세요](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html). 데이터는 Amazon Bedrock 지식 기반 및 Amazon Neptune Analytics 인스턴스에 해당하는 소스 리전에만 저장됩니다. 대상 리전은 추론에만 사용됩니다.

1. **다음**을 선택하고 지식 기반의 세부 정보를 검토합니다. 계속해서 지식 기반을 만들기 전에 모든 섹션을 편집할 수 있습니다.
**참고**  
지식 기반을 만드는 데 걸리는 시간은 구체적인 구성에 따라 달라집니다. 지식 기반 생성이 완료되면 지식 기반 상태가 준비 또는 사용 가능 상태로 변경됩니다.  
지식 기반이 준비되고 사용 가능해지면 데이터 소스를 최초로 한 번 동기화하고, 이후에는 콘텐츠를 최신 상태로 유지하고 싶을 때마다 동기화하세요. 콘솔에서 지식 기반을 선택하고 데이터 소스 개요 섹션에서 **동기화**를 선택하면 됩니다.

1. **지식 기반 생성**을 선택합니다. Amazon Bedrock이 지식 기반을 생성하는 동안 **진행 중** 상태가 표시됩니다. 데이터 소스를 동기화하려면 생성이 완료될 때까지 기다려야 합니다.

1. Amazon Bedrock이 지식 기반 생성을 완료한 후 데이터 소스를 구성하려면 [데이터 소스를 지식 기반에 연결](data-source-connectors.md)의 지침을 따릅니다.

------
#### [ API ]

**를 사용하여 Neptune Analytics용 지식 기반을 생성하려면 AWS CLI**

1. 먼저 컨텍스트 보강 구성을 사용하여 데이터 소스를 생성합니다. 이 작업을 수행하려면 [Amazon Bedrock Agents 빌드 타임 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)를 사용하여 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 요청을 보냅니다. 다음은 CLI 명령의 예시입니다.

   ```
   aws bedrock-agent create-data-source \
       --name graph_rag_source \
       --description data_source_for_graph_rag \
       --knowledge-base-id LDBBY2K5AG \
       --cli-input-json "file://input.json"
   ```

   다음 코드는 `input.json` 파일의 내용을 보여줍니다.

   ```
   {
       "dataSourceConfiguration": { 
           "s3Configuration": { 
               "bucketArn": "arn:aws:s3:::<example-graphrag-datasets>",
               "bucketOwnerAccountId": "<ABCDEFGHIJ>",
               "inclusionPrefixes": [ <"example-dataset"> ]
           },
           "type": "S3",
       },
       "VectorIngestionConfiguration": {
           "contextEnrichmentConfiguration":
               "type": "BEDROCK_FOUNDATION_MODEL",
               "bedrockFoundationModelConfiguration": {
                   "modelArn": "arn:aws:bedrock:<region>::foundation-model/anthropic.claude-3-haiku-20240307-v1:0",
                   "enrichmentStrategyConfiguration": {
                       "method": "CHUNK_ENTITY_EXTRACTION"
               }
           }
       }
   }
   ```

   문서에서 그래프를 작성하는 데 `modelArn` 사용되는의 경우 Claude 3 Haiku(이전 예제 참조), Claude Haiku 4.5 및 Amazon Nova 패밀리(텍스트 입력 양식이 있는 Nova 2 및 Nova 모델 포함)를 사용할 수 있습니다. 리전에서 사용 가능한 파운데이션 모델을 보려면 [Amazon Bedrock에서 지원되는 파운데이션 모델을](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html) 참조하세요.
**참고**  
일부 모델은 리전 간 추론 프로파일을 통해서만 지원됩니다. Amazon Bedrock에서 리전 간 추론 프로파일을 호출하면 수집할 요청과 데이터는 소스 리전에서 시작되고 해당 프로파일에 정의된 대상 리전 중 하나로 자동으로 라우팅되어 성능을 최적화합니다. 글로벌 교차 리전 추론 프로파일의 대상 리전에는 모든 상용 리전이 포함됩니다. 예를 들어 형식을 사용하여 us-west-2 리전에서 미국 기반 리전 간 호출에 `modelArn` 대해를 지정할 수 있습니다`arn:aws:bedrock:us-west-2:account-id:inference-profile/us.anthropic.claude-haiku-4-5-20251001-v1:0`.

   추론 프로파일을 사용하기 위한 역할의 정책 요구 사항을 보려면 [교차 리전 추론 프로파일의 사전 요구 사항을 참조하세요](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-prereq.html). 추론 프로파일을 사용하여 소스 및 대상 리전을 선택하는 방법에 [대한 지침은 추론 프로파일에 지원되는 리전 및 모델을 참조하세요](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html). 데이터는 Amazon Bedrock 지식 기반 및 Amazon Neptune Analytics 인스턴스에 해당하는 소스 리전에만 저장됩니다. 대상 리전은 추론에만 사용됩니다.

1. 지식 기반을 생성하려면 [Amazon Bedrock Agents 빌드 타임 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)를 사용하여 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html) 요청을 전송합니다. 다음은 CLI 명령의 예시입니다.

   ```
   aws bi create-knowledge-base \
   --name <"knowledge-base-graphrag"> \
   --role-arn arn:aws:iam::<accountId>:role/<BedrockExecutionRoleForKnowledgeBase> \
   --cli-input-json "file://input.json"
   ```

   다음은 `input.json` 파일의 콘텐츠를 보여줍니다.

   ```
   {
       "storageConfiguration": {
           "type": "NEPTUNE_ANALYTICS"
           "neptuneAnalyticsConfiguration": {
               "graphArn": "arn:aws:neptune-graph:<region>:<>:graph/<graphID>",
               "fieldMapping": {
                   "metadataField": "metadata",
                   "textField": "text"
               },
           }
       },
       "knowledgeBaseConfiguration": {
           "type": "VECTOR",
           "vectorKnowledgeBaseConfiguration": {
               "embeddingModelArn": "arn:aws:bedrock:<region>::foundation-model/cohere.embed-english-v3"
           }
       }
   }
   ```

1. GraphRAG 기반 애플리케이션을 실행할 때 지식 기반 API 작업을 계속 사용하여 최종 사용자에게 보다 포괄적이고 관련성이 높으며 설명 가능한 응답을 제공할 수 있습니다. 다음 섹션에서는 CLI 명령을 사용하여 수집을 시작하고 검색 쿼리를 수행하는 방법을 보여줍니다.

------

## 그래프 구성 모델 선택 및 업데이트
<a name="knowledge-base-build-graphs-model"></a>

GraphRAG는 수집 중에 파운데이션 모델을 사용하여 문서에서 엔터티 및 관계를 추출합니다. 지식 기반을 생성하거나 데이터 소스를 구성할 때이 모델을 선택합니다. 그래프 구성 모델을 선택하면 컨텍스트 보강이 자동으로 활성화됩니다.

**중요**  
파운데이션 모델은 end-of-life하거나 더 이상 사용되지 않을 수 있습니다. 예를 들어 Claude 3 Haiku가 레거시 상태로 전환되었습니다. 그래프 구성을 위해 현재 지원되는 모델을 선택하는 것이 좋습니다. 사용 가능한 모델의 상태를 확인하려면 [모델 수명 주기를](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle.html) 참조하세요.

그래프 구성 모델을 선택하면 필요한 권한이 지식 기반 서비스 역할에 자동으로 추가됩니다.

일부 모델은 리전 간 추론 프로파일을 통해서만 사용할 수 있습니다.

**참고**  
리전 간 추론을 사용하는 경우 수집할 데이터는 소스 리전에서 시작되며 추론을 위해 대상 리전으로 라우팅됩니다. 데이터는 Amazon Bedrock 지식 기반 및 Amazon Neptune Analytics 인스턴스에 해당하는 소스 리전에만 저장됩니다.

**지식 기반 생성 중 모델 선택(콘솔)**

지식 기반 생성 워크플로(데이터 스토리지 및 처리 구성)의 3단계에서 **Amazon Neptune Analytics(GraphRAG)**를 벡터 스토어 유형으로 선택하면 **그래프 구성 모델** 섹션이 나타납니다. **수집 중에 문서에서 엔터티 및 관계를 추출**하는 데 사용할 모델을 선택하려면 모델 선택을 선택합니다.

**기존 데이터 소스에서 모델 업데이트(콘솔)**

지식 기반 세부 정보 페이지로 이동합니다. **데이터 소스** 섹션에서 데이터 소스를 선택하고 **편집**을 선택합니다. 편집 페이지의 **그래프 구성 모델**에서 새 모델을 선택합니다. **제출**을 선택하여 변경 사항을 저장합니다.

**지식 기반 생성 중 모델 선택(API)**

`CreateDataSource` API를 통해 데이터 소스를 생성할 때 `bedrockFoundationModelConfiguration` 내에서 `modelArn`를 지정합니다`contextEnrichmentConfiguration`. 전체 예제는 위의 생성 섹션에서 API 탭을 참조하세요.

**기존 데이터 소스에서 모델 업데이트(API)**

기존 데이터 소스에서 그래프 구성 모델을 업데이트하려면 `update-data-source` 명령을 사용합니다. 다음 예제에서는에서 새 모델 ARN을 지정하는 방법을 보여줍니다`contextEnrichmentConfiguration`.

```
aws bedrock-agent update-data-source \
    --data-source-id data-source-id \
    --knowledge-base-id knowledge-base-id \
    --name data-source-name \
    --data-source-configuration '{"type":"S3","s3Configuration":{"bucketArn":"arn:aws:s3:::bucket-name"}}' \
    --vector-ingestion-configuration '{"contextEnrichmentConfiguration":{"type":"BEDROCK_FOUNDATION_MODEL","bedrockFoundationModelConfiguration":{"modelArn":"model-arn","enrichmentStrategyConfiguration":{"method":"CHUNK_ENTITY_EXTRACTION"}}}}' \
    --region region
```

예를 들어 `us-west-2` 리전의 미국 기반 리전 간 추론 프로파일을 통해 Claude Haiku 4.5를 사용하려면 다음 형식으로 `modelArn`를 지정합니다.

```
arn:aws:bedrock:us-west-2:account-id:inference-profile/us.anthropic.claude-haiku-4-5-20251001-v1:0
```

추론 프로파일을 사용하기 위한 역할의 정책 요구 사항을 보려면 [교차 리전 추론 프로파일의 사전 요구 사항을 참조하세요](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-prereq.html). 추론 프로파일을 사용하여 소스 및 대상 리전을 선택하는 방법에 [대한 지침은 추론 프로파일에 지원되는 리전 및 모델을 참조하세요](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html).

## 데이터 소스 동기화
<a name="knowledge-base-build-graphs-sync"></a>

지식 기반을 만든 후에는 데이터를 수집하거나 동기화하여 데이터를 쿼리할 수 있습니다. 수집은 그래픽 구조를 추출하고 지정한 벡터 임베딩 모델 및 구성을 기반으로 데이터 소스의 원시 데이터를 벡터 임베딩으로 변환할 수 있습니다.

다음 명령에서는 CLI를 사용하여 수집 작업을 시작하는 방법의 예제를 보여줍니다.

```
aws bedrock-agent start-ingestion-job \
--data-source-id <"ABCDEFGHIJ"> \
--knowledge-base-id <"EFGHIJKLMN">
```

콘솔 및 API를 사용하여 데이터 소스를 동기화하는 방법에 대한 자세한 내용은 [Amazon Bedrock Knowledge Bases으로 데이터 동기화](kb-data-source-sync-ingest.md) 섹션을 참조하세요.

## 지식 기반에 변경 사항 수집
<a name="knowledge-base-build-graphs-ingest"></a>

Amazon S3를 데이터 소스로 사용하는 경우 한 번에 데이터 소스를 수정하고 변경 사항을 동기화할 수 있습니다. 직접 수집을 사용하면 단일 작업으로 지식 기반에서 파일을 직접 추가, 업데이트 또는 삭제할 수 있으며 지식 기반은 동기화할 필요 없이 문서에 액세스할 수 있습니다. 직접 수집은 `KnowledgeBaseDocuments` API 작업을 사용하여 지식 기반에 대해 설정된 벡터 저장소에 직접 제출하는 문서를 인덱싱합니다. 이러한 작업을 통해 연결된 데이터 소스로 이동하여 문서를 볼 필요 없이 지식 기반의 문서를 직접 볼 수도 있습니다. 자세한 내용은 [변경 사항을 지식 기반에 직접 수집](kb-direct-ingestion.md) 단원을 참조하십시오.

## 지식 기반 테스트
<a name="knowledge-base-build-graphs-test"></a>

이제 지식 기반을 설정했으므로 쿼리를 보내고 응답을 생성하여 테스트할 수 있습니다.

다음 코드는 CLI 명령의 예시입니다.

```
aws bedrock-agent-runtime retrieve \
--knowledge-base-id <"ABCDEFGHIJ"> \
--retrieval-query="{\"text\": \"What are the top three video games available now?\"}"
```

자세한 내용은 [Amazon Neptune Analytics 그래프에 연결된 지식 기반 쿼리](kb-test-neptune.md) 단원을 참조하십시오.