Erstellen eines Prompts für eine benutzerdefinierte Metrik - Amazon Bedrock

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.

Erstellen eines Prompts für eine benutzerdefinierte Metrik

RAG-Bewertungsaufträge ermöglichen die Erstellung eigener Metriken für eine bessere Charakterisierung der Modelleistung für Ihren spezifischen Geschäftsfall. Sie können bis zu 10 benutzerdefinierte Metriken pro Bewertungsauftrag definieren.

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 ein Bewertungssystem (Ausgabeschema) angeben, anhand dessen das Evaluatormodell die Ausgaben des RAG-Systems bewerten kann.

In den folgenden Abschnitten wird beschrieben, wie Sie bei der Verwendung benutzerdefinierter Metriken einen Prompt für Ihr Evaluatormodell erstellen, einschließlich bewährter Verfahren. Darin wird auch das zu verwendende Schema definiert, wenn Sie Ihre Metrik mit einer JSON-Datei erstellen.

Informationen zum Erstellen eines Bewertungsauftrags mit einer benutzerdefinierten Metrik unter Verwendung Ihres Prompts finden Sie unter So erstellen Sie einen Nur-Abruf-Bewertungsauftrag unter RAG mithilfe benutzerdefinierter Metriken und So erstellen Sie einen RAG-Bewertungsauftrag zum Abrufen und Generieren mithilfe benutzerdefinierter Metriken.

Erstellen eines Prompts und Best Practices

Wenn Sie einen Prompt für eine benutzerdefinierte Metrik erstellen, sollten Sie den Prompt mit den folgenden Elementen strukturieren:

  1. Rollendefinition (optional) – Weist das Evaluatormodell an, eine bestimmte Identität oder Rolle anzunehmen

  2. Aufgabenbeschreibung – Enthält detaillierte Anweisungen zur Bewertungsaufgabe

  3. Kriterium und Rubrik (optional) – Enthält detaillierte Bewertungsrichtlinien und Rubriken für die Bewertung

  4. Eingabevariablen – Definiert die Variablen, die ausgewertet werden sollen, z. B. den Prompt und die Antwort

Fügen Sie diese Elemente in der aufgelisteten Reihenfolge in Ihren Prompt ein. In den nachfolgenden Abschnitten werden diese Elemente im Detail beschrieben.

Rollendefinition

Die Angabe einer Rollendefinition ist optional, kann jedoch bei der Bewertung helfen. Wenn Sie beispielsweise eine Metrik erstellen, um den Prosastil der endgültigen Ausgaben eines RAG-Systems auszuwerten, könnten Sie eine Rolle wie „Schreibtrainer“ in Betracht ziehen. Rollen wie „sachlicher Korrektheitsprüfer“ oder „Fachexperte“ könnten je nach den Zielen Ihrer Bewertung ebenfalls angemessen sein.

Wenn Sie eine Rollendefinition hinzuzufügen, sollte diese der erste Abschnitt Ihres Prompts sein. Im folgenden Beispiel sehen Sie ein Beispiel für eine Rollendefinition.

Beispiel Rollendefinition
You are a professional editor who is familiar with the requirements of commonly-used style manuals.

Aufgabendefinition

Die Aufgabendefinition ist der wichtigste Abschnitt Ihres Prompt und definiert die Aufgabe, die Ihr Evaluatormodell ausführen soll. Ihre Aufgabendefinition sollte detaillierte Anweisungen zur Bewertungsaufgabe enthalten (wir empfehlen mindestens 15 Wörter) und genau angeben, auf welche Aspekte sich die Aufgabe konzentrieren sollte und wie die Bewertung strukturiert werden soll.

Ihre Aufgabendefinition sollte direkt auf Ihre Rollendefinition folgen, falls Sie eine angeben.

Eine allgemeinere Anleitung zur Strukturierung von Prompts für LLMs finden Sie unter Entwerfen des Prompts.

