

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用自訂指標建立模型評估任務
<a name="model-evaluation-custom-metrics-create-job"></a>

若要建立使用自訂指標的評估任務，您需要提供下列項目：
+ 包含供判斷模型使用的詳細說明的提示
+ 您要用於自訂指標的評估工具模型

您也可以指定評分量表 (輸出結構描述)，供判斷模型用來對產生器模型的回應進行評分。

您可以使用 AWS 管理主控台、AWS Command Line Interface (AWS CLI) 或使用 Amazon Bedrock API 建立具有自訂指標的評估任務。使用下列指示來建立您的評估任務。如需建立指標提示的指示和指引，以及定義您在建立期間指定的評分量表，請參閱 [建立自訂指標的提示](model-evaluation-custom-metrics-prompt-formats.md)。

當您使用一或多個自訂指標建立評估任務時，Amazon Bedrock 會將指標定義存放為您指定的輸出 S3 儲存貯體中的 JSON 檔案。您可以透過導覽至 `s3://S3-output-bucket-name/job-name/job-uuid/custom_metrics` 來存取這些檔案。若要查看自訂指標的 JSON 定義格式，請參閱 [建立 JSON 檔案以建立自訂指標](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-json)。

若要使用下列指示建立任務，您也需要提示資料集。若尚未建立，請參閱 [為使用模型作為評判的模型評估任務建立提示資料集](model-evaluation-prompt-datasets-judge.md)。

使用下列指示，以一或多個自訂指標建立模型即評判評估任務

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

