쿼리와 응답 생성 구성 및 사용자 지정 - Amazon Bedrock

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

쿼리와 응답 생성 구성 및 사용자 지정

검색 및 응답 생성을 구성하고 사용자 지정하여 응답의 관련성을 더욱 개선할 수 있습니다. 예를 들어, 문서 메타데이터 필드/속성에 필터를 적용하여 가장 최근에 업데이트된 문서나 최근 수정 시간이 있는 문서를 사용하도록 할 수 있습니다.

참고

오케스트레이션 및 생성을 제외한 다음 모든 구성은 비정형 데이터 소스에만 적용됩니다.

콘솔 또는에서 이러한 구성에 대해 자세히 알아보려면 다음 주제 중에서 API선택합니다.

주제

    Amazon Kendra GenAI 인덱스에서 검색

    Amazon Kendra GenAI 인덱스를 사용하는 지식 기반을 쿼리하고 데이터 소스에서 관련 텍스트만 반환할 수 있습니다. 이 쿼리의 경우를 전송합니다. Retrieve 표준 지식 기반과 같이 Amazon Bedrock용 에이전트 런타임 엔드포인트를 사용한 요청.

    Amazon Kendra GenAI 인덱스를 사용하여 지식 기반에서 반환된 응답의 구조는 표준와 동일합니다 KnowledgeBaseRetrievalResult. 그러나 응답에는 Amazon Kendra의 몇 가지 추가 필드도 포함됩니다.

    다음 표에서는 반환된 응답에서 볼 수 있는 Amazon Kendra의 필드를 설명합니다. Amazon Bedrock은 Amazon Kendra 응답에서 이러한 필드를 가져옵니다. 이 응답에 이러한 필드가 포함되어 있지 않으면 Amazon Bedrock에서 반환된 쿼리 결과에도 이러한 필드가 없습니다.

    필드 설명

    x-amz-kendra-document-제목

    반환된 문서의 제목입니다.

    x-amz-kendra-score-신뢰

    응답이 쿼리와 얼마나 관련이 있는지에 대한 상대적 순위입니다. 가능한 값은 VERY_HIGH, HIGH, MEDIUM, LOW, NOT_입니다AVAILABLE.

    x-amz-kendra-passage-id

    반환된 통로의 ID입니다.

    x-amz-kendra-document-id

    반환된 문서의 ID입니다.

    DocumentAttributes

    Amazon Kendra의 문서 속성 또는 메타데이터 필드입니다. 지식 기반에서 반환된 쿼리 결과는 이를 메타데이터 키-값 페어로 저장합니다. Amazon Bedrock에서 메타데이터 필터링으로 결과를 필터링할 수 있습니다. 자세한 내용은 DocumentAttribute 단원을 참조하십시오.

    검색 유형은 지식 기반에서 데이터 소스를 쿼리하는 방법을 정의합니다. 다음과 같은 검색 유형을 사용할 수 있습니다.

    • 기본 - Amazon Bedrock이 검색 전략을 결정합니다.

    • 하이브리드 - 검색 벡터 임베딩(시맨틱 검색)과 원시 텍스트를 통한 검색을 결합합니다. 하이브리드 검색은 현재 필터링 가능한 텍스트 필드가 포함된 Amazon OpenSearch Serverless 벡터 스토어에서만 지원됩니다. 다른 벡터 스토어를 사용하거나 Amazon OpenSearch Serverless 벡터 스토어에 필터링 가능한 텍스트 필드가 없는 경우 쿼리는 의미 체계 검색을 사용합니다.

    • 시맨틱 - 벡터 임베딩만 검색합니다.

    검색 유형을 정의하는 방법을 알아보려면 원하는 메서드의 탭을 선택한 다음 다음 단계를 따릅니다.

    Console

    쿼리 및 응답을 사용하여 지식 기반 테스트 섹션의 콘솔 단계를 따릅니다. 구성 창을 열면 검색 유형에 대한 다음 옵션이 표시됩니다.

    • 기본 - Amazon Bedrock이 벡터 저장소 구성에 가장 적합한 검색 전략을 결정합니다.

    • 하이브리드 - Amazon Bedrock이 벡터 임베딩과 원시 텍스트를 모두 사용하여 지식 기반을 쿼리합니다. 이 옵션은 필터링 가능한 텍스트 필드로 구성된 Amazon OpenSearch Serverless 벡터 스토어를 사용하는 경우에만 사용할 수 있습니다.

    • 시맨틱 - Amazon Bedrock이 벡터 임베딩을 사용하여 지식 기반을 쿼리합니다.

    API

    를 만들 때 Retrieve 또는 RetrieveAndGenerate KnowledgeBaseRetrievalConfiguration 객체에 매핑된 retrievalConfiguration 필드를 포함하는 요청입니다. 이 필드의 위치를 보려면를 참조하세요. RetrieveRetrieveAndGenerate API 참조의 요청 본문입니다.

    다음 JSON 객체는 KnowledgeBaseRetrievalConfiguration 객체에서 검색 유형 구성을 설정하는 데 필요한 최소 필드를 보여줍니다.

    "retrievalConfiguration": { "vectorSearchConfiguration": { "overrideSearchType": "HYBRID | SEMANTIC" } }

    overrideSearchType 필드에 검색 유형을 지정합니다. 다음과 같은 옵션이 있습니다:

    • 값을 지정하지 않으면 Amazon Bedrock이 벡터 저장소 구성에 가장 적합한 검색 전략을 결정합니다.

    • HYBRID - Amazon Bedrock은 벡터 임베딩과 원시 텍스트를 모두 사용하여 지식 기반을 쿼리합니다. 이 옵션은 필터링 가능한 텍스트 필드로 구성된 Amazon OpenSearch Serverless 벡터 스토어를 사용하는 경우에만 사용할 수 있습니다.

    • SEMANTIC - Amazon Bedrock은 벡터 임베딩을 사용하여 지식 기반을 쿼리합니다.

    쿼리 분해는 복잡한 쿼리를 더 작고 관리 가능한 하위 쿼리로 세분화하는 데 사용되는 기법입니다. 이 접근 방식은 특히 초기 쿼리가 다면적이거나 너무 광범위한 경우 더 정확하고 관련성 있는 정보를 검색하는 데 도움이 될 수 있습니다. 이 옵션을 활성화하면 지식 기반에 대해 여러 쿼리가 실행되어 최종 응답이 더 정확해질 수 있습니다.

    예를 들어, “2022 FIFA World Cup, 아르헨티나 또는 프랑스에서 누가 더 높은 점수를 받았습니까?”와 같은 질문의 경우 Amazon Bedrock 지식 기반은 최종 답변을 생성하기 전에 먼저 다음 하위 쿼리를 생성할 수 있습니다.

    1. 2022FIFA년 월드컵 결승전에서 아르헨티나는 몇 개의 목표를 채점했습니까?

    2. 프랑스는 2022 FIFA 월드컵 결승전에서 몇 개의 목표를 채점했습니까?

    Console
    1. 데이터 소스를 생성 및 동기화하거나 기존 지식 기반을 사용합니다.

    2. 테스트 창으로 이동하여 구성 패널을 엽니다.

    3. 쿼리 재구성을 활성화합니다.

    API
    POST /retrieveAndGenerate HTTP/1.1 Content-type: application/json { "input": { "text": "string" }, "retrieveAndGenerateConfiguration": { "knowledgeBaseConfiguration": { "orchestrationConfiguration": { // Query decomposition "queryTransformationConfiguration": { "type": "string" // enum of QUERY_DECOMPOSITION } }, ...} }

    정보 검색을 기반으로 응답을 생성할 때 추론 파라미터를 사용하여 추론 중에 모델의 동작을 더 잘 제어하고 모델의 출력에 영향을 미칠 수 있습니다.

    추론 파라미터를 수정하는 방법을 알아보려면 원하는 메서드의 탭을 선택한 다음 다음 단계를 따릅니다.

    Console

    지식 기반을 쿼리할 때 추론 파라미터를 수정하는 방법 - 쿼리 및 응답을 사용하여 지식 기반 테스트 섹션의 콘솔 단계를 따르세요. 구성 창을 열면 추론 파라미터 섹션이 표시됩니다. 필요에 따라 파라미터를 수정합니다.

    문서와의 채팅에서 추론 파라미터를 수정하는 방법 - 지식 기반이 구성되지 않은 문서와의 채팅 섹션의 단계를 따르세요. 구성 창에서 추론 파라미터 섹션을 확장하고 필요에 따라 파라미터를 수정합니다.

    API

    에 대한 호출에서 모델 파라미터를 제공합니다. RetrieveAndGenerate API. (지식 기반을 쿼리하는 경우) 또는 knowledgeBaseConfiguration (문서와 externalSourcesConfiguration 채팅하는 경우) inferenceConfig 필드에 추론 파라미터를 제공하여 모델을 사용자 지정할 수 있습니다. 지식 기반이 구성되지 않은 문서와의 채팅

    inferenceConfig 필드 내에는 다음과 같은 파라미터가 포함된 textInferenceConfig 필드가 있습니다.

    • temperature

    • topP

    • maxTokenCount

    • stopSequences

    externalSourcesConfigurationknowledgeBaseConfigurationinferenceConfig 필드에서 다음 파라미터를 사용하여 모델을 사용자 지정할 수 있습니다.

    • temperature

    • topP

    • maxTokenCount

    • stopSequences

    이러한 각 파라미터의 함수에 대한 자세한 설명은 추론 파라미터를 사용하여 응답 생성에 영향을 주는 방법 섹션을 참조하세요.

    또한 additionalModelRequestFields 맵을 통해 textInferenceConfig에서 지원하지 않는 사용자 지정 파라미터를 제공할 수도 있습니다. 이 인수를 사용하여 특정 모델에 고유한 파라미터를 제공할 수 있습니다. 고유한 파라미터에 대한 내용은 파운데이션 모델의 추론 요청 파라미터 및 응답 필드 섹션을 참조하세요.

    파라미터가 textInferenceConfig에서 생략된 경우 기본값이 사용됩니다. textInferneceConfig에서 인식되지 않는 파라미터는 무시되지만, AdditionalModelRequestFields에서 인식되지 않는 파라미터는 예외로 이어질 수 있습니다.

    additionalModelRequestFieldsTextInferenceConfig 모두에 동일한 파라미터가 있는 경우 검증 예외가 발생합니다.

    에서 모델 파라미터 사용 RetrieveAndGenerate

    다음은 RetrieveAndGenerate 요청 본문의 generationConfiguration에 해당하는 inferenceConfigadditionalModelRequestFields 구조의 예제입니다.

    "inferenceConfig": { "textInferenceConfig": { "temperature": 0.5, "topP": 0.5, "maxTokens": 2048, "stopSequences": ["\nObservation"] } }, "additionalModelRequestFields": { "top_k": 50 }

    다음 예제에서는 2048temperature의 0.5, top_p 0.5maxTokens를 설정하고, 생성된 응답에서 문자열 "\nObservation"이 발생하면 생성을 중지하고, 사용자 지정 top_k 값 50을 전달합니다.

    지식 기반을 쿼리하면 Amazon Bedrock은 기본적으로 최대 5개의 결과를 반환합니다. 각 결과는 소스 청크에 해당합니다.

    반환할 최대 결과 수를 수정하려면 원하는 메서드의 탭을 선택한 다음 다음 단계를 따릅니다.

    Console

    쿼리 및 응답을 사용하여 지식 기반 테스트 섹션의 콘솔 단계를 따릅니다. 구성 창에서 검색된 결과의 최대 수를 확장합니다.

    API

    를 만들 때 Retrieve 또는 RetrieveAndGenerate KnowledgeBaseRetrievalConfiguration 객체에 매핑된 retrievalConfiguration 필드를 포함하는 요청입니다. 이 필드의 위치를 보려면를 참조하세요. RetrieveRetrieveAndGenerate API 참조의 요청 본문입니다.

    다음 JSON 객체는 반환할 최대 결과 수를 설정하는 KnowledgeBaseRetrievalConfiguration 데 필요한 최소 필드를 보여줍니다.

    "retrievalConfiguration": { "vectorSearchConfiguration": { "numberOfResults": number } }

    필드에 반환할 검색된 결과의 최대 수를 지정합니다(허용된 값의 numberOfResults KnowledgeBaseRetrievalConfiguration 범위는의 numberOfResults 필드 참조).

    필터를 적용하여 필터링fields/attributes to help you further improve the relevancy of responses. Your data sources can include document metadata attributes/fields할 문서를 작성하고 임베딩에 포함할 필드를 지정할 수 있습니다. 예를 들어, 문서의 'epoch_modification_time' 또는 문서가 마지막으로 업데이트된 1970년 1월 1일 이후의 초 수가 있습니다. 'epoch_modification_time'이 특정 수보다 큰 최신 데이터를 기준으로 필터링할 수 있습니다. 이러한 최신 문서를 쿼리에 사용할 수 있습니다.

    지식 기반을 쿼리할 때 필터를 사용하려면 지식 기반이 다음 요구 사항을 충족하는지 확인합니다.

    • 데이터 소스 커넥터를 구성할 때 대부분의 커넥터는 문서의 기본 메타데이터 필드를 크롤링합니다. Amazon S3 버킷을 데이터 소스로 사용하는 경우 버킷에 연결된 파일 또는 문서에 fileName.extension.metadata.json 대해 하나 이상의 버킷이 포함되어야 합니다. 메타데이터 파일 구성에 대한 자세한 내용은의 메타데이터 필드 문서화를 참조하세요. 연결 구성

    • 지식 베이스의 벡터 인덱스가 Amazon OpenSearch Serverless 벡터 스토어에 있는 경우 벡터 인덱스가 faiss 엔진으로 구성되어 있는지 확인합니다. 벡터 인덱스가 nmslib 엔진으로 구성되어 있다면 다음 중 하나를 수행해야 합니다.

    • Amazon Aurora 데이터베이스 클러스터의 기존 벡터 인덱스에 메타데이터를 추가하는 경우, 수집을 시작하기 전에 메타데이터 파일의 각 메타데이터 속성에 대한 테이블에 열을 추가해야 합니다. 이러한 열에 메타데이터 속성 값이 기록됩니다.

    데이터 소스에 PDF 문서가 있고 벡터 스토어에 Amazon OpenSearch Serverless를 사용하는 경우: Amazon Bedrock 지식 기반은 문서 페이지 번호를 생성하고 x-amz-bedrock-kb-document-page-number라는 메타데이터 필드/속성에 저장합니다. 문서에 청크를 선택하지 않으면 메타데이터 필드에 저장된 페이지 번호가 지원되지 않습니다.

    다음 필터링 연산자를 사용하여 쿼리에서 결과를 필터링할 수 있습니다.

    필터링 연산자
    연산자 콘솔 API 필터 이름 지원되는 속성 데이터 유형 필터링 결과
    같음 = 같음 문자열, 숫자, 부울 속성이 사용자가 제공한 값과 일치합니다.
    같지 않음 != notEquals 문자열, 숫자, 부울 속성이 사용자가 제공한 값과 일치하지 않습니다.
    보다 큼 > greaterThan number 속성이 사용자가 제공한 값보다 큽니다.
    크거나 같음 >= greaterThanOr같음 number 속성이 사용자가 제공한 값보다 크거나 같습니다.
    보다 작음 < lessThan number 속성이 사용자가 제공한 값보다 작습니다.
    작거나 같음 <= lessThanOr같음 number 속성이 사용자가 제공한 값보다 작거나 같습니다.
    있음 : in 문자열 목록 속성은 사용자가 제공하는 목록에 있습니다(현재 Amazon OpenSearch Serverless 벡터 스토어에서 가장 잘 지원됨).
    없음 !: notIn 문자열 목록 속성이 사용자가 제공한 목록에 없음(현재 Amazon OpenSearch Serverless 벡터 스토어에서 가장 잘 지원됨)
    다음으로 시작 ^ startsWith 문자열 속성은 사용자가 제공하는 문자열로 시작됩니다(현재 Amazon OpenSearch Serverless 벡터 스토어에서 가장 잘 지원됨).

    필터링 연산자를 결합하려면 다음 논리 연산자를 사용할 수 있습니다.

    논리 연산자
    연산자 콘솔 API 필터 필드 이름 필터링 결과
    and andAll 결과가 그룹의 모든 필터링 표현식을 충족합니다.
    Or or orAll 결과가 그룹의 필터링 표현식 중 하나 이상을 충족합니다.

    메타데이터를 사용하여 결과를 필터링하는 방법을 알아보려면 원하는 메서드의 탭을 선택한 다음 다음 단계를 따릅니다.

    Console

    쿼리 및 응답을 사용하여 지식 기반 테스트 섹션의 콘솔 단계를 따릅니다. 구성 창을 열면 필터 섹션이 표시됩니다. 다음 절차에서는 다양한 사용 사례를 설명합니다.

    • 필터를 추가하려면 상자에 메타데이터 속성, 필터링 연산자, 값을 입력하여 필터링 표현식을 만듭니다. 표현식의 각 부분은 공백으로 구분합니다. Enter 키를 눌러 필터를 추가합니다.

      허용되는 필터링 연산자 목록은 위의 필터링 연산자 테이블을 참조하세요. 메타데이터 속성 뒤에 공백을 추가할 때 필터링 연산자 목록을 확인할 수도 있습니다.

      참고

      문자열은 따옴표로 묶어야 합니다.

      예를 들어, 값이 "entertainment"genre 메타데이터 속성이 포함된 소스 문서의 결과를 필터링하려면 genre = "entertainment" 필터를 추가합니다.

      하나의 필터를 추가합니다.
    • 또 다른 필터를 추가하려면 상자에 다른 필터링 표현식을 입력하고 Enter 키를 누릅니다. 그룹에는 최대 5개의 필터를 추가할 수 있습니다.

      또 다른 필터를 추가합니다.
    • 기본적으로 쿼리는 사용자가 제공하는 모든 필터링 표현식을 충족하는 결과를 반환합니다. 필터링 표현식 중 하나 이상을 충족하는 결과를 반환하려면 두 필터링 연산 사이에 있는 and 드롭다운 메뉴를 선택하고 or를 선택합니다.

      필터 사이의 논리 연산을 변경합니다.
    • 여러 논리 연산자를 결합하려면 + 그룹 추가를 선택하여 필터 그룹을 추가합니다. 새 그룹에 필터링 표현식을 입력합니다. 최대 5개의 필터 그룹을 추가할 수 있습니다.

      필터 그룹을 추가하여 여러 논리 연산자를 결합합니다.
    • 모든 필터링 그룹 간에 사용되는 논리 연산자를 변경하려면 두 필터 그룹 간에 AND 드롭다운 메뉴를 선택하고 OR을 선택합니다.

      필터 그룹 사이의 논리 연산을 변경합니다.
    • 필터를 편집하려면 필터를 선택하고 필터링 연산을 수정한 다음 적용을 선택합니다.

      필터를 편집합니다.
    • 필터 그룹을 제거하려면 그룹 옆의 휴지통 아이콘( Trapezoid-shaped diagram showing data flow from source to destination through AWS Transfer Family. )을 선택합니다. 필터를 제거하려면 필터 옆의 삭제 아이콘( Close or cancel icon represented by an "X" symbol. )을 선택합니다.

      필터 또는 필터 그룹을 삭제합니다.

    다음 이미지는 장르가 "entertainment"이고 2018년 이후에 작성된 모든 문서와 장르가 "cooking" 또는 "sports"이고 작성자가 "C"로 시작하는 문서를 반환하는 필터 구성의 예제를 보여줍니다.

    필터 구성의 예제입니다.
    API

    를 만들 때 Retrieve 또는 RetrieveAndGenerate KnowledgeBaseRetrievalConfiguration 객체에 매핑된 retrievalConfiguration 필드를 포함하는 요청입니다. 이 필드의 위치를 보려면를 참조하세요. RetrieveRetrieveAndGenerate API 참조의 요청 본문입니다.

    다음 JSON 객체는 KnowledgeBaseRetrievalConfiguration 객체에서 다양한 사용 사례에 대한 필터를 설정하는 데 필요한 최소 필드를 보여줍니다.

    1. 하나의 필터링 연산자를 사용합니다(위의 필터링 연산자 테이블 참조).

      "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] } } } }
    2. 논리 연산자(위의 논리 연산자 테이블 참조)를 사용하여 최대 5개까지 결합합니다.

      "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ] } } }
    3. 논리 연산자를 사용하여 최대 5개의 필터링 연산자를 필터 그룹으로 결합하고, 두 번째 논리 연산자를 사용하여 해당 필터 그룹을 다른 필터링 연산자와 결합합니다.

      "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ], "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] } ] } } }
    4. 최대 5개의 필터 그룹을 다른 논리 연산자 내에 임베딩하여 결합합니다. 한 단계의 임베딩을 생성할 수 있습니다.

      "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ], "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ] ] } } }

    다음 테이블은 사용할 수 있는 필터 유형을 설명합니다.

    필드 지원되는 값 데이터 유형 필터링 결과
    equals 문자열, 숫자, 부울 속성이 사용자가 제공한 값과 일치합니다.
    notEquals 문자열, 숫자, 부울 속성이 사용자가 제공한 값과 일치하지 않습니다.
    greaterThan number 속성이 사용자가 제공한 값보다 큽니다.
    greaterThanOrEquals number 속성이 사용자가 제공한 값보다 크거나 같습니다.
    lessThan number 속성이 사용자가 제공한 값보다 작습니다.
    lessThanOrEquals number 속성이 사용자가 제공한 값보다 작거나 같습니다.
    in 문자열 목록 속성이 사용자가 제공한 목록에 있습니다.
    notIn 문자열 목록 속성이 사용자가 제공한 목록에 없습니다.
    startsWith 문자열 속성은 입력한 문자열로 시작합니다(Amazon OpenSearch Serverless 벡터 스토어에만 지원됨).

    필터 유형을 결합하려면 다음 논리 연산자 중 하나를 사용할 수 있습니다.

    필드 매핑 필터링 결과
    andAll 최대 5개의 필터 유형 목록 결과가 그룹의 모든 필터링 표현식을 충족합니다.
    orAll 최대 5개의 필터 유형 목록 결과가 그룹의 필터링 표현식 중 하나 이상을 충족합니다.

    예제는 쿼리 전송 및 필터 포함(검색)쿼리 전송 및 필터 포함(RetrieveAndGenerate)을 참조하세요.

    Amazon Bedrock 지식 기반은 사용자 쿼리 및 메타데이터 스키마를 기반으로 검색 필터를 생성하고 적용합니다.

    참고

    이 기능은 현재 에서만 작동합니다.Anthropic Claude 3.5 Sonnet.

    implicitFilterConfigurationvectorSearchConfiguration의에 지정됩니다. Retrieve 요청 본문. 다음 필드를 포함합니다.

    • metadataAttributes -이 배열에서 모델이 필터를 생성할 메타데이터 속성을 설명하는 스키마를 제공합니다.

    • modelArn - 사용할 모델의 ARN입니다.

    다음은의 배열에 추가할 수 있는 메타데이터 스키마의 예입니다metadataAttributes.

    [ { "key": "company", "type": "STRING", "description": "The full name of the company. E.g. `Amazon.com, Inc.`, `Alphabet Inc.`, etc" }, { "key": "ticker", "type": "STRING", "description": "The ticker name of a company in the stock market, e.g. AMZN, AAPL" }, { "key": "pe_ratio", "type": "NUMBER", "description": "The price to earning ratio of the company. This is a measure of valuation of a company. The lower the pe ratio, the company stock is considered chearper." }, { "key": "is_us_company", "type": "BOOLEAN", "description": "Indicates whether the company is a US company." }, { "key": "tags", "type": "STRING_LIST", "description": "Tags of the company, indicating its main business. E.g. `E-commerce`, `Search engine`, `Artificial intelligence`, `Cloud computing`, etc" } ]

    지식 기반을 쿼리하고 응답 생성을 요청할 때 Amazon Bedrock은 지침과 컨텍스트를 사용자 쿼리와 결합하여 응답 생성을 위해 모델로 전송되는 생성 프롬프트를 구성하는 프롬프트 템플릿을 사용합니다. 오케스트레이션 프롬프트를 사용자 지정하여 사용자의 프롬프트를 검색 쿼리로 변환할 수도 있습니다. 다음 도구를 사용하여 프롬프트 템플릿을 엔지니어링할 수 있습니다.

    • 프롬프트 자리 표시자 - Amazon Bedrock Knowledge Bases에 사전 정의된 변수로, 지식 기반 쿼리 과정에서 런타임에 동적으로 채워집니다. 이러한 자리 표시자는 시스템 프롬프트에서 $ 기호로 둘러싸여 있습니다. 다음 목록은 사용할 수 있는 자리 표시자를 설명합니다.

      변수 프롬프트 템플릿 대체: 모델 필수?
      $query$ 오케스트레이션, 생성 지식 기반에 전송된 사용자 쿼리로 대체됩니다. Anthropic Claude Instant, Anthropic Claude v2.x
      Anthropic Claude 3 Sonnet 아니요(모델 입력에 자동으로 포함됨)
      $search_results$ 생성 사용자 쿼리에 대해 검색된 결과로 대체됩니다. 모두
      $output_format_instructions$ 오케스트레이션 응답 생성 및 인용 형식 지정에 대한 기본 지침으로 대체됩니다. 모델에 따라 다릅니다. 자체 서식 지정 지침을 정의할 경우 이 자리 표시자를 제거하는 것이 좋습니다. 이 자리 표시자가 없으면 응답에 인용이 포함되지 않습니다. 모두 No
      $current_time$ 오케스트레이션, 생성 현재 시간으로 대체됩니다. 모두 No
    • XML 태그 - Anthropic 모델은 XML 태그 사용을 지원하여 프롬프트를 구성하고 설명합니다. 최적의 결과를 얻으려면 설명형 태그 이름을 사용합니다. 예를 들어, 기본 시스템 프롬프트에는 이전에 질문한 데이터베이스 설명에 사용된 <database> 태그가 표시됩니다. 자세한 내용은의 XML 태그 사용을 참조하세요. Anthropic 사용 설명서.

    일반적인 프롬프트 엔지니어링 지침은 프롬프트 엔지니어링 개념 섹션을 참조하세요.

    원하는 메서드의 탭을 선택한 다음 다음 단계를 따릅니다.

    Console

    쿼리 및 응답을 사용하여 지식 기반 테스트 섹션의 콘솔 단계를 따릅니다. 테스트 창에서 응답 생성을 켭니다. 그런 다음 구성 창에서 지식 기반 프롬프트 템플릿 섹션을 확장합니다.

    1. 편집을 선택합니다.

    2. 필요에 따라 프롬프트 자리 표시자 및 XML 태그를 포함하여 텍스트 편집기에서 시스템 프롬프트를 편집합니다. 기본 프롬프트 템플릿으로 되돌리려면 기본값으로 재설정을 선택합니다.

    3. 편집을 마쳤으면 [변경 사항 저장(Save changes)]을 선택합니다. 시스템 프롬프트를 저장하지 않고 종료하려면 변경 사항 취소를 선택합니다.

    API

    를 만들 때 RetrieveAndGenerate GenerationConfiguration 객체에 매핑된 generationConfiguration 필드를 포함하는 요청입니다. 이 필드의 위치를 보려면를 참조하세요. RetrieveAndGenerate API 참조의 요청 본문입니다.

    다음 JSON 객체는 반환할 검색된 결과의 최대 수를 설정하는 GenerationConfiguration 데 필요한 최소 필드를 보여줍니다.

    "generationConfiguration": { "promptTemplate": { "textPromptTemplate": "string" } }

    필요에 따라 프롬프트 자리 표시자 및 XML 태그를 포함하여 textPromptTemplate 필드에 사용자 지정 프롬프트 템플릿을 입력합니다. 시스템 프롬프트에 허용되는 최대 문자 수는의 textPromptTemplate 필드를 참조하세요GenerationConfiguration.

    사용 사례 및 책임 있는 AI 정책을 위한 지식 기반 보호 장치를 구현할 수 있습니다. 다양한 사용 사례에 맞게 조정된 여러 가드레일을 만들고 이를 여러 요청 및 응답 조건에 적용하여 일관된 사용자 환경을 제공하고 지식 기반 전반에 안전 제어를 표준화할 수 있습니다. 거부된 주제와 콘텐츠 필터를 구성하여 모델 입력 및 응답에서 바람직하지 않은 주제와 유해한 콘텐츠를 차단할 수 있습니다. 자세한 내용은 Amazon Bedrock Guardrails를 사용하여 모델의 유해한 콘텐츠 차단 단원을 참조하십시오.

    참고

    현재 Claude 3 Sonnet 및 Haiku에서는 가드레일을 지식 기반에 대한 컨텍스트 근거와 함께 사용할 수 없습니다.

    일반적인 프롬프트 엔지니어링 지침은 프롬프트 엔지니어링 개념 섹션을 참조하세요.

    원하는 메서드의 탭을 선택한 다음 다음 단계를 따릅니다.

    Console

    쿼리 및 응답을 사용하여 지식 기반 테스트 섹션의 콘솔 단계를 따릅니다. 테스트 창에서 응답 생성을 켭니다. 그런 다음 구성 창에서 가드레일 섹션을 확장합니다.

    1. 가드레일 섹션에서 가드레일의 이름버전을 선택합니다. 선택한 가드레일 및 버전의 세부 정보를 보려면 보기를 선택합니다.

      또는 가드레일 링크를 선택하여 새 가드레일을 만들 수 있습니다.

    2. 편집을 마쳤으면 [변경 사항 저장(Save changes)]을 선택합니다. 저장하지 않고 종료하려면 변경 사항 취소를 선택합니다.

    API

    를 만들 때 RetrieveAndGenerate 요청에서 요청과 함께 가드레일을 generationConfiguration 사용할 guardrailConfiguration 필드를에 포함합니다. 이 필드의 위치를 보려면를 참조하세요. RetrieveAndGenerate API 참조의 요청 본문입니다.

    다음 JSON 객체는를 설정하는 GenerationConfiguration 데 필요한 최소 필드를 보여줍니다. guardrailConfiguration

    "generationConfiguration": { "guardrailConfiguration": { "guardrailId": "string", "guardrailVersion": "string" } }

    선택한 가드레일의 guardrailIdguardrailVersion을 지정합니다.