

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# So erstellen Sie einen RAG-Bewertungsauftrag in Amazon Bedrock
<a name="knowledge-base-evaluation-create"></a>

Sie können einen RAG-Evaluierungsjob mit dem AWS-Managementkonsole AWS CLI, oder einem unterstützten AWS SDK erstellen.

Für diesen Auftragstyp ist Zugriff auf ein Evaluatormodell erforderlich. Wenn Sie einen retrieve-and-generate Job erstellen, der ein Amazon Bedrock-Modell als Antwortgenerator verwendet, benötigen Sie ebenfalls Zugriff auf dieses Modell. Beide Modelle müssen in derselben AWS-Region verfügbar sein. Eine Liste der unterstützten Antwortgenerator- und Evaluatormodelle finden Sie unter [Unterstützte Modelle](evaluation-kb.md#evaluation-kb-supported).

## Voraussetzungen
<a name="knowledge-base-evaluation-create-prereqs"></a>

Um einen RAG-Bewertungsauftrag zu erstellen, benötigen Sie nicht nur Zugriff auf mindestens ein Evaluatormodell, sondern auch bestimmte Berechtigungen für IAM-Servicerollen. Weitere Informationen über die erforderlichen Maßnahmen und Anforderungen an die Vertrauensrichtlinie finden Sie unter[Erforderliche Servicerollenberechtigungen für die Erstellung eines Modellbewertungsauftrags mit einem Judge-Modell](judge-service-roles.md).

Wenn Sie den Auftrag erstellen, geben Sie einen Prompt-Datensatz in einem Amazon-S3-Bucket und einen Ausgabe-Bucket an, in dem Ihre Ergebnisse gespeichert werden. Um sicherzustellen, dass Ihre S3-Buckets über die erforderlichen CORS-Berechtigungen verfügen, siehe [Erforderliche Cross Origin Resource Sharing (CORS)-Berechtigungen für S3-Buckets](model-evaluation-security-cors.md).

Um einen Auftrag in der Konsole zu erstellen, benötigt die Konsole die Berechtigung, bestimmte Aktionen auszuführen und muss Zugriff auf die benötigten Ressourcen haben. In der folgenden Richtlinie ist ein Mindestsatz von IAM-Berechtigungen definiert, die zum Erstellen eines Auftrags in der Konsole erforderlich sind. Wir empfehlen, in der Richtlinie das IAM-JSON-Richtlinienelement [Ressource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) zu verwenden, um den Zugriff nur auf die Modelle und Buckets zu beschränken, die für den IAM-Benutzer, die Gruppe oder die Rolle erforderlich sind.

Die IAM-Richtlinie muss Zugriff auf ein Evaluatormodell gewähren und außerdem für Abrufen-und-Generieren-Aufträge, die ein Amazon-Bedrock-Antwortgeneratormodell verwenden, Zugriff auf den Antwortgenerator gewähren.

### Erforderliche Konsolenberechtigungen
<a name="knowledge-base-evaluation-create-prereqs-permissions"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BedrockConsole",
            "Effect": "Allow",
            "Action": [
                "bedrock:CreateEvaluationJob",
                "bedrock:GetEvaluationJob",
                "bedrock:ListEvaluationJobs",
                "bedrock:StopEvaluationJob",
                "bedrock:GetCustomModel",
                "bedrock:ListCustomModels",
                "bedrock:CreateProvisionedModelThroughput",
                "bedrock:UpdateProvisionedModelThroughput",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:ListProvisionedModelThroughputs",
                "bedrock:GetImportedModel",
                "bedrock:ListImportedModels",
                "bedrock:ListTagsForResource",
                "bedrock:UntagResource",
                "bedrock:TagResource"
            ],
            "Resource": [
                "arn:aws:bedrock:us-west-2::foundation-model/*;"
            ]
        },
        {
            "Sid": "AllowConsoleS3AccessForModelEvaluation",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetBucketCORS",
                "s3:ListBucket",
                "s3:ListBucketVersions",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/*",
                "arn:aws:s3:::input_datasets/prompts.jsonl"
            ]
        }
    ]
}
```

------

**Anmerkung**  
In dieser Beispielrichtlinie werden Berechtigungen für alle Amazon-Bedrock-Basismodelle gewährt. In einer Produktionsumgebung empfehlen wir, dem Prinzip der [geringsten Berechtigung](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) zu folgen und nur die Zugriffsberechtigungen für die Modelle zu gewähren, die tatsächlich benötigt werden.

**Topics**
+ [Voraussetzungen](#knowledge-base-evaluation-create-prereqs)
+ [So erstellen Sie einen Nur-Abruf-Bewertungsauftrag unter RAG;](knowledge-base-evaluation-create-ro.md)
+ [So erstellen Sie einen Nur-Abruf-Bewertungsauftrag unter RAG mithilfe benutzerdefinierter Metriken](knowledge-base-evaluation-create-ro-custom.md)
+ [So erstellen Sie einen RAG-Bewertungsauftrag zum Abrufen und Generieren](knowledge-base-evaluation-create-randg.md)
+ [So erstellen Sie einen RAG-Bewertungsauftrag zum Abrufen und Generieren mithilfe benutzerdefinierter Metriken](knowledge-base-evaluation-create-randg-custom.md)

# So erstellen Sie einen Nur-Abruf-Bewertungsauftrag unter RAG;
<a name="knowledge-base-evaluation-create-ro"></a>

Sie können einen RAG-Bewertungsauftrag mithilfe der AWS-Managementkonsole, der AWS CLI oder eines unterstützten AWS SDKs erstellen.

Für diesen Auftragstyp ist Zugriff auf ein Evaluatormodell erforderlich. Eine Liste der unterstützten Evaluatormodelle finden Sie unter [Unterstützte Modelle](evaluation-kb.md#evaluation-kb-supported).

Um einen Job anhand der folgenden Anweisungen zu erstellen, benötigen Sie außerdem einen Prompt-Datensatz. Wenn Sie noch keinen erstellt haben, finden Sie weitere Informationen unter [Erstellen eines Prompt-Datensatzes für eine RAG-Bewertung in Amazon Bedrock](knowledge-base-evaluation-prompt.md).

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

1. Öffnen Sie die [Amazon-Bedrock-Konsole](https://console.aws.amazon.com/bedrock/home).

1. Wählen Sie im linken Bereich unter **Inferenz und Bewertung** die Option **Bewertungen** aus.

1. Wählen Sie im Bereich **RAG-Bewertungen** die Option **Erstellen** aus.

1. Gehen Sie wie folgt vor, um Ihre RAG-Bewertungsdetails einzugeben:

   1. Geben Sie im Bereich **Bewertungsdetails** unter **Bewertungsname** einen Namen für Ihren Bewertungsauftrag ein. Der ausgewählte Name muss innerhalb Ihrer AWS-Region eindeutig sein.

   1. Geben Sie optional unter **Beschreibung – *optional*** eine Beschreibung für Ihren Bewertungsauftrag ein.

   1. Klicken Sie unter **Evaluatormodell** auf **Modell auswählen** und wählen Sie das Evaluatormodell aus, für das Sie Ihre Bewertung durchführen möchten.

1. Geben Sie die Inferenzquelle für Ihren Bewertungsauftrag ein. Mit den RAG-Bewertungen in Amazon Bedrock können Sie entweder die Leistung der Wissensdatenbanken für Amazon Bedrock auswerten oder die anderer RAG-Quellen, indem Sie Ihre eigenen Inferenzantwortdaten im [Prompt-Datensatz](knowledge-base-evaluation-prompt.md) bereitstellen. Gehen Sie wie folgt vor, um eine Amazon Bedrock Knowledge Base auszuwählen:

   1. Wählen Sie im Bereich **Inferenzquelle** unter **Quelle auswählen** die Option **Bedrock Knowledge Base** aus.

   1. Wählen Sie unter **Wissensdatenbank auswählen** mithilfe der Dropdown-Liste eine Wissensdatenbank aus.

1. Gehen Sie wie folgt vor, um eigene Inferenzantwortdaten bereitzustellen:

   1. Wählen Sie im Bereich **Inferenzquelle** unter **Quelle auswählen** die Option **Eigene Inferenzantworten einbringen** aus.

   1. Geben Sie unter **Quellenname** einen Namen für die RAG-Quelle ein, mit der Sie die Antwortdaten erstellt haben. Der eingegebene Name muss mit dem `knowledgeBaseIdentifier`-Parameter in Ihrem [Prompt-Datensatz](knowledge-base-evaluation-prompt.md) übereinstimmen.

1. Wählen Sie im Bereich **Inferenzquelle** unter **Bewertungstyp** die Option **Nur Abruf** aus.

1. Wählen Sie die integrierten Metriken aus, die das Evaluatormodell verwenden soll, indem Sie sie im Bereich **Metriken** mindestens eine Metrik auswählen.

1. Definieren Sie Ihre Eingabe- und Ausgabeorte für Ihren Datensatz und Ihre Ergebnisse, indem Sie wie folgt vorgehen:

   1. Geben Sie im Bereich **Datensätze** unter **Prompt-Datensatz auswählen** den Amazon-S3-URI für Ihren Prompt-Datensatz ein, oder wählen Sie **S3 durchsuchen** aus, um Ihre Datei auszuwählen. Eine Definition des erforderlichen Prompt-Datensatzformats für einen Nur-Abruf-Bewertungsauftrag finden Sie unter [Erstellen eines Prompt-Datensatzes für RAG-Bewertungsaufträge, die nur zum Abrufen bestimmt sind](knowledge-base-evaluation-prompt-retrieve.md).

   1. Geben Sie unter **Ergebnisse der Bewertung** einen Amazon-S3-Speicherort für Amazon Bedrock ein oder wählen Sie **S3 durchsuchen** aus, um einen Speicherort auszuwählen.

1. Wählen Sie unter **IAM-Rolle für Amazon-Bedrock – Berechtigungen** die Option **Neue Servicerolle erstellen und verwenden** aus, damit Amazon Bedrock eine neue IAM-Rolle für den Bewertungsauftrag erstellt, oder wählen Sie **Eine vorhandene Servicerolle verwenden** aus, um eine vorhandene IAM-Rolle auszuwählen. Eine Liste der erforderlichen Berechtigungen zum Erstellen und Ausführen eines Bewertungsauftrags finden Sie unter [Voraussetzungen](knowledge-base-evaluation-create.md#knowledge-base-evaluation-create-prereqs).

1. (Optional) Um Ihren eigenen KMS-Schlüssel zum Verschlüsseln Ihrer Bewertungsdaten zu verwenden, aktivieren Sie unter **KMSkey – *Optional*** die Option **Verschlüsselungseinstellungen anpassen (erweitert)** und wählen dann Ihren AWS KMS-Schlüssel aus. Amazon Bedrock verschlüsselt die Daten Ihres Bewertungsauftrags standardmäßig mit einem AWS-eigenen KMS-Schlüssel.

1. Klicken Sie auf **Erstellen**, um die Erstellung Ihres Bewertungsauftrags abzuschließen.

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

**So erstellen Sie einen Nur-Abruf-Bewertungsauftrag für Amazon Bedrock Knowledge Base**
+ Führen Sie den folgenden AWS CLI-Befehl mit der JSON-Beispieldatei aus.

  ```
  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/"
      }
  }
  ```

**So erstellen Sie einen Nur-Abruf-Bewertungsauftrag mit Ihren eigenen Inferenzantwortdaten**
+ Führen Sie den folgenden AWS CLI-Befehl mit der JSON-Beispieldatei aus.

  ```
  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 ]

Das folgende Python-Codebeispiel zeigt, wie ein reiner Abrufauftrag für Amazon Bedrock Knowledge Base mithilfe von AWS SDK für Python (Boto3) erstellt wird. Weitere Informationen zur Erstellung eines Bewertungsauftrags mit Boto3 finden Sie unter [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) in der Boto3-Dokumentation.

```
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)
```

------

# So erstellen Sie einen Nur-Abruf-Bewertungsauftrag unter RAG mithilfe benutzerdefinierter Metriken
<a name="knowledge-base-evaluation-create-ro-custom"></a>

Folgendes ist erforderlich, um Ihre eigene benutzerdefinierte Bewertungsmetrik zu erstellen:
+ Ein Prompt mit detaillierten Anweisungen für das zu verwendende Judge-Modell
+ Das Evaluatormodell, das Sie für Ihre benutzerdefinierten Metriken verwenden möchten

Sie können auch eine Bewertungsskala (Ausgabeschema) angeben, mit der das Judge-Modell die Antworten des Generatormodells bewerten kann.

Sie können einen Bewertungsauftrag mit benutzerdefinierten Metriken mithilfe der AWS-Managementkonsole, der AWS Command Line Interface (AWS CLI) oder der Amazon-Bedrock-API erstellen. Verwenden Sie folgende Anleitungen zum Erstellen Ihres Bewertungsauftrags. Anweisungen und Anleitungen zur Erstellung des Prompts für Ihre Metrik und zur Definition der Bewertungsskala, die Sie bei der Erstellung angeben, finden Sie unter [Erstellen eines Prompts für eine benutzerdefinierte Metrik](kb-evaluation-custom-metrics-prompt-formats.md).

Wenn Sie einen Bewertungsauftrag mit einer oder mehreren benutzerdefinierten Metriken erstellen, speichert Amazon Bedrock Ihre Metrikdefinitionen als JSON-Dateien im angegebenen S3-Ausgabe-Bucket. Sie können auf diese Dateien zugreifen, indem Sie zu `s3://S3-output-bucket-name/job-name/job-uuid/custom_metrics` navigieren. Das Format für JSON-Definitionen von benutzerdefinierten Metriken finden Sie unter [Erstellen einer JSON-Datei zur Erstellung einer benutzerdefinierten Metrik](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-json).

Um einen Job anhand der folgenden Anweisungen zu erstellen, benötigen Sie außerdem einen Prompt-Datensatz. Wenn Sie noch keinen erstellt haben, finden Sie weitere Informationen unter [Erstellen eines Prompt-Datensatzes für eine RAG-Bewertung in Amazon Bedrock](knowledge-base-evaluation-prompt.md).

Eine Liste der unterstützten Evaluatormodelle finden Sie unter [Unterstützte Modelle](evaluation-kb.md#evaluation-kb-supported). Weitere Informationen über Modellzugriffe finden Sie unter [Zugriff auf Amazon-Bedrock-Basismodelle](model-access.md).

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

1. Öffnen Sie die [Amazon-Bedrock-Konsole](https://console.aws.amazon.com/bedrock/home).

1. Wählen Sie im linken Bereich unter **Inferenz und Bewertung** die Option **Bewertungen** aus.

1. Wählen Sie im Bereich **RAG-Bewertungen** die Option **Erstellen** aus.

1. Gehen Sie wie folgt vor, um Ihre RAG-Bewertungsdetails einzugeben:

   1. Geben Sie im Bereich **Bewertungsdetails** unter **Bewertungsname** einen Namen für Ihren Bewertungsauftrag ein. Der ausgewählte Name muss innerhalb Ihrer AWS-Region eindeutig sein.

   1. Geben Sie optional unter **Beschreibung – *optional*** eine Beschreibung für Ihren Bewertungsauftrag ein.

   1. Klicken Sie unter **Evaluatormodell** auf **Modell auswählen** und wählen Sie das Evaluatormodell aus, für das Sie Ihre Bewertung durchführen möchten.

1. Geben Sie die Inferenzquelle für Ihren Bewertungsauftrag ein. Mit den RAG-Bewertungen in Amazon Bedrock können Sie entweder die Leistung der Wissensdatenbanken für Amazon Bedrock auswerten oder die anderer RAG-Quellen, indem Sie Ihre eigenen Inferenzantwortdaten im [Prompt-Datensatz](knowledge-base-evaluation-prompt.md) bereitstellen. Gehen Sie wie folgt vor, um eine Amazon Bedrock Knowledge Base auszuwählen:

   1. Wählen Sie im Bereich **Inferenzquelle** unter **Quelle auswählen** die Option **Bedrock Knowledge Base** aus.

   1. Wählen Sie unter **Wissensdatenbank auswählen** mithilfe der Dropdown-Liste eine Wissensdatenbank aus.

1. Gehen Sie wie folgt vor, um eigene Inferenzantwortdaten bereitzustellen:

   1. Wählen Sie im Bereich **Inferenzquelle** unter **Quelle auswählen** die Option **Eigene Inferenzantworten einbringen** aus.

   1. Geben Sie unter **Quellenname** einen Namen für die RAG-Quelle ein, mit der Sie die Antwortdaten erstellt haben. Der eingegebene Name muss mit dem `knowledgeBaseIdentifier`-Parameter in Ihrem [Prompt-Datensatz](knowledge-base-evaluation-prompt.md) übereinstimmen.

1. Wählen Sie im Bereich **Inferenzquelle** unter **Bewertungstyp** die Option **Nur Abruf** aus.

1. Wählen Sie alle integrierten Metriken aus, die das Evaluatormodell verwenden soll, indem Sie sie im Bereich **Metriken** auswählen.

1. Wenn Sie eine weitere benutzerdefinierte Metrik hinzufügen möchten, wählen Sie zunächst das Evaluatormodell aus, das Sie zur Bewertung Ihrer Metriken verwenden möchten. Gehen Sie im Bereich **Eigene Metriken** wie folgt vor:

   1. Klicken Sie auf **Modell auswählen**.

   1. Wählen Sie im Pop-Up-Fenster das Modell aus, das Sie verwenden möchten.

   1. Wählen Sie **Anwenden** aus.

1. Geben Sie unter **Metrikname** einen Namen für Ihre Metrik ein.

1. Sie können Ihre Metrik auf drei Arten konfigurieren: indem Sie eine JSON-Datei bereitstellen, die die Metrik spezifiziert, indem Sie einen vorhandenen integrierten Metrik-Prompt aus einer Vorlage bearbeiten oder indem Sie einen Prompt für das Evaluatormodell direkt in die Konsole eingeben.

   Gehen Sie wie folgt vor, um eine Metrik aus einer JSON-Datei zu erstellen:

   1. Wählen Sie unter **Metriktyp auswählen** die Option **JSON-Datei importieren** aus.

   1. Wählen Sie unter **JSON-Datei importieren** die Option **Datei auswählen** aus.

   1. Wählen Sie in der Dateiauswahl die JSON-Datei mit Ihrer benutzerdefinierten Metrikdefinition aus und klicken Sie auf **Öffnen**. Um mehr über das Schema zur Definition einer benutzerdefinierten Metrik mithilfe einer JSON-Datei zu erfahren und einige Beispieldateien zu sehen, siehe [Erstellen einer JSON-Datei zur Erstellung einer benutzerdefinierten Metrik](kb-evaluation-custom-metrics-prompt-formats.md#kb-evaluation-custom-metrics-prompt-formats-json).

   1. (Optional) Um eine weitere Metrik zu erstellen, wählen Sie **Benutzerdefinierte Metriken hinzufügen** aus. Sie können bis zu 10 benutzerdefinierte Metriken für einen Bewertungsauftrag erstellen.

      Wenn Sie mit der Erstellung Ihrer benutzerdefinierten Metriken fertig sind, fahren Sie mit Schritt 14 fort, um Ihre Datensätze für den Bewertungsauftrag zu konfigurieren.

1. Gehen Sie wie folgt vor, um eine benutzerdefinierte Metrik aus einer integrierten Vorlage zu erstellen:

   1. Wählen Sie unter **Metriktyp auswählen** die Option **Vorlage verwenden** aus.

   1. Wählen Sie unter **Vorlage auswählen** in der Dropdown-Liste einen vorhandenen integrierten Metrik-Prompt aus, den Sie als Ausgangspunkt für Ihre benutzerdefinierte Metrik verwenden möchten.

   1. Bearbeiten Sie unter **Anweisungen** den von Ihnen ausgewählten Prompt entsprechend Ihrem eigenen Anwendungsfall. Best Practices und eine Liste der erforderlichen Elemente beim Erstellen eines benutzerdefinierten metrischen Prompts finden Sie unter [Erstellen eines Prompts für eine benutzerdefinierte Metrik](kb-evaluation-custom-metrics-prompt-formats.md).

   1. Wenn Sie möchten, dass Ihr Bewertungsauftrag strukturierte Ergebnisse mit Rangwerten ausgibt, lassen Sie das Kontrollkästchen **Ausgabeschema aktiviert (empfohlen)** aktiviert. Ihre Metrikkonfiguration muss kein Ausgabeschema enthalten; wir empfehlen Ihnen jedoch, eines zu definieren. Wenn Sie kein Schema verwenden, enthalten die angezeigten Ergebnisse nur Erklärungen ohne Punktzahlen oder Datenvisualisierung.

   1. Wählen Sie unter **Skalentyp** je nach Anwendungsfall entweder **Numerisch** oder **Zeichenfolge** aus, und geben Sie Ihre Skalen- und Beschreibungsdefinitionen in die Textfelder ein. Anleitungen und Best Practices zur Definition von Ausgabeskalen finden Sie unter [Angeben eines Ausgabeschemas (Bewertungsskala)](kb-evaluation-custom-metrics-prompt-formats.md#kb-evaluation-custom-metrics-prompt-formats-schema).

   1. (Optional) Um eine weitere Metrik zu erstellen, wählen Sie **Benutzerdefinierte Metriken hinzufügen** aus. Sie können bis zu 10 benutzerdefinierte Metriken für einen Bewertungsauftrag erstellen.

      Wenn Sie mit der Erstellung Ihrer benutzerdefinierten Metriken fertig sind, fahren Sie mit Schritt 14 fort, um Ihre Datensätze für den Bewertungsauftrag zu konfigurieren.

1. Gehen Sie wie folgt vor, um eine benutzerdefinierte Metrik in der Konsole von Grund auf neu zu erstellen:

   1. Wählen Sie unter **Metriktyp auswählen** die Option **Benutzerdefiniert** aus.

   1. Geben Sie unter **Anweisungen** den Prompt für Ihre benutzerdefinierte Metrik direkt in das Textfeld ein. Best Practices und eine Liste der erforderlichen Elemente beim Erstellen eines benutzerdefinierten metrischen Prompts finden Sie unter [Erstellen eines Prompts und Best Practices](kb-evaluation-custom-metrics-prompt-formats.md#kb-evaluation-custom-metrics-prompt-formats-create).

   1. Wenn Sie möchten, dass Ihr Bewertungsauftrag strukturierte Ergebnisse mit Rangwerten ausgibt, lassen Sie das Kontrollkästchen **Ausgabeschema aktiviert (empfohlen)** aktiviert. Ihre Metrikkonfiguration muss kein Ausgabeschema enthalten; wir empfehlen Ihnen jedoch, eines zu definieren. Wenn Sie kein Schema verwenden, enthalten die angezeigten Ergebnisse nur Erklärungen ohne Punktzahlen oder Datenvisualisierung.

   1. Wählen Sie unter **Skalentyp** je nach Anwendungsfall entweder **Numerisch** oder **Zeichenfolge** aus, und geben Sie Ihre Skalen- und Beschreibungsdefinitionen in die Textfelder ein. Anleitungen und Best Practices zur Definition von Ausgabeskalen finden Sie unter [Angeben eines Ausgabeschemas (Bewertungsskala)](kb-evaluation-custom-metrics-prompt-formats.md#kb-evaluation-custom-metrics-prompt-formats-schema).

   1. (Optional) Um eine weitere Metrik zu erstellen, wählen Sie **Benutzerdefinierte Metriken hinzufügen** aus. Sie können bis zu 10 benutzerdefinierte Metriken für einen Bewertungsauftrag erstellen.

      Wenn Sie mit der Erstellung Ihrer benutzerdefinierten Metriken fertig sind, fahren Sie mit dem nächsten Schritt fort, um Ihre Datensätze für den Bewertungsauftrag zu konfigurieren.

1. Definieren Sie Ihre Eingabe- und Ausgabeorte für Ihren Datensatz und Ihre Ergebnisse, indem Sie wie folgt vorgehen:

   1. Geben Sie im Bereich **Datensätze** unter **Prompt-Datensatz auswählen** den Amazon-S3-URI für Ihren Prompt-Datensatz ein, oder wählen Sie **S3 durchsuchen** aus, um Ihre Datei auszuwählen. Eine Definition des erforderlichen Prompt-Datensatzformats für einen Nur-Abruf-Bewertungsauftrag finden Sie unter [Erstellen eines Prompt-Datensatzes für RAG-Bewertungsaufträge, die nur zum Abrufen bestimmt sind](knowledge-base-evaluation-prompt-retrieve.md).

   1. Geben Sie unter **Ergebnisse der Bewertung** einen Amazon-S3-Speicherort für Amazon Bedrock ein oder wählen Sie **S3 durchsuchen** aus, um einen Speicherort auszuwählen.

1. Wählen Sie unter **IAM-Rolle für Amazon-Bedrock – Berechtigungen** die Option **Neue Servicerolle erstellen und verwenden** aus, damit Amazon Bedrock eine neue IAM-Rolle für den Bewertungsauftrag erstellt, oder wählen Sie **Eine vorhandene Servicerolle verwenden** aus, um eine vorhandene IAM-Rolle auszuwählen. Eine Liste der erforderlichen Berechtigungen zum Erstellen und Ausführen eines Bewertungsauftrags finden Sie unter [Voraussetzungen](knowledge-base-evaluation-create.md#knowledge-base-evaluation-create-prereqs).

1. (Optional) Um Ihren eigenen KMS-Schlüssel zum Verschlüsseln Ihrer Bewertungsdaten zu verwenden, aktivieren Sie unter **KMSkey – *Optional*** die Option **Verschlüsselungseinstellungen anpassen (erweitert)** und wählen dann Ihren AWS KMS-Schlüssel aus. Amazon Bedrock verschlüsselt die Daten Ihres Bewertungsauftrags standardmäßig mit einem AWS-eigenen KMS-Schlüssel.

1. Klicken Sie auf **Erstellen**, um die Erstellung Ihres Bewertungsauftrags abzuschließen.

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

**So erstellen Sie einen Nur-Abruf-Bewertungsauftrag für Amazon Bedrock Knowledge Base**
+ Führen Sie den folgenden AWS CLI-Befehl mit der JSON-Beispieldatei aus.

  ```
  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-Custom-Metric",
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.ContextCoverage",
                          "Builtin.ContextRelevance",
                          "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": {
          "ragConfigs": [
              {
                  "knowledgeBaseConfig": {
                      "retrieveConfig": {
                          "knowledgeBaseId": "your-knowledge-base-id",
                          "knowledgeBaseRetrievalConfiguration": {
                              "vectorSearchConfiguration": {
                                  "numberOfResults": 3
                              }
                          }
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```
**Anmerkung**  
Die JSON-Beispieldatei enthält zwei `evaluatorModelConfig`-Objekte. Die Instance innerhalb des `customMetricConfig`-Objekts spezifiziert das Evaluatormodell, das mit benutzerdefinierten Metriken verwendet werden soll. Die andere Instance spezifiziert das Modell, das für integrierte Metriken verwendet werden soll. Achten Sie darauf, diese beiden Objekte korrekt anzugeben.

**So erstellen Sie einen Nur-Abruf-Bewertungsauftrag mit Ihren eigenen Inferenzantwortdaten**
+ Führen Sie den folgenden AWS CLI-Befehl mit der JSON-Beispieldatei aus.

  ```
  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-Custom-Metric",
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.ContextCoverage",
                          "Builtin.ContextRelevance",
                          "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": {
          "ragConfigs": [
              {
                  "precomputedRagSourceConfig": {
                      "retrieveSourceConfig": {
                          "ragSourceIdentifier": "my_rag_source"
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```
**Anmerkung**  
Die JSON-Beispieldatei enthält zwei `evaluatorModelConfig`-Objekte. Die Instance innerhalb des `customMetricConfig`-Objekts spezifiziert das Evaluatormodell, das mit benutzerdefinierten Metriken verwendet werden soll. Die andere Instance spezifiziert das Modell, das für integrierte Metriken verwendet werden soll. Achten Sie darauf, diese beiden Objekte korrekt anzugeben.

------

# So erstellen Sie einen RAG-Bewertungsauftrag zum Abrufen und Generieren
<a name="knowledge-base-evaluation-create-randg"></a>

Sie können einen RAG-Bewertungsauftrag mithilfe der AWS-Managementkonsole, der AWS CLI oder eines unterstützten AWS SDKs erstellen.

Für diesen Auftragstyp ist Zugriff auf ein Evaluatormodell erforderlich. Eine Liste der unterstützten Evaluatormodelle finden Sie unter [Unterstützte Modelle](evaluation-kb.md#evaluation-kb-supported). 

Für eine Auftragserstellung mit den folgenden Anweisungen benötigen Sie einen Prompt-Datensatz. Wenn Sie noch keinen erstellt haben, finden Sie weitere Informationen unter [Erstellen eines Prompt-Datensatzes für eine RAG-Bewertung in Amazon Bedrock](knowledge-base-evaluation-prompt.md).

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

1. Öffnen Sie die [Amazon-Bedrock-Konsole](https://console.aws.amazon.com/bedrock/home).

1. Wählen Sie im linken Bereich unter **Inferenz und Bewertung** die Option **Bewertungen** aus.

1. Wählen Sie im Bereich **RAG-Bewertungen** die Option **Erstellen** aus.

1. Gehen Sie wie folgt vor, um Ihre RAG-Bewertungsdetails einzugeben:

   1. Geben Sie im Bereich **Bewertungsdetails** unter **Bewertungsname** einen Namen für Ihren Bewertungsauftrag ein. Der ausgewählte Name muss innerhalb Ihrer AWS-Region eindeutig sein.

   1. Geben Sie optional unter **Beschreibung – *optional*** eine Beschreibung für Ihren Bewertungsauftrag ein.

   1. Klicken Sie unter **Evaluatormodell** auf **Modell auswählen** und wählen Sie das Evaluatormodell aus, für das Sie Ihre Bewertung durchführen möchten.

1. Geben Sie die Inferenzquelle für Ihren Bewertungsauftrag ein. Mit den RAG-Bewertungen in Amazon Bedrock können Sie entweder die Leistung der Wissensdatenbanken für Amazon Bedrock auswerten oder die anderer RAG-Quellen, indem Sie Ihre eigenen Inferenzantwortdaten im [Prompt-Datensatz](knowledge-base-evaluation-prompt.md) bereitstellen. Gehen Sie wie folgt vor, um eine Amazon Bedrock Knowledge Base auszuwählen:

   1. Wählen Sie im Bereich **Inferenzquelle** unter **Quelle auswählen** die Option **Bedrock Knowledge Base** aus.

   1. Wählen Sie unter **Wissensdatenbank auswählen** mithilfe der Dropdown-Liste eine Wissensdatenbank aus.

1. Gehen Sie wie folgt vor, um eigene Inferenzantwortdaten bereitzustellen:

   1. Wählen Sie im Bereich **Inferenzquelle** unter **Quelle auswählen** die Option **Eigene Inferenzantworten einbringen** aus.

   1. Geben Sie unter **Quellenname** einen Namen für die RAG-Quelle ein, mit der Sie die Antwortdaten erstellt haben. Der eingegebene Name muss mit dem `knowledgeBaseIdentifier`-Parameter in Ihrem [Prompt-Datensatz](knowledge-base-evaluation-prompt.md) übereinstimmen.

1. Wählen Sie im Bereich **Inferenzquelle** unter **Bewertungstyp** die Option **Abruf und Antwortgenerierung** aus.

1. Wählen Sie die integrierten Metriken aus, die das Evaluatormodell verwenden soll, indem Sie sie im Bereich **Metriken** mindestens eine Metrik auswählen.

1. Definieren Sie Ihre Eingabe- und Ausgabeorte für Ihren Datensatz und Ihre Ergebnisse, indem Sie wie folgt vorgehen:

   1. Geben Sie im Bereich **Datensätze** unter **Prompt-Datensatz auswählen** den Amazon-S3-URI für Ihren Prompt-Datensatz ein, oder wählen Sie **S3 durchsuchen** aus, um Ihre Datei auszuwählen. Eine Definition des erforderlichen Prompt-Datensatzformats für einen Nur-Abruf-Bewertungsauftrag finden Sie unter [Erstellen eines Prompt-Datensatzes für RAG-Bewertungsaufträge, die nur zum Abrufen bestimmt sind](knowledge-base-evaluation-prompt-retrieve.md).

   1. Geben Sie unter **Ergebnisse der Bewertung** einen Amazon-S3-Speicherort für Amazon Bedrock ein oder wählen Sie **S3 durchsuchen** aus, um einen Speicherort auszuwählen.

1. Wählen Sie unter **IAM-Rolle für Amazon-Bedrock – Berechtigungen** die Option **Neue Servicerolle erstellen und verwenden** aus, damit Amazon Bedrock eine neue IAM-Rolle für den Bewertungsauftrag erstellt, oder wählen Sie **Eine vorhandene Servicerolle verwenden** aus, um eine vorhandene IAM-Rolle auszuwählen. Eine Liste der erforderlichen Berechtigungen zum Erstellen und Ausführen eines Bewertungsauftrags finden Sie unter [Voraussetzungen](knowledge-base-evaluation-create.md#knowledge-base-evaluation-create-prereqs).

1. (Optional) Um Ihren eigenen KMS-Schlüssel zum Verschlüsseln Ihrer Bewertungsdaten zu verwenden, aktivieren Sie unter **KMSkey – *Optional*** die Option **Verschlüsselungseinstellungen anpassen (erweitert)** und wählen dann Ihren AWS KMS-Schlüssel aus. Amazon Bedrock verschlüsselt die Daten Ihres Bewertungsauftrags standardmäßig mit einem AWS-eigenen KMS-Schlüssel.

1. Klicken Sie auf **Erstellen**, um die Erstellung Ihres Bewertungsauftrags abzuschließen.

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

**So erstellen Sie einen Bewertungsauftrag zum Abrufen und Generieren für Amazon Bedrock Knowledge Base**
+ Führen Sie den folgenden AWS CLI-Befehl mit der JSON-Beispieldatei aus.

  ```
  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/retrieve-and-generate/rng-eval-byoir.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.Correctness",
                          "Builtin.Completeness",
                          "Builtin.Helpfulness",
                          "Builtin.LogicalCoherence",
                          "Builtin.Faithfulness",
                          "Builtin.Harmfulness",
                          "Builtin.Stereotyping",
                          "Builtin.Refusal",
                          "Builtin.CitationCoverage",
                          "Builtin.CitationPrecision"
                      ]
                  }
              ],
              "evaluatorModelConfig": {
                  "bedrockEvaluatorModels": [
                      {
                          "modelIdentifier": "us.meta.llama3-1-70b-instruct-v1:0"
                      }
                  ]
              }
          }
      },
     "inferenceConfig": {
          "ragConfigs": [
              {
                  "knowledgeBaseConfig": {
                      "retrieveAndGenerateConfig": {
                          "type": "KNOWLEDGE_BASE",
                          "knowledgeBaseConfiguration": {
                              "knowledgeBaseId": "≪Your Knowledge Base ID>",
                              "modelArn": "mistral.mistral-large-2402-v1:0",
                              "generationConfiguration": {
                                  "promptTemplate": {
                                      "textPromptTemplate": "$search_results$ hello world template"
                                  }
                              },
                              "orchestrationConfiguration": {
                                  "queryTransformationConfiguration": {
                                      "type": "QUERY_DECOMPOSITION"
                                  }
                               }
                          }
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```

**So erstellen Sie einen Abruf- und Generierungsauftrag mit Ihren eigenen Inferenzantwortdaten**
+ Führen Sie den folgenden AWS CLI-Befehl mit der JSON-Beispieldatei aus.

  ```
  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/retrieve-and-generate/rng-eval-byoir.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.Correctness",
                          "Builtin.Completeness",
                          "Builtin.Helpfulness",
                          "Builtin.LogicalCoherence",
                          "Builtin.Faithfulness",
                          "Builtin.Harmfulness",
                          "Builtin.Stereotyping",
                          "Builtin.Refusal",
                          "Builtin.CitationCoverage",
                          "Builtin.CitationPrecision"
                      ]
                  }
              ],
              "evaluatorModelConfig": {
                  "bedrockEvaluatorModels": [
                      {
                          "modelIdentifier": "us.meta.llama3-1-70b-instruct-v1:0"
                      }
                  ]
              }
          }
      },
      "inferenceConfig": {
          "ragConfigs": [
              {
                  "precomputedRagSourceConfig": {
                      "retrieveAndGenerateSourceConfig": {
                          "ragSourceIdentifier": "my_rag_source"
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```

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

Im folgenden Python-Beispiel sehen Sie, wie Sie einen boto3-API-Aufruf *Abrufen und Generieren* erstellen.

```
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/role-name",
    applicationType="RagEvaluation",
    inferenceConfig={
        "ragConfigs": [
            {
                "knowledgeBaseConfig": {
                    "retrieveAndGenerateConfig": {
                        "type": "KNOWLEDGE_BASE",
                        "knowledgeBaseConfiguration": {
                            "knowledgeBaseId": "73SPNQM4CI",
                            "modelArn": "anthropic.claude-3-sonnet-20240229-v1:0",
                            "generationConfiguration": {
                                "promptTemplate": {
                                    "textPromptTemplate": "$search_results$ hello world template"
                                }
                            },
                             "retrievalConfiguration": {
                                 "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.Faithfulness"
                    ]
                }
            ],
            "evaluatorModelConfig":
                {
                    "bedrockEvaluatorModels": [{
                        "modelIdentifier": "meta.llama3-1-70b-instruct-v1:0"
                    }]
                }
        }
    }
)

print(job_request)
```

------

# So erstellen Sie einen RAG-Bewertungsauftrag zum Abrufen und Generieren mithilfe benutzerdefinierter Metriken
<a name="knowledge-base-evaluation-create-randg-custom"></a>

Folgendes ist erforderlich, um Ihre eigene benutzerdefinierte Bewertungsmetrik zu erstellen:
+ Ein Prompt mit detaillierten Anweisungen für das zu verwendende Judge-Modell
+ Das Evaluatormodell, das Sie für Ihre benutzerdefinierten Metriken verwenden möchten

Sie können auch eine Bewertungsskala (Ausgabeschema) angeben, mit der das Judge-Modell die Antworten des Generatormodells bewerten kann.

Sie können einen Bewertungsauftrag mit benutzerdefinierten Metriken mithilfe der AWS-Managementkonsole, der AWS Command Line Interface (AWS CLI) oder der Amazon-Bedrock-API erstellen. Verwenden Sie folgende Anleitungen zum Erstellen Ihres Bewertungsauftrags. Anweisungen und Anleitungen zur Erstellung des Prompts für Ihre Metrik und zur Definition der Bewertungsskala, die Sie bei der Erstellung angeben, finden Sie unter [Erstellen eines Prompts für eine benutzerdefinierte Metrik](kb-evaluation-custom-metrics-prompt-formats.md).

Wenn Sie einen Bewertungsauftrag mit einer oder mehreren benutzerdefinierten Metriken erstellen, speichert Amazon Bedrock Ihre Metrikdefinitionen als JSON-Dateien im angegebenen S3-Ausgabe-Bucket. Sie können auf diese Dateien zugreifen, indem Sie zu `s3://S3-output-bucket-name/job-name/job-uuid/custom_metrics` navigieren. Das Format für JSON-Definitionen von benutzerdefinierten Metriken finden Sie unter [Erstellen einer JSON-Datei zur Erstellung einer benutzerdefinierten Metrik](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-json).

Um einen Job anhand der folgenden Anweisungen zu erstellen, benötigen Sie außerdem einen Prompt-Datensatz. Wenn Sie noch keinen erstellt haben, finden Sie weitere Informationen unter [Erstellen eines Prompt-Datensatzes für eine RAG-Bewertung in Amazon Bedrock](knowledge-base-evaluation-prompt.md).

Eine Liste der unterstützten Evaluatormodelle finden Sie unter [Unterstützte Modelle](evaluation-kb.md#evaluation-kb-supported).

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

1. Öffnen Sie die [Amazon-Bedrock-Konsole](https://console.aws.amazon.com/bedrock/home).

1. Wählen Sie im linken Bereich unter **Inferenz und Bewertung** die Option **Bewertungen** aus.

1. Wählen Sie im Bereich **RAG-Bewertungen** die Option **Erstellen** aus.

1. Gehen Sie wie folgt vor, um Ihre RAG-Bewertungsdetails einzugeben:

   1. Geben Sie im Bereich **Bewertungsdetails** unter **Bewertungsname** einen Namen für Ihren Bewertungsauftrag ein. Der ausgewählte Name muss innerhalb Ihrer AWS-Region eindeutig sein.

   1. Geben Sie optional unter **Beschreibung – *optional*** eine Beschreibung für Ihren Bewertungsauftrag ein.

   1. Klicken Sie unter **Evaluatormodell** auf **Modell auswählen** und wählen Sie das Evaluatormodell aus, für das Sie Ihre Bewertung durchführen möchten.

1. Geben Sie die Inferenzquelle für Ihren Bewertungsauftrag ein. Mit den RAG-Bewertungen in Amazon Bedrock können Sie entweder die Leistung der Wissensdatenbanken für Amazon Bedrock auswerten oder die anderer RAG-Quellen, indem Sie Ihre eigenen Inferenzantwortdaten im [Prompt-Datensatz](knowledge-base-evaluation-prompt.md) bereitstellen. Gehen Sie wie folgt vor, um eine Amazon Bedrock Knowledge Base auszuwählen:

   1. Wählen Sie im Bereich **Inferenzquelle** unter **Quelle auswählen** die Option **Bedrock Knowledge Base** aus.

   1. Wählen Sie unter **Wissensdatenbank auswählen** mithilfe der Dropdown-Liste eine Wissensdatenbank aus.

1. Gehen Sie wie folgt vor, um eigene Inferenzantwortdaten bereitzustellen:

   1. Wählen Sie im Bereich **Inferenzquelle** unter **Quelle auswählen** die Option **Eigene Inferenzantworten einbringen** aus.

   1. Geben Sie unter **Quellenname** einen Namen für die RAG-Quelle ein, mit der Sie die Antwortdaten erstellt haben. Der eingegebene Name muss mit dem `knowledgeBaseIdentifier`-Parameter in Ihrem [Prompt-Datensatz](knowledge-base-evaluation-prompt.md) übereinstimmen.

1. Wählen Sie im Bereich **Inferenzquelle** unter **Bewertungstyp** die Option **Abruf und Antwortgenerierung** aus.

1. Wählen Sie alle integrierten Metriken aus, die das Evaluatormodell verwenden soll, indem Sie sie im Bereich **Metriken** auswählen.

1. Wenn Sie eine weitere benutzerdefinierte Metrik hinzufügen möchten, wählen Sie zunächst das Evaluatormodell aus, das Sie zur Bewertung Ihrer Metriken verwenden möchten. Gehen Sie im Bereich **Eigene Metriken** wie folgt vor:

   1. Klicken Sie auf **Modell auswählen**.

   1. Wählen Sie im Pop-Up-Fenster das Modell aus, das Sie verwenden möchten.

   1. Wählen Sie **Anwenden** aus.

1. Geben Sie unter **Metrikname** einen Namen für Ihre Metrik ein.

1. Sie können Ihre Metrik auf drei Arten konfigurieren: indem Sie eine JSON-Datei bereitstellen, die die Metrik spezifiziert, indem Sie einen vorhandenen integrierten Metrik-Prompt aus einer Vorlage bearbeiten oder indem Sie einen Prompt für das Evaluatormodell direkt in die Konsole eingeben.

   Gehen Sie wie folgt vor, um eine Metrik aus einer JSON-Datei zu erstellen:

   1. Wählen Sie unter **Metriktyp auswählen** die Option **JSON-Datei importieren** aus.

   1. Wählen Sie unter **JSON-Datei importieren** die Option **Datei auswählen** aus.

   1. Wählen Sie in der Dateiauswahl die JSON-Datei mit Ihrer benutzerdefinierten Metrikdefinition aus und klicken Sie auf **Öffnen**. Um mehr über das Schema zur Definition einer benutzerdefinierten Metrik mithilfe einer JSON-Datei zu erfahren und einige Beispieldateien zu sehen, siehe [Erstellen einer JSON-Datei zur Erstellung einer benutzerdefinierten Metrik](kb-evaluation-custom-metrics-prompt-formats.md#kb-evaluation-custom-metrics-prompt-formats-json).

   1. (Optional) Um eine weitere Metrik zu erstellen, wählen Sie **Benutzerdefinierte Metriken hinzufügen** aus. Sie können bis zu 10 benutzerdefinierte Metriken für einen Bewertungsauftrag erstellen.

      Wenn Sie mit der Erstellung Ihrer benutzerdefinierten Metriken fertig sind, fahren Sie mit Schritt 14 fort, um Ihre Datensätze für den Bewertungsauftrag zu konfigurieren.

1. Gehen Sie wie folgt vor, um eine benutzerdefinierte Metrik aus einer integrierten Vorlage zu erstellen:

   1. Wählen Sie unter **Metriktyp auswählen** die Option **Vorlage verwenden** aus.

   1. Wählen Sie unter **Vorlage auswählen** in der Dropdown-Liste einen vorhandenen integrierten Metrik-Prompt aus, den Sie als Ausgangspunkt für Ihre benutzerdefinierte Metrik verwenden möchten.

   1. Bearbeiten Sie unter **Anweisungen** den von Ihnen ausgewählten Prompt entsprechend Ihrem eigenen Anwendungsfall. Best Practices und eine Liste der erforderlichen Elemente beim Erstellen eines benutzerdefinierten metrischen Prompts finden Sie unter [Erstellen eines Prompts für eine benutzerdefinierte Metrik](kb-evaluation-custom-metrics-prompt-formats.md).

   1. Wenn Sie möchten, dass Ihr Bewertungsauftrag strukturierte Ergebnisse mit Rangwerten ausgibt, lassen Sie das Kontrollkästchen **Ausgabeschema aktiviert (empfohlen)** aktiviert. Ihre Metrikkonfiguration muss kein Ausgabeschema enthalten; wir empfehlen Ihnen jedoch, eines zu definieren. Wenn Sie kein Schema verwenden, enthalten die angezeigten Ergebnisse nur Erklärungen ohne Punktzahlen oder Datenvisualisierung.

   1. Wählen Sie unter **Skalentyp** je nach Anwendungsfall entweder **Numerisch** oder **Zeichenfolge** aus, und geben Sie Ihre Skalen- und Beschreibungsdefinitionen in die Textfelder ein. Anleitungen und Best Practices zur Definition von Ausgabeskalen finden Sie unter [Angeben eines Ausgabeschemas (Bewertungsskala)](kb-evaluation-custom-metrics-prompt-formats.md#kb-evaluation-custom-metrics-prompt-formats-schema).

   1. (Optional) Um eine weitere Metrik zu erstellen, wählen Sie **Benutzerdefinierte Metriken hinzufügen** aus. Sie können bis zu 10 benutzerdefinierte Metriken für einen Bewertungsauftrag erstellen.

      Wenn Sie mit der Erstellung Ihrer benutzerdefinierten Metriken fertig sind, fahren Sie mit Schritt 14 fort, um Ihre Datensätze für den Bewertungsauftrag zu konfigurieren.

1. Gehen Sie wie folgt vor, um eine benutzerdefinierte Metrik in der Konsole von Grund auf neu zu erstellen:

   1. Wählen Sie unter **Metriktyp auswählen** die Option **Benutzerdefiniert** aus.

   1. Geben Sie unter **Anweisungen** den Prompt für Ihre benutzerdefinierte Metrik direkt in das Textfeld ein. Best Practices und eine Liste der erforderlichen Elemente beim Erstellen eines benutzerdefinierten metrischen Prompts finden Sie unter [Erstellen eines Prompts und Best Practices](kb-evaluation-custom-metrics-prompt-formats.md#kb-evaluation-custom-metrics-prompt-formats-create).

   1. Wenn Sie möchten, dass Ihr Bewertungsauftrag strukturierte Ergebnisse mit Rangwerten ausgibt, lassen Sie das Kontrollkästchen **Ausgabeschema aktiviert (empfohlen)** aktiviert. Ihre Metrikkonfiguration muss kein Ausgabeschema enthalten; wir empfehlen Ihnen jedoch, eines zu definieren. Wenn Sie kein Schema verwenden, enthalten die angezeigten Ergebnisse nur Erklärungen ohne Punktzahlen oder Datenvisualisierung.

   1. Wählen Sie unter **Skalentyp** je nach Anwendungsfall entweder **Numerisch** oder **Zeichenfolge** aus, und geben Sie Ihre Skalen- und Beschreibungsdefinitionen in die Textfelder ein. Anleitungen und Best Practices zur Definition von Ausgabeskalen finden Sie unter [Angeben eines Ausgabeschemas (Bewertungsskala)](kb-evaluation-custom-metrics-prompt-formats.md#kb-evaluation-custom-metrics-prompt-formats-schema).

   1. (Optional) Um eine weitere Metrik zu erstellen, wählen Sie **Benutzerdefinierte Metriken hinzufügen** aus. Sie können bis zu 10 benutzerdefinierte Metriken für einen Bewertungsauftrag erstellen.

      Wenn Sie mit der Erstellung Ihrer benutzerdefinierten Metriken fertig sind, fahren Sie mit dem nächsten Schritt fort, um Ihre Datensätze für den Bewertungsauftrag zu konfigurieren.

1. Definieren Sie Ihre Eingabe- und Ausgabeorte für Ihren Datensatz und Ihre Ergebnisse, indem Sie wie folgt vorgehen:

   1. Geben Sie im Bereich **Datensätze** unter **Prompt-Datensatz auswählen** den Amazon-S3-URI für Ihren Prompt-Datensatz ein, oder wählen Sie **S3 durchsuchen** aus, um Ihre Datei auszuwählen. Eine Definition des erforderlichen Prompt-Datensatzformats für einen Nur-Abruf-Bewertungsauftrag finden Sie unter [Erstellen eines Prompt-Datensatzes für RAG-Bewertungsaufträge, die nur zum Abrufen bestimmt sind](knowledge-base-evaluation-prompt-retrieve.md).

   1. Geben Sie unter **Ergebnisse der Bewertung** einen Amazon-S3-Speicherort für Amazon Bedrock ein oder wählen Sie **S3 durchsuchen** aus, um einen Speicherort auszuwählen.

1. Wählen Sie unter **IAM-Rolle für Amazon-Bedrock – Berechtigungen** die Option **Neue Servicerolle erstellen und verwenden** aus, damit Amazon Bedrock eine neue IAM-Rolle für den Bewertungsauftrag erstellt, oder wählen Sie **Eine vorhandene Servicerolle verwenden** aus, um eine vorhandene IAM-Rolle auszuwählen. Eine Liste der erforderlichen Berechtigungen zum Erstellen und Ausführen eines Bewertungsauftrags finden Sie unter [Voraussetzungen](knowledge-base-evaluation-create.md#knowledge-base-evaluation-create-prereqs).

1. (Optional) Um Ihren eigenen KMS-Schlüssel zum Verschlüsseln Ihrer Bewertungsdaten zu verwenden, aktivieren Sie unter **KMSkey – *Optional*** die Option **Verschlüsselungseinstellungen anpassen (erweitert)** und wählen dann Ihren AWS KMS-Schlüssel aus. Amazon Bedrock verschlüsselt die Daten Ihres Bewertungsauftrags standardmäßig mit einem AWS-eigenen KMS-Schlüssel.

1. Klicken Sie auf **Erstellen**, um die Erstellung Ihres Bewertungsauftrags abzuschließen.

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

**So erstellen Sie einen Bewertungsauftrag zum Abrufen und Generieren für Amazon Bedrock Knowledge Base**
+ Führen Sie den folgenden AWS CLI-Befehl mit der JSON-Beispieldatei aus.

  ```
  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-Custom-Metric",
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.ContextCoverage",
                          "Builtin.ContextRelevance",
                          "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": {
          "ragConfigs": [
              {
                  "knowledgeBaseConfig": {
                      "retrieveAndGenerateConfig": {
                          "type": "KNOWLEDGE_BASE",
                          "knowledgeBaseConfiguration": {
                              "knowledgeBaseId": "<Your Knowledge Base ID>",
                              "modelArn": "mistral.mistral-large-2402-v1:0",
                              "generationConfiguration": {
                                  "promptTemplate": {
                                      "textPromptTemplate": "$search_results$ hello world template"
                                  }
                              },
                              "orchestrationConfiguration": {
                                  "queryTransformationConfiguration": {
                                      "type": "QUERY_DECOMPOSITION"
                                  }
                               }
                          }
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```
**Anmerkung**  
Die JSON-Beispieldatei enthält zwei `evaluatorModelConfig`-Objekte. Die Instance innerhalb des `customMetricConfig`-Objekts spezifiziert das Evaluatormodell, das mit benutzerdefinierten Metriken verwendet werden soll. Die andere Instance spezifiziert das Modell, das für integrierte Metriken verwendet werden soll. Achten Sie darauf, diese beiden Objekte korrekt anzugeben.

**So erstellen Sie einen Abruf- und Generierungsauftrag mit Ihren eigenen Inferenzantwortdaten**
+ Führen Sie den folgenden AWS CLI-Befehl mit der JSON-Beispieldatei aus.

  ```
  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-Custom-Metric",
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.ContextCoverage",
                          "Builtin.ContextRelevance",
                          "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": {
          "ragConfigs": [
              {
                  "precomputedRagSourceConfig": {
                      "retrieveAndGenerateSourceConfig": {
                          "ragSourceIdentifier": "my_rag_source"
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```
**Anmerkung**  
Die JSON-Beispieldatei enthält zwei `evaluatorModelConfig`-Objekte. Die Instance innerhalb des `customMetricConfig`-Objekts spezifiziert das Evaluatormodell, das mit benutzerdefinierten Metriken verwendet werden soll. Die andere Instance spezifiziert das Modell, das für integrierte Metriken verwendet werden soll. Achten Sie darauf, diese beiden Objekte korrekt anzugeben.

------