

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

# 검색 전용 RAG 평가 작업 생성
<a name="knowledge-base-evaluation-create-ro"></a>

 AWS Management Console AWS CLI또는 지원되는 AWS SDK를 사용하여 RAG 평가 작업을 생성할 수 있습니다.

이러한 유형의 작업을 수행하려면 평가자 모델에 액세스해야 합니다. 지원되는 평가자 모델 목록은 [지원되는 모델](evaluation-kb.md#evaluation-kb-supported) 섹션을 참조하세요.

다음 지침에 따라 작업을 생성하려면 프롬프트 데이터세트도 필요합니다. 아직 생성하지 않은 경우 [Amazon Bedrock에서 RAG 평가를 위한 프롬프트 데이터세트 생성](knowledge-base-evaluation-prompt.md) 섹션을 참조하세요.

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

1. [Amazon Bedrock 콘솔](https://console.aws.amazon.com/bedrock/home)을 엽니다.

1. 왼쪽 창의 **추론 및 평가**에서 **평가**를 선택합니다.

1. **RAG 평가** 창에서 **생성**을 선택합니다.

1. 다음을 수행하여 RAG 평가 세부 정보를 입력합니다.

   1. **평가 세부 정보** 창의 **평가 이름** 아래에 평가 작업의 이름을 입력합니다. 선택한 이름은 내에서 고유해야 합니다 AWS 리전.

   1. 선택적으로 **설명 - *선택 사항***에서 평가 작업에 대한 설명을 입력합니다.

   1. **평가자 모델**에서 **모델 선택**을 선택하고 평가를 수행할 평가자 모델을 선택합니다.

1. 평가 작업에 대한 추론 소스를 입력합니다. Amazon Bedrock RAG 평가를 사용하면 [프롬프트 데이터세트](knowledge-base-evaluation-prompt.md)에 자체 추론 응답 데이터를 제공하여 Amazon Bedrock Knowledge Bases 또는 기타 RAG 소스의 성능을 평가할 수 있습니다. Amazon Bedrock 지식 기반을 선택하려면 다음을 수행합니다.

   1. **추론 소스** 창의 **소스 선택**에서 **Bedrock 지식 기반**을 선택합니다.

   1. **지식 기반 선택**에서 드롭다운 목록을 사용하여 지식 기반을 선택합니다.

1. 자체 추론 응답 데이터를 가져오려면 다음을 수행합니다.

   1. **추론 소스** 창의 **소스 선택**에서 **자체 추론 응답 가져오기**를 선택합니다.

   1. **소스 이름**에 응답 데이터를 생성하는 데 사용한 RAG 소스의 이름을 입력합니다. 입력하는 이름은 [프롬프트 데이터세트](knowledge-base-evaluation-prompt.md)의 `knowledgeBaseIdentifier` 파라미터와 일치해야 합니다.

1. **추론 소스** 창의 **평가 유형**에서 **검색 전용**을 선택합니다.

1. 지표 창에서 지표를 하나 이상 선택하여 평가자 모델이 사용할 기본 제공 **지표**를 선택합니다.

1. 다음을 수행하여 데이터세트 및 결과의 입력 및 출력 위치를 정의합니다.

   1. **데이터세트** 창의 **프롬프트 데이터세트 선택**에서 프롬프트 데이터세트의 Amazon S3 URI를 입력하거나 **S3 찾아보기**를 선택하고 파일을 선택합니다. 검색 전용 평가 작업에 필요한 프롬프트 데이터세트 형식의 정의를 보려면 [검색 전용 RAG 평가 작업을 위한 프롬프트 데이터세트 생성](knowledge-base-evaluation-prompt-retrieve.md) 섹션을 참조하세요.

   1. **평가 결과**에서 Amazon Bedrock의 Amazon S3 위치를 입력하여 결과를 저장하거나 **S3 찾아보기**를 선택하여 위치를 선택합니다.

1. **Amazon Bedrock IAM 역할 - 권한**에서 **새 서비스 역할 생성 및 사용**을 선택하여 Amazon Bedrock이 평가 작업에 대한 새 IAM 역할을 생성하도록 하거나 **기존 서비스 역할 사용**을 선택하여 기존 IAM 역할을 선택합니다. 평가 작업을 생성하고 실행하는 데 필요한 권한 목록은 [사전 조건](knowledge-base-evaluation-create.md#knowledge-base-evaluation-create-prereqs) 섹션을 참조하세요.

1. (선택 사항) 자체 KMS 키를 사용하여 평가 데이터를 암호화하려면 **KMSkey - *선택*** 사항에서 **암호화 설정 사용자 지정(고급)**을 선택하고 AWS KMS 키를 선택합니다. 기본적으로 Amazon Bedrock은 AWS소유 KMS 키를 사용하여 평가 작업 데이터를 암호화합니다.

1. **생성**을 선택하여 평가 작업 생성을 완료합니다.

------
#### [ AWS CLI ]

**Amazon Bedrock 지식 기반에 대한 검색 전용 평가 작업 생성**
+ 예제 JSON 파일을 사용하여 다음 AWS CLI 명령을 실행합니다.

  ```
  aws bedrock create-evaluation-job --cli-input-json file://{{my_eval_job.json}}
  ```

  ```
  {
      "jobName": {{"my_rag_eval"}},
      "roleArn": {{"arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-Role-Amazon-Bedrock-IAM-Role-20250218T063974"}},
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval-byoir.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.ContextCoverage",
                          "Builtin.ContextRelevance"
                      ]
                  }
              ],
              "evaluatorModelConfig": {
                  "bedrockEvaluatorModels": [
                      {
                          "modelIdentifier": "us.meta.llama3-1-70b-instruct-v1:0"
                      }
                  ]
              }
          }
      },
     "inferenceConfig": {
          "ragConfigs": [
              {
                  "knowledgeBaseConfig": {
                      "retrieveConfig": {
                          "knowledgeBaseId": "{{your-knowledge-base-id}}",
                          "knowledgeBaseRetrievalConfiguration": {
                              "vectorSearchConfiguration": {
                                  "numberOfResults": 3
                              }
                          }
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```

**자체 추론 응답 데이터를 사용하여 검색 전용 평가 작업 생성**
+ 예제 JSON 파일을 사용하여 다음 AWS CLI 명령을 실행합니다.

  ```
  aws bedrock create-evaluation-job --cli-input-json file://{{my_eval_job.json}}
  ```

  ```
  {
      "jobName": {{"my_rag_eval"}},
      "roleArn": {{"arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-Role-Amazon-Bedrock-IAM-Role-20250218T063974"}},
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval-byoir.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.ContextCoverage",
                          "Builtin.ContextRelevance"
                      ]
                  }
              ],
              "evaluatorModelConfig": {
                  "bedrockEvaluatorModels": [
                      {
                          "modelIdentifier": "us.meta.llama3-1-70b-instruct-v1:0"
                      }
                  ]
              }
          }
      },
      "inferenceConfig": {
          "ragConfigs": [
              {
                  "precomputedRagSourceConfig": {
                      "retrieveSourceConfig": {
                          "ragSourceIdentifier": {{"my_rag_source"}}
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```

------
#### [ SDK for Python ]

다음 python 예제에서는 Boto3를 사용하여 평가 작업을 생성하는 방법에 대해 자세히 AWS SDK for Python (Boto3) 알아보려면 Boto3 설명서[https://boto3.amazonaws.com/v1/documentation/api/1.35.6/reference/services/bedrock/client/create_evaluation_job.html](https://boto3.amazonaws.com/v1/documentation/api/1.35.6/reference/services/bedrock/client/create_evaluation_job.html)의 섹션을 참조하세요.

```
import boto3
client = boto3.client('bedrock')

job_response = client.create_evaluation_job(
    jobName="my_evaluation_job",
    jobDescription="two different task types",
    roleArn="arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-RoleAmazon-Bedrock-IAM-Role",
    applicationType="RagEvaluation",
    inferenceConfig={
        "ragConfigs": [
            {
                "knowledgeBaseConfig": {
                    "retrieveConfig": {
                        "knowledgeBaseId": "your-knowledge-base-id",
                        "knowledgeBaseRetrievalConfiguration": {
                            "vectorSearchConfiguration": {
                                "numberOfResults": 10,
                                "overrideSearchType": "HYBRID"
                            }
                        }
                    }
                }
            }
        ]
    },
    outputDataConfig={
        "s3Uri":"s3://amzn-s3-demo-bucket-model-evaluations/outputs/"
    },
    evaluationConfig={
        "automated": {
            "datasetMetricConfigs": [
                {
                    "taskType": "Summarization",
                    "dataset": {
                        "name": "RagDataset",
                        "datasetLocation": {
                            "s3Uri": "s3://amzn-s3-demo-bucket/input_data/data_3_rng.jsonl"
                        }
                    },
                    "metricNames": [
                        "Builtin.ContextCoverage"
                    ]
                }
            ],
            "evaluatorModelConfig":
                {
                    "bedrockEvaluatorModels": [{
                        "modelIdentifier": "meta.llama3-1-70b-instruct-v1:0"
                    }]
                }
        }
    }
)

print(job_request)
```

------