Im folgenden Beispiel sehen Sie eine Aufgabendefinition für eine Metrik, die sich auf die Einhaltung eines bestimmten Styleguides bei den Antworten des RAG-Systems konzentriert.

Beispiel Aufgabendefinition
You are provided a prompt and a response from a RAG system. The prompt asks the RAG system to follow the Chicago Manual of Style when generating its responses. Your task is to assess how closely the text in the response adheres to the style guide. Focus in particular on grammar, prose style, and citation requirements.

Kriterium und Rubrik

Dieser Abschnitt ist optional und kann verwendet werden, um mehrere Bewertungsrubriken zu definieren oder detaillierte Bewertungsrichtlinien für die Metrik bereitzustellen. Dieser Abschnitt sollte zwischen der Aufgabendefinition und den Eingabevariablen hinzugefügt werden. In den folgenden Beispielen sehen Sie eine Bewertungsrubrik und Bewertungsrichtlinien für die Aufgabe, die in der bereitgestellten Beispielaufgabendefinition vorgegeben ist. Sie können eine oder beide dieser Arten von Informationen in diesen Abschnitt Ihres Prompts aufnehmen.

Beispiel Bewertungsrubrik
When evaluating the response quality, consider the following: - Grammar: Does the grammar in the response follow the requirements of the style guide - Style consistency: Does the response maintain consistent capitalization, punctuation, and paragraph formatting - Citations: Does the response use the correct citation style for in-text citations and endnotes
Beispiel Bewertungsrichtlinien
Please rate the quality of the response on the following scale: - Poor: Response includes errors in citation, grammar, or usage - Acceptable: Response includes only minor formatting errors - Good: Response meets all requirements of the style guide

Wenn Sie einen Bewertungsauftrag erstellen, der ein LLM-as-a-Judge verwendet – entweder in der AWS-Managementkonsole oder mithilfe der AWS CLI oder einer der AWS SDKs – können Sie ein Ausgabeschema für Amazon Bedrock angeben, um die Antworten aus Ihrem Generatormodell zu bewerten. Stellen Sie sicher, dass alle Definitionen, die Sie für das Ausgabeschema angeben, den Bewertungsrichtlinien im Prompt entsprechen. Im vorherigen Beispiel würden Sie die Definitionen für Ihr Ausgabeschema beispielsweise als „Schlecht“, „Akzeptabel“ und „Gut“ angeben. Weitere Hinweise zur Definition von Ausgabeschemas finden Sie unter Angeben eines Ausgabeschemas (Bewertungsskala).

Eingabevariablen

Im letzten Abschnitt Ihres Prompts werden die Variablen angegeben, die das Evaluatormodell zur Durchführung der Bewertung benötigt. Beachten Sie, dass Sie die Eingabevariablen zuletzt angeben müssen. Wenn Sie in Ihrem Prompt nach den Eingabevariablen weitere Anweisungen angeben, wertet das Evaluatormodell Ihre Metriken möglicherweise nicht korrekt aus.

Die Mindestanzahl der Eingabevariablen, die Sie angeben müssen, hängt von der Art des Bewertungsauftrags ab, den Sie erstellen. Bei einem „Nur Abruf“-Auftrag geben Sie {{context}} an, und bei einem „Abruf und Generieren“-Auftrag geben Sie {{prediction}} an. In beiden Fällen empfehlen wir, dass Sie auch den für das Generatormodell ({{prompt}}) breitgestellten Prompt mit angeben. In der folgenden Tabelle werden die Variablen definiert, die Sie in Ihrem Prompt verwenden können, und wie diese den Eigenschaften in Ihrem Prompt-Datensatz entsprechen.

