So erstellen Sie einen Nur-Abruf-Bewertungsauftrag unter RAG mithilfe benutzerdefinierter Metriken - Amazon Bedrock

So erstellen Sie einen Nur-Abruf-Bewertungsauftrag unter RAG mithilfe benutzerdefinierter Metriken

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.

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.

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.

Eine Liste der unterstützten Evaluatormodelle finden Sie unter Unterstützte Modelle. Weitere Informationen über Modellzugriffe finden Sie unter Zugriff auf Amazon-Bedrock-Basismodelle.

Console
  1. Öffnen Sie die Amazon-Bedrock-Konsole.

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

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

  4. 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.

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

    3. 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.

  5. 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 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.

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

  6. 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.

    2. 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 übereinstimmen.

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

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

  9. 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.

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

    3. Wählen Sie Anwenden aus.

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

  11. 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.

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

    3. 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.

    4. (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.

  12. 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.

    2. 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.

    3. 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.

    4. 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.

    5. 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).

    6. (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.

  13. 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.

    2. 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.

    3. 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.

    4. 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).

    5. (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.

  14. 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.

    2. 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.

  15. 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.

  16. (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.

  17. 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.