

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

# 지식 기반 쿼리 및 검색된 데이터를 기반으로 응답 생성
<a name="kb-test-retrieve-generate"></a>

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

지식 기반을 설정한 뒤, [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) API 작업을 사용하여 이를 쿼리하고 소스 데이터에서 청크를 기반으로 응답을 생성할 수 있습니다. 응답은 원본 소스 데이터에 대한 인용과 함께 반환됩니다. 기본 Amazon Bedrock Knowledge Bases 순위 대신 [순위 변경 모델을 사용하여](rerank.md) 검색 중에 소스 청크의 관련성 순위를 매길 수도 있습니다.

**멀티모달 콘텐츠 제한 사항**  
`RetrieveAndGenerate`는 멀티모달 콘텐츠를 제한적으로 지원합니다. Nova 멀티모달 임베딩을 사용하는 경우 RAG 기능은 텍스트 콘텐츠로만 제한됩니다. 오디오 및 비디오 처리를 포함한 전체 멀티모달 지원을 받으려면 텍스트 임베딩 모델과 함께 BDA를 사용합니다. 자세한 내용은 [멀티모달 콘텐츠를 위한 지식 기반 구축](kb-multimodal.md)을 참조하세요.

**참고**  
`RetrieveAndGenerate` 흐름 중에 `Retrieve` 응답에서 반환된 이미지는 응답 생성 프롬프트에 포함됩니다. `RetrieveAndGenerate` 응답에는 이미지가 포함될 수 없지만 이미지가 포함된 소스를 인용할 수 있습니다.

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

------
#### [ 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. 지식 기반에서 직접 검색한 정보를 토대로 응답을 생성하려면 **쿼리에 대한 응답 생성** 기능을 켭니다. Amazon Bedrock은 데이터 소스를 기반으로 응답을 생성하고 제공된 정보를 각주와 함께 인용합니다.

1. 응답 생성을 위해 사용할 모델을 선택하려면 **모델 선택**을 선택합니다. 그런 다음 **적용**을 선택합니다.

1. (선택 사항) 구성 아이콘(![](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/icons/configurations.png))을 선택하여 **구성**을 엽니다. 구성에 대한 자세한 내용은 [쿼리와 응답 생성 구성 및 사용자 지정](kb-test-config.md) 섹션을 참조하세요.

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

1. 각주를 선택하여 응답의 해당 부분에 대해 인용된 소스에서 발췌한 내용을 확인합니다. 링크를 선택하여 파일이 포함된 S3 객체로 이동합니다.

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

**채팅 옵션**
+ 응답 생성에 다른 모델을 사용하려면 **모델 변경**을 선택합니다. 모델을 변경하면 채팅 창의 텍스트가 완전히 지워집니다.
+ **응답 생성**을 선택 취소하여 직접 소스 청크 검색으로 전환합니다. 설정을 변경하면 채팅 창의 텍스트가 완전히 지워집니다.
+ 채팅 창을 지우려면 빗자루 아이콘(![](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/icons/broom.png))을 선택합니다.
+ 채팅 창의 모든 출력을 복사하려면 복사 아이콘(![](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_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) 요청을 전송합니다.

[https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html) API는 스트리밍 형식으로 데이터를 반환하고 전체 결과를 기다리지 않고 생성된 응답에 청크 단위로 액세스할 수 있습니다.

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

**참고**  
API 응답에는 인용 이벤트가 포함됩니다. `citation` 멤버는 사용 중단되었습니다. 대신 `generatedResponse` 또는 `retrievedReferences` 필드를 사용하는 것이 좋습니다. 자세한 내용은 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CitationEvent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CitationEvent.html) 섹션을 참조하세요.


****  

| Field | 기본 설명 | 
| --- | --- | 
| 입력 | 쿼리를 지정하는 text 필드가 포함되어 있습니다. | 
| retrieveAndGenerateConfiguration | 검색 및 생성을 위한 구성을 지정하는 [RetrieveAndGenerateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateConfiguration.html)이 포함되어 있습니다. 자세한 내용은 다음을 참조하세요. | 

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


****  

| Field | 사용 사례: | 
| --- | --- | 
| sessionId | 이전 세션과 동일한 값을 사용하여 해당 세션을 계속하고 모델의 컨텍스트를 유지합니다. | 
| sessionConfiguration | 세션의 암호화를 위한 사용자 지정 KMS 키를 포함합니다. | 

[RetrieveAndGenerateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateConfiguration.html)에 `knowledgeBaseConfiguration` 필드를 포함합니다. 이 필드는 다음 필드가 포함된 [KnowledgeBaseRetrieveAndGenerateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrieveAndGenerateConfiguration.html) 객체에 매핑됩니다.
+ 필수 필드는 다음과 같습니다.  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/kb-test-retrieve-generate.html)
+ 다음 필드는 선택 사항입니다.  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/kb-test-retrieve-generate.html)

[KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.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배가 될 수 있습니다.

응답은 `output` 필드에 생성된 응답과 인용된 소스 청크를 `citations` 필드의 배열로 반환합니다. 각 [인용](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Citation.html) 객체는 다음 필드를 포함합니다.


****  

| Field | 기본 설명 | 
| --- | --- | 
| generatedResponsePart | textResponsePart 필드에는 인용과 관련된 text가 포함됩니다. span 필드는 인용이 있는 출력 부분의 시작과 끝에 대한 인덱스를 제공합니다. | 
| retrievedReferences | [RetrievedReference](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievedReference.html) 객체의 배열로, 각 객체에는 소스 청크의 content, 문서와 연결된 metadata, 데이터 소스에 있는 문서의 location URI 또는 URL이 포함됩니다. 콘텐츠가 이미지인 경우 base64 인코딩 콘텐츠의 데이터 URI는 data:image/jpeg;base64,{{${base64-encoded string}}} 형식으로 반환됩니다. | 

또한 응답은 동일한 대화를 유지하기 위해 다른 요청에서 재사용할 수 있는 `sessionId` 값을 반환합니다.

요청에 `guardrailConfiguration`을 포함시킨 경우 `guardrailAction` 필드는 콘텐츠가 차단되었는지 여부를 알려줍니다.

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

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

------

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