Eingabevariable Definition Erforderlich (Nur Abruf) Erforderlich (Abrufen und Generieren) Prompt-Datensatzeigenschaft
{{prompt}} Der dem RAG-System bereitgestellte Prompt Nein Nein "prompt"
{{prediction}} Die vom Antwortgeneratormodell bereitgestellte Antwort (nur für „Abruf-und Generieren“-Aufträge verfügbar) Nein Ja "output" -> "text" (gilt nur für Aufträge, bei denen Sie Ihre eigenen Inferenzdaten angeben)
{{ground_truth}} Eine Referenzantwort für den Prompt Nein Nein "referenceResponses" -> "content" -> "text"
{{context}} Für die Generierung der Antwort eingegangene RAG-Passagen Ja Nein "retrievalResults" -> "content" -> "text"
{{reference_contexts}} Ground-Truth-Passagen, deren Abruf zu erwarten ist Nein Nein referenceContexts -> "content" -> "text"

Im folgenden Beispiel sehen Sie, wie Sie Eingabevariablen in einem Prompt angeben.

Beispiel Definition der Eingabevariablen
Here is the actual task: Prompt: {{prompt}} Response: {{prediction}}

Der Vollständigkeit halber wird der gesamte Prompt für diesen Anwendungsfall im nachfolgenden Beispiel bereitgestellt. Ein vollständiger Prompt kann eine maximale Länge von 5 000 Zeichen haben.

Beispiel Prompts für benutzerdefinierte Metriken
You are a professional editor who is familiar with the requirements of commonly-used style manuals. You are provided a prompt and a response from a RAG system. The prompt asks the RAG system to follow the Chicago manual of style when generating its responses. Your task is to assess how closely the text in the response adheres to the style guide. Focus in particular on grammar, prose style, and citation requirements. When evaluating the response quality, consider the following: - Grammar: Does the grammar in the response follow the requirements of the style guide - Style consistency: Does the response maintain consistent capitalization, punctuation, and paragraph formatting - Citations: Does the response use the correct citation style for in-text citations and endnotes Please rate the quality of the response on the following scale: - Poor: Response includes errors in citation, grammar, or usage - Acceptable: Response includes only minor formatting errors - Good: Response meets all requirements of the style guide Here is the actual task: Prompt: {{prompt}} Response: {{prediction}}

Angeben eines Ausgabeschemas (Bewertungsskala)

Wenn Sie einen Bewertungsauftrag mit einer benutzerdefinierten Metrik erstellen, können Sie zusätzlich zu den Bewertungsrichtlinien in Ihrem Prompt eine Bewertungsskala für die Metrik definieren, indem Sie ein Ausgabeschema angeben. Dieses Schema besteht aus Skalenwerten und ihren entsprechenden Definitionen. Bei den Werten für die Skala kann es sich entweder um numerische Werte oder Zeichenfolgen handeln, jedoch nicht um eine Mischung aus beiden.

Wir empfehlen dringend, eine Bewertungsskala zu definieren. Wenn Sie dies nicht tun, ist Amazon Bedrock möglicherweise nicht in der Lage, die Ausgaben Ihres Evaluatormodells korrekt zu analysieren, um Ihre Ergebnisse grafisch in der Konsole anzuzeigen oder Durchschnittsberechnungen zu erstellen. Sie können eine Bewertungsskala definieren, wenn Sie eine Metrik erstellen – entweder mithilfe der Konsole oder mithilfe der ratingScale-Eigenschaft – wenn Sie Ihre Metrik mit einem AWS SDK oder der AWS CLI erstellen.

Wenn Sie eine Bewertungsskala definieren, fügt Amazon Bedrock strukturierte Ausgabebefehle zu Ihrem Evaluatormodell-Prompt hinzu. Da sich das Format für strukturierte Ausgaben zwischen Evaluatormodellen unterscheidet, ist es wichtig, dass Sie die Bewertungsskala separat definieren und nicht als Teil Ihres Haupt-Prompts einfügen. Wenn Sie Ihre Metrik erstellen und eine Bewertungsskala in der Konsole definieren, können Sie den endgültigen Prompt einschließlich der Anweisungen für die strukturierte Ausgabe im Vorschau-Textbereich einsehen.