1. 開啟 [Amazon Bedrock 主控台](https://console.aws.amazon.com/bedrock/home)。

1. 在**推論與評估**下的左側窗格中，選取**評估**。

1. 在**模型評估**窗格中，選擇**建立**並選取**自動：模型即評判**。

1. 執行下列動作，輸入您的模型評估詳細資訊：

   1. 在**評估名稱**下的**模型評估詳細資訊**窗格中，輸入評估任務的名稱。您在 AWS 區域 中選擇的名稱必須是唯一的名稱。

   1. 或者，在**描述 - *選用***下，輸入評估任務的描述。

   1. 在**評估工具模型**下，選擇**選取模型**，然後選取您要執行評估任務的判斷模型。請注意，您在此處選取的模型會用來針對您選取的任何內建指標評估您的產生器模型。您可以在後續步驟中，選擇要用於自訂指標的不同評估工具模型。

1. 輸入評估任務的推論來源。透過 Amazon Bedrock 模型評估，您可以在[提示資料集](model-evaluation-prompt-datasets-judge.md)中提供自己的推論回應資料，藉此評估 Amazon Bedrock 模型或其他模型的效能。若要選取 Amazon Bedrock 模型，請執行下列動作：

   1. 在**推論來源**窗格的**選取來源**下，選取 **Bedrock 模型**。

   1. 在**選取模型**下，選擇**選取模型**。

   1. 在快顯視窗中，選取您要評估的模型，然後選擇**套用**。

   1. (選用) 若要變更模型的推論參數，請針對**推論組態**選擇**更新**。

1. 若要使用您自己的推論回應資料，請執行下列動作：

   1. 在**推論來源**窗格的**選取來源**下，選取**引入自己的推論回應**。

   1. 針對**來源名稱**，輸入您用來建立回應資料的模型名稱。您輸入的名稱必須符合[提示資料集](model-evaluation-prompt-datasets-judge.md#model-evaluation-prompt-datasets-judge-byoir)中的 `modelIdentifier` 參數。

1. 選擇您想要讓評估工具模型對產生器模型的回應進行評分的任何內建指標，方法是在**指標**窗格中選取它們。

1. 若要新增另一個自訂指標，請先選取您要用來評估指標的評估工具模型。在**自訂指標**窗格中，執行下列動作：

   1. 選擇**選取模型**。

   1. 在快顯視窗中，選取您要使用的模型。

   1. 選擇**套用**。

1. 在**指標名稱**下，為指標輸入名稱。

1. 您可以透過三種方式設定指標：提供指定指標的 JSON 檔案、從範本編輯現有的內建指標提示，或直接在主控台中輸入提示，以供評估工具模型使用。

   若要從 JSON 檔案建立指標，請執行下列動作：

   1. 在**選擇指標類型**下，選取**匯入 JSON 檔案**。

   1. 在**匯入 JSON 檔案**下，選擇**選擇檔案**。

   1. 使用檔案選擇器，選取具有自訂指標定義的 JSON 檔案，然後選擇**開啟**。若要了解使用 JSON 檔案指定自訂指標的結構描述，以及查看一些範例檔案，請參閱 [建立 JSON 檔案以建立自訂指標](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-json)。

   1. (選用) 若要建立另一個指標，請選擇**新增自訂指標**。您可以為評估任務建立最多 10 個自訂指標。

      當您完成建立自訂指標時，請繼續執行步驟 13，以設定評估任務的資料集。

1. 若要從內建範本建立自訂指標，請執行下列動作：

   1. 在**選擇指標類型**下，選取**使用範本**。

   1. 在**選取範本**下，使用下拉式清單選擇現有的內建指標提示，以用作自訂指標的起點。

   1. 在**指示**下編輯您選取的提示，以符合您自己的使用案例。如需建立自訂指標提示時所需元素的最佳實務和清單，請參閱 [建立自訂指標的提示](model-evaluation-custom-metrics-prompt-formats.md)。

   1. 如果您想要讓評估任務輸出具有排名分數的結構化輸出，請保持勾選**啟用輸出結構描述 (建議)**。您的指標組態不需要包含輸出結構描述，但我們建議您定義一個。如果您不使用結構描述，您檢視的結果只會包含沒有分數或資料視覺化的說明。

   1. 在**量表類型**下，根據您的使用案例選取**數值**或**字串**，然後在文字方塊中輸入量表和描述定義。如需定義輸出量表的指引和最佳實務，請參閱 [指定輸出結構描述 (評分量表)](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-schema)。

   1. (選用) 若要建立另一個指標，請選擇**新增自訂指標**。您可以為評估任務建立最多 10 個自訂指標。

      當您完成建立自訂指標時，請繼續執行步驟 13，以設定評估任務的資料集。

1. 若要在主控台中從頭開始建立自訂指標，請執行下列動作：

   1. 在**選擇指標類型**下，選取**自訂**。

   1. 在**指示**下，直接在文字方塊中輸入自訂指標的提示。如需建立自訂指標提示時所需元素的最佳實務和清單，請參閱 [提示建構和最佳實務](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-create)。

   1. 如果您想要讓評估任務輸出具有排名分數的結構化輸出，請保持勾選**啟用輸出結構描述 (建議)**。您的指標組態不需要包含輸出結構描述，但我們建議您定義一個。如果您不使用結構描述，您檢視的結果只會包含沒有分數或資料視覺化的說明。

   1. 在**量表類型**下，根據您的使用案例選取**數值**或**字串**，然後在文字方塊中輸入量表和描述定義。如需定義輸出量表的指引和最佳實務，請參閱 [指定輸出結構描述 (評分量表)](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-schema)。

   1. (選用) 若要建立另一個，請選擇**新增自訂指標**。您可以為評估任務建立最多 10 個自訂指標。

      當您完成建立自訂指標後，請繼續下一個步驟來設定評估任務的資料集。

1. 執行下列動作，為您的資料集和結果定義輸入和輸出位置：

   1. 在**資料集**窗格**選擇提示資料集**下，輸入提示資料集的 Amazon S3 URI，或選擇**瀏覽 S3** 並選取您的檔案。若要查看模型即評判評估任務所需提示資料集格式的定義，請參閱 [為使用模型作為評判的模型評估任務建立提示資料集](model-evaluation-prompt-datasets-judge.md)。

   1. 在**評估結果**下，輸入 Amazon Bedrock 的 Amazon S3 位置以儲存結果，或選擇**瀏覽 S3** 以選取位置。

1. 在 **Amazon Bedrock IAM 角色 - 許可**下，選取**建立並使用新的服務角色**，讓 Amazon Bedrock 為評估任務建立新的 IAM 角色，或選取**使用現有的服務角色**來挑選現有的 IAM 角色。如需建立和執行評估任務所需的許可清單，請參閱 [先決條件](model-evaluation-judge-create.md#model-evaluation-judge-create-prereqs)。

1. (選用) 若要使用您自己的 KMS 金鑰來加密評估資料，請在 **KMSkey - *選用***下，勾選**自訂加密設定 (進階)**，然後選取您的 AWS KMS 金鑰。根據預設，Amazon Bedrock 會使用 AWS 擁有的 KMS 金鑰來加密評估任務資料。

1. 選擇**建立**來完成建立評估任務。

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

下列範例示範如何使用 AWS CLI 對包含自訂指標的任務提出 `create-evaluation-job` 請求。確定 `applicationType` 指定為 `ModelEvaluation`。

您可以評估 Amazon Bedrock 中模型的效能，也可以提供自己的推論回應資料作為提示資料集的一部分來評估其他模型。若要進一步了解如何使用您自己的推論回應建立提示資料集，請參閱 [為使用模型作為評判的模型評估任務建立提示資料集](model-evaluation-prompt-datasets-judge.md)。

**Example AWS CLI 命令和 JSON 檔案，用來使用 Amazon Bedrock 模型的自訂指標建立評估任務**  

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

```
{
    "jobName": "custom-metrics-maaj",
    "applicationType": "ModelEvaluation",
    "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-Custom-Metric",
    "evaluationConfig": {
        "automated": {
            "datasetMetricConfigs": [{
                "taskType": "General",
                "dataset": {
                    "name": "text_dataset",
                    "datasetLocation": {
                        "s3Uri": "s3://amzn-s3-demo-bucket/input_datasets/text_dataset_input.jsonl"
                    }
                },
                 "metricNames": [
                        "CustomMetric-Correctness-FloatRatingScale"
                    ]
            }],
            "customMetricConfig": {
                "customMetrics": [{
                        "customMetricDefinition": {
                            "name": "CustomMetric-Correctness-FloatRatingScale",
                            "instructions": "<Your complete custom metric prompt including at least one {{input variable}}>",
                            "ratingScale": [{
                                    "definition": "Not at all",
                                    "value": {
                                        "floatValue": 0
                                    }
                                },
                                {
                                    "definition": "Somewhat",
                                    "value": {
                                        "floatValue": 1
                                    }
                                },
                                {
                                    "definition": "Mostly",
                                    "value": {
                                        "floatValue": 2
                                    }
                                }
                            ]
                        }
                    }
                ],
                "evaluatorModelConfig": {
                    "bedrockEvaluatorModels": [{
                        "modelIdentifier": "anthropic.claude-3-haiku-20240307-v1:0"
                    }]
                }
            },
            "evaluatorModelConfig": {
                "bedrockEvaluatorModels": [{
                    "modelIdentifier": "mistral.mistral-large-2402-v1:0"
                }]
            }
        }
    },
    "inferenceConfig": {
        "models": [{
            "bedrockModel": {
                "modelIdentifier": "anthropic.claude-v2",
                "inferenceParams": "{\"textGenerationConfig\":{\"maxTokenCount\":256,\"temperature\":0.25,\"topP\":0.25}}"
            }
        }]
    },
    "outputDataConfig": {
        "s3Uri": "s3://amzn-s3-demo-destination-bucket/output/"
    }
}
```
範例 JSON 檔案包含兩個 `evaluatorModelConfig` 物件。`customMetricConfig` 物件中的一個指定要與自訂指標搭配使用的評估工具模型。另一個執行個體指定要用於內建指標的模型。請小心正確指定這兩個物件。

**Example AWS CLI 命令和 JSON 檔案，用來建立具有自訂指標的評估任務，您可以在其中提供自己的推論回應資料**  

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

```
{
    "jobName": "custom-metrics-maaj",
    "applicationType": "ModelEvaluation",
    "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-Custom-Metric",
    "evaluationConfig": {
        "automated": {
            "datasetMetricConfigs": [{
                "taskType": "General",
                "dataset": {
                    "name": "text_dataset",
                    "datasetLocation": {
                        "s3Uri": "s3://amzn-s3-demo-bucket/input_datasets/text_dataset_input.jsonl"
                    }
                },
                "metricNames": [
                        "CustomMetric-Correctness-FloatRatingScale"
                    ]
            }],
            "customMetricConfig": {
                "customMetrics": [{
                        "customMetricDefinition": {
                            "name": "CustomMetric-Correctness-FloatRatingScale",
                            "instructions": "<Your complete custom metric prompt including at least one {{input variable}}>",
                            "ratingScale": [{
                                    "definition": "Not at all",
                                    "value": {
                                        "floatValue": 0
                                    }
                                },
                                {
                                    "definition": "Somewhat",
                                    "value": {
                                        "floatValue": 1
                                    }
                                },
                                {
                                    "definition": "Mostly",
                                    "value": {
                                        "floatValue": 2
                                    }
                                }
                            ]
                        }
                    }
                ],
                "evaluatorModelConfig": {
                    "bedrockEvaluatorModels": [{
                        "modelIdentifier": "anthropic.claude-3-haiku-20240307-v1:0"
                    }]
                }
            },
            "evaluatorModelConfig": {
                "bedrockEvaluatorModels": [{
                    "modelIdentifier": "mistral.mistral-large-2402-v1:0"
                }]
            }
        }
    },
     "inferenceConfig": {
        "models": [
            {
                "precomputedInferenceSource": {
                    "inferenceSourceIdentifier": "my_model"
                }
            }
        ]
    },
    "outputDataConfig": {
        "s3Uri": "s3://amzn-s3-demo-destination-bucket/output/"
    }
}
```
範例 JSON 檔案包含兩個 `evaluatorModelConfig` 物件。`customMetricConfig` 物件中的一個指定要與自訂指標搭配使用的評估工具模型。另一個執行個體指定要用於內建指標的模型。請小心正確指定這兩個物件。

------