

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

# 지식 기반 쿼리 및 데이터 검색
<a name="kb-test-retrieve"></a>

**중요**  
가드레일은 입력 및 LLM에서 생성된 응답에만 적용됩니다. 런타임 시 지식 기반에서 검색된 참조에는 적용되지 않습니다.

지식 기반을 설정한 후 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) API 작업을 사용하여 이를 쿼리하고 쿼리와 관련된 소스 데이터에서 청크를 검색할 수 있습니다. 기본 Amazon Bedrock Knowledge Bases 순위 대신 [순위 변경 모델을 사용하여](rerank.md) 검색 중에 소스 청크의 관련성 순위를 매길 수도 있습니다.

지식 기반을 쿼리하는 방법을 알아보려면 원하는 방법에 해당하는 탭을 선택하고 다음 단계를 따릅니다.

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

**지식 기반을 테스트하려면 다음을 수행하세요.**

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. (선택 사항) 구성 아이콘(![\[Three horizontal sliders with adjustable circular controls for settings or parameters.\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/icons/configurations.png))을 선택하여 **구성**을 엽니다. 구성에 대한 자세한 내용은 [쿼리와 응답 생성 구성 및 사용자 지정](kb-test-config.md) 섹션을 참조하세요.

1. 채팅 창의 텍스트 상자에 쿼리를 입력하고 **실행**을 선택하면 지식 기반에서 응답이 반환됩니다.

1. 소스 청크는 관련성 순서대로 직접 반환됩니다. 데이터 소스에서 추출한 이미지를 소스 청크로 반환할 수도 있습니다.

1. 반환된 청크에 대한 세부 정보를 보려면 **소스 세부 정보 표시**를 선택합니다.
   + 쿼리에 대해 설정한 구성을 보려면 **쿼리 구성**을 펼칩니다.
   + 소스 청크에 대한 세부 정보를 보려면 소스 청크 옆에 있는 오른쪽 화살표(![\[Play button icon with a triangular shape pointing to the right.\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/icons/caret-right-filled.png))를 선택하여 소스 청크를 확장합니다. 다음 정보를 확인할 수 있습니다.
     + 소스 청크의 원시 텍스트입니다. 이 텍스트를 복사하려면 복사 아이콘(![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/icons/copy.png))을 선택합니다. Amazon S3를 사용하여 데이터를 저장한 경우, 파일이 포함된 S3 객체로 이동하여 외부 링크 아이콘(![\[Icon of a square with an arrow pointing outward from its top-right corner.\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/icons/external.png))을 선택합니다.
     + Amazon S3를 사용하여 데이터를 저장한 경우 소스 청크와 연결된 메타데이터입니다. 속성/필드 키 및 값은 소스 문서와 연결된 `.metadata.json` 파일에 정의됩니다. 자세한 내용은 [쿼리와 응답 생성 구성 및 사용자 지정](kb-test-config.md)의 **메타데이터 및 필터링** 섹션을 참조하세요.

**채팅 옵션**
+ 응답 생성을 켜서 검색된 소스 청크를 기반으로 **응답 생성**으로 전환합니다. 설정을 변경하면 채팅 창의 텍스트가 완전히 지워집니다.
+ 채팅 창을 지우려면 빗자루 아이콘(![\[Magnifying glass icon with a checkmark inside, symbolizing search or inspection.\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/icons/broom.png))을 선택합니다.
+ 채팅 창의 모든 출력을 복사하려면 복사 아이콘(![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/icons/copy.png))을 선택합니다.

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

지식 기반을 쿼리하고 데이터 소스에서 관련 텍스트만 반환하려면 [Amazon Bedrock Agents 런타임 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt)를 사용하여 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) 요청을 전송합니다.

필수 필드는 다음과 같습니다.


****  

| Field | 기본 설명 | 
| --- | --- | 
| knowledgeBaseId | 쿼리할 지식 기반을 지정합니다. | 
| retrievalQuery | 쿼리를 지정하는 text 필드가 포함되어 있습니다. | 
| guardrailsConfiguration | 요청과 함께 가드레일을 사용하려면 guardrailsId 및 guardrailsVersion과 같은 guardrailsConfiguration 필드를 포함합니다 | 

다음 필드는 선택 사항입니다.


****  

| Field | 사용 사례: | 
| --- | --- | 
| nextToken | 다음 응답 배치를 반환하려면(아래 응답 필드 참조). | 
| retrievalConfiguration | 벡터 검색을 사용자 지정하기 위한 [쿼리 구성](kb-test-config.md)을 포함합니다. 자세한 내용은 [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html)을 참조하세요. | 

[KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html)에 `rerankingConfiguration` 필드를 포함하여 기본 Amazon Bedrock Knowledge Bases 순위 지정 모델보다 순위 변경 모델을 사용할 수 있습니다. `rerankingConfiguration` 필드는 [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html) 객체에 매핑됩니다. 이 객체에서는 사용할 순위 변경 모델, 포함할 추가 요청 필드, 순위 변경 중에 문서를 필터링하기 위한 메타데이터 속성, 순위 변경 후 반환할 결과 수를 지정할 수 있습니다. 자세한 내용은 [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html)을 참조하세요.

**참고**  
지정한 `numberOfRerankedResults` 값이 [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html)의 `numberOfResults` 값보다 큰 경우 반환될 최대 결과 수는 `numberOfResults`의 값입니다. 쿼리 분해를 사용하는 경우는 예외입니다(자세한 내용은 [쿼리와 응답 생성 구성 및 사용자 지정](kb-test-config.md)의 **쿼리 수정** 섹션을 참조하세요). 쿼리 분해를 사용하는 경우 `numberOfRerankedResults`는 `numberOfResults`의 최대 5배가 될 수 있습니다.

응답은 데이터 소스의 소스 청크를 `retrievalResults` 필드의 [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html) 객체 배열로 반환합니다. 각 [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html)에는 다음 필드가 포함됩니다.


****  

| 필드 | 설명 | 
| --- | --- | 
| 콘텐츠 | text에 텍스트 소스 청크를 포함하거나 byteContent 필드에 이미지 소스 청크를 포함합니다. 콘텐츠가 이미지인 경우 base64 인코딩 콘텐츠의 데이터 URI는 data:image/jpeg;base64,\$1\$1base64-encoded string\$1 형식으로 반환됩니다. | 
| metadata | 각 메타데이터 속성을 키로 포함하고 메타데이터 값을 키가 매핑되는 JSON 값으로 포함합니다. | 
| location | 소스 청크가 속한 문서의 URI 또는 URL을 포함합니다. | 
| 점수 | 문서의 관련성 점수입니다. 이 점수를 사용하여 결과의 순위를 분석할 수 있습니다. | 

소스 청크 수가 응답에 적합할 수 있는 수를 초과하면 `nextToken` 필드에 값이 반환됩니다. 다음 결과 배치를 반환하도록 또 다른 요청에서 사용합니다.

검색된 데이터에 이미지가 포함된 경우 응답은 응답에 반환된 소스 청크에 대한 메타데이터가 포함된 다음 응답 헤더도 반환합니다.
+ `x-amz-bedrock-kb-byte-content-source` - 이미지의 Amazon S3 URI를 포함합니다.
+ `x-amz-bedrock-kb-description` - 이미지의 base64 인코딩 문자열을 포함합니다.

**참고**  
[메타데이터 필터를 구성할](kb-test-config.md) 때는 이러한 메타데이터 응답 헤더를 필터링할 수 없습니다.

**다중 모달 쿼리**  
멀티모달 임베딩 모델을 사용하는 지식 기반의 경우 텍스트 또는 이미지로 쿼리할 수 있습니다. `retrievalQuery` 필드는 이미지 쿼리에 대한 `multimodalInputList` 필드를 지원합니다.

**참고**  
Nova 및 BDA 접근 방식 선택 등 멀티모달 지식 기반을 설정하고 사용하는 방법에 대한 포괄적인 지침은 섹션을 참조하세요[멀티모달 콘텐츠를 위한 지식 기반 구축](kb-multimodal.md).

`multimodalInputList` 필드를 사용하여 이미지로 쿼리할 수 있습니다.

```
{
    "knowledgeBaseId": "EXAMPLE123", 
    "retrievalQuery": {
        "multimodalInputList": [
            {
                "content": {
                    "byteContent": "base64-encoded-image-data"
                },
                "modality": "IMAGE"
            }
        ]
    }
}
```

또는 `text` 필드를 사용하여 텍스트로만 쿼리할 수 있습니다.

```
{
    "knowledgeBaseId": "EXAMPLE123",
    "retrievalQuery": {
        "text": "Find similar shoes"
    }
}
```

**일반적인 멀티모달 쿼리 패턴**  
다음은 몇 가지 일반적인 쿼리 패턴입니다.

Image-to-image 검색  
이미지를 업로드하여 시각적으로 유사한 이미지를 찾습니다. 예: 빨간색 Nike 신발의 사진을 업로드하여 제품 카탈로그에서 유사한 신발을 찾습니다.

텍스트 기반 검색  
텍스트 쿼리를 사용하여 관련 콘텐츠를 찾습니다. 예: "유사 신발 찾기"를 사용하여 텍스트 설명을 사용하여 제품 카탈로그를 검색합니다.

시각적 문서 검색  
문서 내에서 차트, 다이어그램 또는 시각적 요소를 검색합니다. 예: 차트 이미지를 업로드하여 문서 모음에서 유사한 차트를 찾습니다.

**멀티모달 콘텐츠에 대해 Nova와 BDA 중에서 선택**  
멀티모달 콘텐츠로 작업할 때는 콘텐츠 유형 및 쿼리 패턴에 따라 접근 방식을 선택합니다.


**Nova와 BDA 결정 매트릭스 비교**  

| 콘텐츠 유형 | Nova 멀티모달 임베딩 사용 | Bedrock Data Automation(BDA) 파서 사용 | 
| --- | --- | --- | 
| 비디오 콘텐츠 | 시각적 스토리텔링 포커스(스포츠, 광고, 데모), 시각적 요소에 대한 쿼리, 최소 스피치 콘텐츠 | 중요한 스피치/나레이션(프레젠테이션, 회의, 자습서), 스피치 콘텐츠에 대한 쿼리, 트랜스크립트 필요 | 
| 오디오 콘텐츠 | 음악 또는 사운드 효과 식별, 음성이 아닌 오디오 분석 | 팟캐스트, 인터뷰, 회의, 트랜스크립션이 필요한 스피치가 포함된 모든 콘텐츠 | 
| 이미지 콘텐츠 | 시각적 유사성 검색, image-to-image 검색, 시각적 콘텐츠 분석 | 이미지에서 텍스트 추출, 문서 처리, OCR 요구 사항 | 

**참고**  
Nova 멀티모달 임베딩은 스피치 콘텐츠를 직접 처리할 수 없습니다. 오디오 또는 비디오 파일에 중요한 음성 정보가 포함된 경우 BDA 구문 분석기를 사용하여 스피치를 텍스트로 먼저 변환하거나 대신 텍스트 임베딩 모델을 선택합니다.

**다중 모달 쿼리 제한 사항**  
멀티모달 쿼리의 몇 가지 제한 사항은 다음과 같습니다.
+ 현재 릴리스에서 쿼리당 최대 하나의 이미지
+ 이미지 쿼리는 멀티모달 임베딩 모델(Titan G1 또는 Cohere Embed v3)에서만 지원됩니다.
+ 멀티모달 임베딩 모델 및 S3 콘텐츠 버킷이 있는 지식 기반에는 RetrieveAndGenerate API가 지원되지 않습니다.
+ 텍스트 전용 임베딩 모델을 사용하여 지식 기반에 이미지 쿼리를 제공하는 경우 4xx 오류가 반환됩니다.

**멀티모달 API 응답 구조**  
멀티모달 콘텐츠에 대한 검색 응답에는 추가 메타데이터가 포함됩니다.
+ **소스 URI:** 원래 S3 버킷 위치를 가리킵니다.
+ **보충 URI:** 멀티모달 스토리지 버킷의 복사본을 가리킵니다.
+ **타임스탬프 메타데이터:** 정확한 재생 위치를 지정할 수 있도록 비디오 및 오디오 청크에 포함

**참고**  
API 또는 SDK를 사용하는 경우 애플리케이션에서 파일 검색 및 타임스탬프 탐색을 처리해야 합니다. 콘솔은 향상된 비디오 재생 및 자동 타임스탬프 탐색을 통해 이를 자동으로 처리합니다.

------

**참고**  
응답을 생성하는 과정에서 프롬프트가 글자 수 제한을 초과하는 오류가 발생하면 다음과 같은 방법으로 프롬프트를 줄일 수 있습니다.  
검색된 결과의 최대 수를 줄입니다(이렇게 하면 [지식 기반 프롬프트 템플릿: 오케스트레이션 및 생성](kb-test-config.md#kb-test-config-prompt-template)의 \$1search\$1results\$1 자리 표시자에 채워지는 내용이 단축됨).
작은 청크를 사용하는 청킹 전략을 사용하여 데이터 소스를 다시 만듭니다(이렇게 하면 [지식 기반 프롬프트 템플릿: 오케스트레이션 및 생성](kb-test-config.md#kb-test-config-prompt-template)의 \$1search\$1results\$1 자리 표시자에 채워지는 내용이 단축됨).
프롬프트 템플릿을 줄입니다.
사용자 쿼리를 줄입니다(이렇게 하면 [지식 기반 프롬프트 템플릿: 오케스트레이션 및 생성](kb-test-config.md#kb-test-config-prompt-template)의 \$1query\$1 자리 표시자에 채워지는 내용이 단축됨).