Wenn Sie die Definition für jeden Skalenwert angeben, stellen Sie sicher, dass die Definitionen in Ihrer Ausgabeschemadefinition exakt mit den Bewertungskriterien übereinstimmen, die Sie im Prompt festgelegt haben. Diese Definitionen sollten aus maximal fünf Wörtern bestehen und sind auf 100 Zeichen begrenzt. Vermeiden Sie die Verwendung von Artikeln („a“ und „the“) in der Definition. Sie können den erläuternden Text in Ihrem Prompt verwenden, um dem Evaluatormodell eine detailliertere Definition dafür zu geben, wie Antworten bewertet werden sollen.

In der folgenden Tabelle sehen Sie, wie Sie die Bewertungsrichtlinien im Prompt beschreiben könnten und wie Sie die entsprechende Skalendefinition im Ausgabeschema definieren sollten.

Prompt-Bewertungsrichtlinie Skalenwert im Schema Skalendefinition im Schema
- Poor: The response fails to meet the basic requirements of the prompt and contains significant errors and omissions 0 Poor
- Good: The response adequately meets the basic requirements of the prompt but may contain minor errors or omissions 1 Good
- Excellent: The response fully meets the prompt with comprehensive, accurate, and valuable information 2 Excellent

In diesem Beispiel werden Ganzzahlwerte für die Skala verwendet. Sie können alternativ auch Zeichenfolgen verwenden.

Wie Sie das Schema angeben, wenn Sie einen Bewertungsauftrag erstellen, erfahren Sie unter Erstellen eines Auftrags zur Modellbewertung mithilfe benutzerdefinierter Metriken.

Erstellen einer JSON-Datei zur Erstellung einer benutzerdefinierten Metrik

Wenn Sie einen Bewertungsauftrag erstellen, der benutzerdefinierte Metriken in der Konsole verwendet, haben Sie die Möglichkeit, eine JSON-Datei von Ihrem lokalen Rechner hochzuladen, die Ihre Metrik definiert. Wenn Sie sich dafür entscheiden, eine benutzerdefinierte Metrik mithilfe einer JSON-Datei in der Konsole zu erstellen, können Sie die Bewertungsskala nicht über die Texteingabefelder der Konsolenoberfläche definieren. Daher müssen Sie sie in Ihrer JSON-Definition angeben. Wir empfehlen, dass Sie bei der Erstellung benutzerdefinierter Metriken immer eine Bewertungsskala definieren.

Die folgenden Beispiele zeigen JSON-Dateiformate zur Erstellung einer benutzerdefinierten Metrik mit entweder einer numerischen oder einer textbasierten Bewertungsskala oder ganz ohne Bewertungsskala. Fügen Sie in jedem Fall Ihren vollständigen Prompt als Zeichenfolge in die "instructions"-Eigenschaft ein.

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.

Definition with numerical scale
{ "customMetricDefinition": { "metricName": "my_custom_metric", "instructions": "Your complete custom metric prompt including at least one {{input variable}}", "ratingScale": [ { "definition": "first rating definition", "value": { "floatValue": 3 } }, { "definition": "second rating definition", "value": { "floatValue": 2 } }, { "definition": "third rating definition", "value": { "floatValue": 1 } } ] } }
Definition with string scale
{ "customMetricDefinition": { "metricName": "my_custom_metric", "instructions": "Your complete custom metric prompt including at least one {{input variable}}", "ratingScale": [ { "definition": "first rating definition", "value": { "stringValue": "first value" } }, { "definition": "second rating definition", "value": { "stringValue": "second value" } }, { "definition": "third rating definition", "value": { "stringValue": "third value" } } ] } }
Definition with no scale
{ "customMetricDefinition": { "metricName": "my_custom_metric", "instructions": "Your complete custom metric prompt including at least one {{input variable}}" } }