Datengesteuerter Prompt-Optimierer

In diesem Dokument wird beschrieben, wie Sie mit dem datengestützten Optimierer die Prompt-Leistung automatisch optimieren können, indem Sie die Systemanweisungen für eine Reihe von Prompts verbessern.

Mit dem datengestützten Optimierer können Sie Ihre Prompts schnell und in großem Umfang verbessern, ohne Systemanweisungen oder einzelne Prompts manuell neu zu schreiben. Das ist besonders nützlich, wenn Sie Systemanweisungen und Prompts, die für ein bestimmtes Modell geschrieben wurden, mit einem anderen Modell verwenden möchten.

Beispiel für die Prompt-Optimierung

Wenn Sie beispielsweise Systemanweisungen für eine Reihe von Prompts optimieren möchten, die auf Kontextinformationen verweisen, um Fragen zum Kochen zu beantworten, können Sie den datengestützten Optimierer verwenden. Dazu bereiten Sie die Eingaben ähnlich wie hier vor:

Systemanweisungen

You are a professional chef. Your goal is teaching how to cook healthy cooking recipes to your apprentice.

Given a question from your apprentice and some context, provide the correct answer to the question.
Use the context to return a single and correct answer with some explanation.

Prompt-Vorlage

Question: {input_question}
Facts: {input_context}

Beispiel-Prompts

input_question input_context
Welche Techniken gibt es für die Zubereitung von rotem Fleisch und Schweinefleisch, die Geschmack und Zartheit maximieren und gleichzeitig die Bildung ungesunder Verbindungen minimieren? Rotes Fleisch und Schweinefleisch sollten auf eine Kerntemperatur von 63 °C erhitzt werden, um sicherzustellen, dass sie unbedenklich sind. Das Marinieren von Fleisch in säurehaltigen Zutaten wie Zitronensaft oder Essig kann dazu beitragen, es zarter zu machen, da die zähen Muskelfasern aufgespalten werden. Garmethoden mit hoher Hitze wie Grillen und Braten können für eine köstliche Bräunung und Karamellisierung sorgen. Es ist jedoch wichtig, ein Verkohlen zu vermeiden, da dabei schädliche Verbindungen entstehen können.
Welche kreativen Möglichkeiten gibt es, Proteinshakes Geschmack und Nährstoffe zu verleihen, ohne zugesetzten Zucker oder künstliche Zutaten zu verwenden? Mit Blattgemüse wie Spinat oder Grünkohl kannst du den Nährwert deines Shakes erhöhen, ohne den Geschmack drastisch zu verändern. Wenn Sie ungesüßte Mandelmilch oder Kokoswasser anstelle von normaler Milch verwenden, können Sie dem Shake eine dezente Süße und eine Extraportion gesunde Fette bzw. Elektrolyte verleihen. Wusstest du, dass sich dein Shake erwärmen kann, wenn du ihn zu lange mixt? Damit die Mischung kühl und erfrischend bleibt, solltest du sie nur kurz mixen und dem Mixer bei Bedarf eine Pause gönnen.

Optimierte Systemanweisungen

As a highly skilled chef with a passion for healthy cooking, you love sharing your knowledge with
aspiring chefs. Today, a culinary intern approaches you with a question about healthy cooking. Given
the intern's question and some facts, provide a clear, concise, and informative answer that will help
the intern excel in their culinary journey.

Funktionsweise der Optimierung

Der datengestützte Optimierer verwendet die folgenden Parameter:

  • Optimierungsmodus: Gibt an, was optimiert werden soll. Mögliche Werte:
    • instruction: Optimiert die Systemanweisung.
    • demonstration: Wählt Beispielprompts aus, die der Systemanweisung als Few-Shot-Beispiele hinzugefügt werden sollen.
    • instruction_and_demo: Führt beide oben genannten Aktionen aus.
  • Bewertungsmesswerte: Die Messwerte, die der datengetriebene Optimierer verwendet, um die Systemanweisungen zu optimieren und/oder Beispielprompts auszuwählen.
  • Zielmodell: Das Google-Modell, für das der datengetriebene Optimierer die Systemanweisungen optimiert und Beispielprompts auswählt.

Wenn Sie den datengetriebenen Optimierer ausführen, werden die Systemanweisungen basierend auf Ihrer Auswahl optimiert. Dazu wird ein benutzerdefinierter Trainingsjob ausgeführt, bei dem Ihre Beispiel-Prompts iterativ ausgewertet und Ihre Systemanweisungen umgeschrieben werden, um die Version zu finden, die den besten Bewertungswert für das Zielmodell liefert.

Am Ende des Jobs gibt der datengestützte Optimierer die optimierten Systemanweisungen mit ihrem Bewertungsergebnis aus.

Bewertungsmesswerte

Der datengetriebene Optimierer verwendet Bewertungsmesswerte, um Systemanweisungen zu optimieren und Beispiel-Prompts auszuwählen. Sie können die Standardbewertungsmesswerte verwenden oder eigene benutzerdefinierte Bewertungsmesswerte definieren. Hinweis: Alle Bewertungsmesswerte MÜSSEN die Eigenschaft haben, dass ein höherer Wert auf eine bessere Leistung hinweist.

Sie können mehrere Messwerte gleichzeitig verwenden. Benutzerdefinierte Messwerte können jedoch nur einzeln verwendet werden. Wenn Sie Standard- und benutzerdefinierte Messwerte zusammen verwenden, darf nur einer der Messwerte ein benutzerdefinierter Messwert sein. Die anderen müssen Standardmesswerte sein.

Informationen zum Angeben von Messwerten einzeln oder in Kombination finden Sie unter EVALUATION_METRIC_PARAMETERS auf dem SDK-Tab in Prompt-Vorlage und Systemanweisungen erstellen.

Benutzerdefinierte Bewertungsmesswerte

Benutzerdefinierte Messwerte sind nützlich, wenn Standardmesswerte nicht zu Ihrer Anwendung passen. Beachten Sie, dass der datengetriebene Optimierer jeweils nur einen benutzerdefinierten Messwert unterstützt.

Informationen zum Erstellen benutzerdefinierter Messwerte finden Sie unter Benutzerdefinierte Messwerte erstellen.

Standardbewertungsmesswerte

Der datengestützte Optimierer unterstützt benutzerdefinierte Bewertungsmesswerte und zusätzlich die folgenden Bewertungsmesswerte:

Messwerttyp Anwendungsfall Messwert Beschreibung
Modellbasiert Zusammenfassung summarization_quality Beschreibt die Fähigkeit des Modells, Fragen anhand eines als Referenz dienenden Textkörpers zu beantworten.
Question Answering question_answering_correctness* Beschreibt die Fähigkeit des Modells, eine Frage richtig zu beantworten.
question_answering_quality Beschreibt die Fähigkeit des Modells, Fragen anhand eines als Referenz dienenden Textkörpers zu beantworten.
Kohärenz coherence Beschreibt die Fähigkeit des Modells, eine kohärente Antwort zu geben, und misst, wie gut der generierte Text logisch aufgebaut ist und Sinn ergibt.
Sicherheit safety Gibt das Sicherheitslevel des Modells an, d. h., ob die Antwort unsicheren Text enthält.
Sprachkompetenz fluency Beschreibt die Sprachbeherrschung des Modells.
Fundierung groundedness Beschreibt die Fähigkeit des Modells, Informationen bereitzustellen oder zu referenzieren, die nur im Eingabetext enthalten sind.
Comet comet** Beschreibt die Fähigkeit des Modells, die Qualität einer Übersetzung im Vergleich zur Referenz zu bewerten.
MetricX metricx** Beschreibt die Fähigkeit des Modells, die Qualität einer Übersetzung zu beurteilen.
Berechnungsbasiert Toolnutzung und Funktionsaufrufe tool_call_valid* Beschreibt die Fähigkeit des Modells, einen gültigen Toolaufruf vorherzusagen.
tool_name_match* Beschreibt die Fähigkeit des Modells, einen Toolaufruf mit dem richtigen Toolnamen vorherzusagen. Es wird nur der erste Toolaufruf geprüft.
tool_parameter_key_match* Beschreibt die Fähigkeit des Modells, einen Toolaufruf mit den richtigen Parameternamen vorherzusagen.
tool_parameter_kv_match* Beschreibt die Fähigkeit des Modells, einen Toolaufruf mit den richtigen Parameternamen und Schlüsselwerten vorherzusagen.
Allgemeine Textgenerierung bleu* Enthält das Ergebnis eines Algorithmus zur Bewertung der Qualität der Vorhersage, die von einer natürlichen Sprache in eine andere natürliche Sprache übersetzt wurde. Die Qualität der Vorhersage wird als die Übereinstimmung zwischen einem Vorhersageparameter und seinem Referenzparameter angesehen.
exact_match* Berechnet, ob ein Vorhersageparameter genau mit einem Referenzparameter übereinstimmt.
rouge_1* Wird verwendet, um den angegebenen Vorhersageparameter mit einem Referenzparameter zu vergleichen.
rouge_2*
rouge_l*
rouge_l_sum*

* Wenn Sie Ihre Prompts mithilfe der question_answering_correctness- oder berechnungsbasierten Bewertungen optimieren möchten, müssen Sie eine der folgenden Optionen auswählen:

  • Fügen Sie Ihrer Prompt-Vorlage eine Variable hinzu, die die Grundwahrheit-Antwort für Ihre Prompts darstellt.
  • Wenn Sie keine Grundwahrheit-Antworten für Ihre Prompts haben, die Prompts aber bereits mit einem Google-Modell verwendet und die gewünschten Ergebnisse erzielt haben, können Sie Ihrer Konfiguration den Parameter source_model hinzufügen, anstatt Grundwahrheit-Antworten hinzuzufügen. Wenn der Parameter source_model festgelegt ist, führt der datengetriebene Optimierer Ihre Beispielprompts auf dem Quellmodell aus, um die Grundwahrheit-Antworten für Sie zu generieren.

    Der Parameter source_model sollte nur für Modellupgrades oder ‑migrationen verwendet werden.

** Wenn Sie Ihre Prompts mit comet oder metricx optimieren möchten, müssen Sie den Parameter translation_source_field_name in Ihrer Konfiguration angeben. Dieser gibt den entsprechenden Feldnamen des Quelltextes in den Daten an. Außerdem wurde der MetricX-Wert auf einen Wert zwischen 0 (schlechtester Wert) und 25 (bester Wert) geändert, um die Eigenschaft „Je größer, desto besser“ zu berücksichtigen.

Hinweis

Bitten Sie Ihren Administrator, dem Compute Engine-Standarddienstkonto die folgenden IAM-Rollen für das Projekt zuzuweisen, damit das Compute Engine-Standarddienstkonto die erforderlichen Berechtigungen zum Optimieren von Prompts hat:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Ihr Administrator kann dem Compute Engine-Standarddienstkonto möglicherweise auch die erforderlichen Berechtigungen über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.

Prompts optimieren

Sie können Prompts auf folgende Weise optimieren:

Wählen Sie die Methode aus, die Sie zum Optimieren von Prompts verwenden möchten, und führen Sie dann die Schritte aus, die in den folgenden Abschnitten ausführlich beschrieben werden:

  1. Prompt-Vorlage und Systemanweisungen erstellen
  2. Beispiel-Prompts vorbereiten
  3. Optional: Benutzerdefinierte Messwerte erstellen
  4. Konfiguration erstellen
  5. Prompt-Optimierungsjob ausführen
  6. Ergebnisse analysieren und optimieren

Prompt-Vorlage und Systemanweisungen erstellen

Prompt-Vorlagen definieren das Format aller Ihrer Prompts durch ersetzbare Variablen. Wenn Sie eine Prompt-Vorlage zum Optimieren von Prompts verwenden, werden die Variablen durch die Daten im Prompt-Dataset ersetzt.

Variablen in Prompt-Vorlagen müssen die folgenden Anforderungen erfüllen:

  • Variablen müssen in geschweifte Klammern gesetzt sein.
  • Variablennamen dürfen keine Leerzeichen oder Bindestriche enthalten (-).
  • Variablen, die multimodale Eingaben darstellen, müssen den String MIME_TYPE nach der Variablen enthalten:

    @@@MIME_TYPE
    

    Ersetzen Sie MIME_TYPE durch einen MIME-Typ für Bilder, Videos, Audio oder Dokumente, der vom Zielmodell unterstützt wird.

Erstellen Sie eine Prompt-Vorlage und Systemanweisungen mit einer der folgenden Methoden:

Notebook

Wenn Sie den datengestützten Optimierer über das Notebook ausführen möchten, erstellen Sie Systemanweisungen und eine Prompt-Vorlage. Gehen Sie dazu so vor:

  1. Öffnen Sie in Colab Enterprise das Notebook zur Prompt-Optimierung der Gemini Enterprise Agent Platform.

    Zum Prompt-Optimierungs-Notebook der Gemini Enterprise Agent Platform

  2. Führen Sie im Abschnitt Vorlage für Prompts und außerdem Systemanweisungen erstellen die folgenden Schritte aus:

    1. Geben Sie im Feld SYSTEM_INSTRUCTION Ihre Systemanweisungen ein. Beispiel:

      Based on the following images and articles respond to the questions.'\n' Be concise,
      and answer \"I don't know\" if the response cannot be found in the provided articles or images.
      
    2. Geben Sie im Feld PROMPT_TEMPLATE Ihre Prompt-Vorlage ein. Beispiel:

      Article 1:\n\n{article_1}\n\nImage 1:\n\n{image_1} @@@image/jpeg\n\nQuestion: {question}
      
    3. Wenn Sie Ihre Prompts mithilfe der question_answering_correctness- oder berechnungsbasierten Bewertungen optimieren möchten, müssen Sie einen der folgenden Schritte ausführen:

    • Fügen Sie der Promptvorlage die Variable {target} hinzu, um die Grundwahrheit-Antwort des Prompts darzustellen. Beispiel:

      Article 1:\n\n{article_1}\n\nImage 1:\n\n{image_1} @@@image/jpeg\n\nQuestion: {question}\n\n Answer: {target}
      
    • Wenn Sie keine Grundwahrheit-Antworten für Ihre Prompts haben, die Prompts aber bereits mit einem Google-Modell verwendet und die gewünschten Ergebnisse erzielt haben, können Sie Ihrer Konfiguration den Parameter source_model hinzufügen, anstatt Grundwahrheit-Antworten hinzuzufügen. Wenn der Parameter source_model festgelegt ist, führt der datengestützte Optimierer Ihre Beispielprompts auf dem Quellmodell aus, um die Grundwahrheit-Antworten für Sie zu generieren.

SDK

Wenn Sie den datengetriebenen Optimierer über das SDK ohne das Notebook ausführen möchten, erstellen Sie Textdateien für Ihre Prompt-Vorlage und Systemanweisungen. Gehen Sie dazu so vor:

  1. Erstellen Sie eine Textdatei für Ihre Systemanweisungen.

  2. Definieren Sie in der Textdatei Ihre Systemanweisungen an die Textdatei. Beispiel:

    Based on the following images and articles respond to the questions.'\n' Be concise, and answer \"I don't know\" if the response cannot be found in the provided articles or images.
    
  3. Erstellen Sie eine Textdatei für Ihre Prompt-Vorlage.

  4. Definieren Sie in der Textdatei eine Prompt-Vorlage, die eine oder mehrere Variablen enthält. Beispiel:

    Article 1:\n\n{article_1}\n\nImage 1:\n\n{image_1} @@@image/jpeg\n\nQuestion: {question}
    
  5. Wenn Sie Ihre Prompts mithilfe der question_answering_correctness- oder berechnungsbasierten Bewertungen optimieren möchten, müssen Sie einen der folgenden Schritte ausführen:

    • Fügen Sie der Promptvorlage die Variable {target} hinzu, um die Grundwahrheit-Antwort des Prompts darzustellen. Beispiel:

      Article 1:\n\n{article_1}\n\nImage 1:\n\n{image_1} @@@image/jpeg\n\nQuestion: {question}\n\n Answer: {target}
      
    • Wenn Sie keine Grundwahrheit-Antworten für Ihre Prompts haben, die Prompts aber bereits mit einem Google-Modell verwendet und die gewünschten Ergebnisse erzielt haben, können Sie Ihrer Konfiguration den Parameter source_model hinzufügen, anstatt Grundwahrheit-Antworten hinzuzufügen. Wenn der Parameter source_model festgelegt ist, führt der datengestützte Optimierer Ihre Beispielprompts auf dem Quellmodell aus, um die Grundwahrheit-Antworten für Sie zu generieren.

Beispiel-Prompts vorbereiten

Die besten Ergebnisse mit dem datengestützten Optimierer erzielen Sie mit 50–100 Beispiel-Prompts.

  • Das Tool kann auch mit nur 5 Beispiel-Prompts effektiv sein.
  • Die besten Stichproben enthalten Beispiele, bei denen das Zielmodell eine schlechte Leistung erzielt, und Beispiele, bei denen das Zielmodell eine gute Leistung erzielt.

Die Beispiel-Prompts enthalten die Daten, die die Variablen in der Prompt-Vorlage ersetzen. Sie können eine JSONL- oder CSV-Datei verwenden, um Ihre Beispiel-Prompts zu speichern.

JSONL-Datei

  1. Erstellen Sie eine JSONL-Datei.
  2. Fügen Sie in der JSONL-Datei die Prompt-Daten hinzu, die die einzelnen Variablen ersetzen. Beispiel:

    {"article_1": "The marine life …", "image_1": "gs://path_to_image", "Question": "What are some most effective ways to reduce ocean pollution?", "target": "The articles and images don't answer this question."}
    
    {"article_1": "During the year …", "image_1": "gs://path_to_image", "Question": "Who was the president in 2023?", "target": "Joe Biden"}
    
  3. Laden Sie die JSONL-Datei in einen Cloud Storage-Bucket hoch.

CSV-Datei

  1. CSV-Datei erstellen
  2. Fügen Sie in der ersten Zeile die Variablen aus Ihrer Prompt-Vorlage hinzu.
  3. Fügen Sie in den folgenden Zeilen die Beispieldaten hinzu, die die einzelnen Variablen ersetzen.
  4. Laden Sie die CSV-Datei in einen Cloud Storage-Bucket hoch.

Optional: Benutzerdefinierte Messwerte erstellen

So erstellen Sie einen benutzerdefinierten Messwert:

  1. Erstellen Sie eine Textdatei mit dem Namen requirements.txt.

  2. Definieren Sie in der Datei requirements.txt die erforderlichen Bibliotheken für die benutzerdefinierte Bewertungsfunktion. Für alle Funktionen ist das Paket functions-framework erforderlich.

    Die requirements.txt-Datei für einen benutzerdefinierten Messwert, der ROUGE-L berechnet, würde beispielsweise so aussehen:

    functions-framework==3.*
    rouge-score
    
  3. Erstellen Sie eine Python-Datei mit dem Namen main.py.

  4. Schreiben Sie in der Datei main.py Ihre benutzerdefinierte Bewertungsfunktion. Die Funktion muss Folgendes akzeptieren:

    • HTTP-POST-Anfragen
    • JSON-Eingabe, die die response (die Ausgabe des LLM) und die reference (die Grundwahrheitsantwort für den Prompt, falls im Prompt-Dataset angegeben) enthält.

    Die main.py-Datei für einen benutzerdefinierten Messwert, der ROUGE-L berechnet, würde beispielsweise so aussehen:

    from typing import Any
    import json
    import functions_framework
    from rouge_score import rouge_scorer
    
    # Register an HTTP function with the Functions Framework
    @functions_framework.http
    def main(request):
       request_json = request.get_json(silent=True)
       if not request_json:
           raise ValueError('Can not find request json.')
    
       """Extract 'response' and 'reference' from the request payload. 'response'
       represents the model's response, while 'reference' represents the ground
       truth response."""
       response = request_json['response']
       reference = request_json['reference']
    
       # Compute ROUGE-L F-measure
       scorer = rouge_scorer.RougeScorer(['rougeL'], use_stemmer=True)
       scores = scorer.score(reference, response)
       final_score = scores['rougeL'].fmeasure
    
       # Return the custom score in the response
       return json.dumps({
           # The following key is the CUSTOM_METRIC_NAME that you pass to the job
           'custom_accuracy': final_score,
           # The following key is optional
           'explanation': 'ROUGE_L F-measure between reference and response',
       })
    
  5. Stellen Sie Ihre benutzerdefinierte Bewertungsfunktion als Cloud Run-Funktion bereit, indem Sie den gcloud functions deploy-Befehl ausführen:

    gcloud functions deploy FUNCTION_NAME \
       --project PROJECT_ID \
       --gen2 \
       --memory=2Gb \
       --concurrency=6 \
       --min-instances 6 \
       --region=REGION \
       --runtime="python310" \
       --source="." \
       --entry-point main \
       --trigger-http \
       --timeout=3600 \
       --quiet
    

    Ersetzen Sie Folgendes:

    • FUNCTION_NAME: der Name für den benutzerdefinierten Bewertungsmesswert.
    • PROJECT_ID: Ihre Projekt-ID.
    • REGION: Die Region, in der Sie die Funktion bereitstellen möchten. Es sollte dieselbe Region wie für das Zielmodell sein.

Konfiguration erstellen

In der datengestützten Optimierungskonfiguration werden die Parameter angegeben, die Sie für den Prompt-Optimierungsjob festlegen möchten.

Für Gemma-Modelle gibt es keine verwalteten APIs auf der Gemini Enterprise Agent Platform. Wenn Sie ein Gemma-Modell verwenden möchten, müssen Sie zuerst ein auf Anweisungen abgestimmtes (-it) Gemma-Modell in Model Garden oder auf Ihrem lokalen Computer bereitstellen. Weitere Informationen zur Bereitstellung in Model Garden finden Sie unter Offene Gemma-Modelle verwenden. Weitere Informationen zur Bereitstellung auf Ihrem lokalen Computer finden Sie unter Gemma mit Ollama ausführen.

Erstellen Sie eine Konfiguration mit einer der folgenden Optionen:

Notebook

Wenn Sie den datengetriebenen Optimierer über das Notebook ausführen möchten, erstellen Sie eine Konfiguration. Gehen Sie dazu so vor:

  1. Öffnen Sie in Colab Enterprise das datengetriebene Optimierungs-Notebook.

    Zum Prompt-Optimierungs-Notebook der Gemini Enterprise Agent Platform

  2. Führen Sie im Abschnitt Projekteinstellungen konfigurieren die folgenden Schritte aus:

    1. Geben Sie im Feld PROJECT_ID Ihre Projekt-ID ein.
    2. Geben Sie im Feld LOCATION den Standort ein, an dem Sie den datengestützten Optimierer ausführen möchten.
    3. Geben Sie im Feld OUTPUT_PATH den URI für den Cloud Storage-Bucket ein, in den der datengetriebene Optimierer die optimierten Systemanweisungen und/oder Few-Shot-Beispiele schreiben soll. Beispiel: gs://bucket-name/output-path.
    4. Geben Sie im Feld INPUT_PATH den URI für die Beispiel-Prompts in Ihrem Cloud Storage-Bucket ein. Beispiel: gs://bucket-name/sample-prompts.jsonl
  3. Führen Sie im Abschnitt Optimierungseinstellungen konfigurieren die folgenden Schritte aus:

    1. Geben Sie im Feld TARGET_MODEL das Modell ein, für das Sie Prompts optimieren möchten.
    2. Geben Sie im Feld THINKING_BUDGET das Thinking-Budget für das Zielmodell ein, für das Sie Prompts optimieren möchten. Der Standardwert ist -1. Das bedeutet, dass für Modelle ohne Thinking-Modus kein Thinking-Modus verwendet wird und für Modelle mit Thinking-Modus wie Gemini 2.5 der automatische Thinking-Modus verwendet wird. Informationen zu manuellen Budgeteinstellungen finden Sie unter Thinking.
    3. Geben Sie im OPTIMIZATION_MODE den Optimierungsmodus ein, den Sie verwenden möchten. Muss einer der folgenden Datentypen sein:
      • instruction: Optimiert die Systemanweisung.
      • demonstration: Wählt Beispielprompts aus, die den Systemanweisungen als Few-Shot-Beispiele hinzugefügt werden sollen.
      • instruction_and_demo: Führt beide oben genannten Aktionen aus.
    4. Geben Sie im Feld EVAL_METRIC einen Bewertungsmesswert ein, für den Sie Ihre Prompts optimieren möchten.
    5. Optional: Geben Sie im Feld SOURCE_MODEL das Google-Modell ein, mit dem die Systemanweisungen und Prompts zuvor verwendet wurden. Wenn der Parameter source_model festgelegt ist, führt der datengestützte Optimierer Ihre Beispielprompts auf dem Quellmodell aus, um die Grundwahrheit-Antworten für Sie zu generieren. Das ist für Bewertungsmesswerte erforderlich, für die Grundwahrheit-Antworten erforderlich sind. Wenn Sie Ihre Prompts noch nicht mit einem Google-Modell ausgeführt haben oder Ihre Zielergebnisse nicht erreicht haben, fügen Sie dem Prompt stattdessen Grundwahrheit-Antworten hinzu. Weitere Informationen finden Sie im Abschnitt Prompt und Systemanweisungen erstellen in diesem Dokument.
  4. Optional: Im Abschnitt Erweiterte Optimierungseinstellungen konfigurieren können Sie Ihrer Konfiguration zusätzlich optionale Parameter hinzufügen.

  5. Optionale Parameter ansehen
    • Geben Sie im Feld NUM_INST_OPTIMIZATION_STEPS die Anzahl der Iterationen ein, die der datengestützte Optimierer im Modus zur Optimierung von Anweisungen verwendet. Die Laufzeit erhöht sich linear, wenn Sie diesen Wert erhöhen. Muss eine Ganzzahl zwischen 10 und 20 sein. Wenn keine Angabe gemacht wird, lautet der Standardwert 10.
    • Geben Sie im Feld NUM_DEMO_OPTIMIZATION_STEPS die Anzahl der Demonstrationen ein, die der datengestützte Optimierer auswerten soll. Wird mit dem Optimierungsmodus demonstration und instruction_and_demo verwendet. Muss eine Ganzzahl zwischen 10 und 30 sein. Wenn nicht festgelegt, ist der Standardwert 10.
    • Geben Sie im Feld NUM_DEMO_PER_PROMPT die Anzahl der Demonstrationen ein, die pro Prompt generiert werden sollen. Muss eine Ganzzahl zwischen 2 und der Gesamtzahl der Beispiel-Prompts minus 1 sein. Wenn nicht festgelegt, ist der Standardwert 3.
    • Geben Sie im Feld TARGET_MODEL_QPS die Abfragen pro Sekunde (QPS) ein, die der datengestützte Optimierer an das Zielmodell sendet. Die Laufzeit nimmt linear ab, wenn Sie diesen Wert erhöhen. Muss ein Gleitkommazahl sein, der mindestens 3.0 beträgt, aber kleiner als das QPS-Kontingent ist, das Sie für das Zielmodell haben. Wenn nicht festgelegt, ist der Standardwert 3.0.
    • Geben Sie im Feld SOURCE_MODEL_QPS die Abfragen pro Sekunde (QPS) ein, die der datengestützte Optimierer an das Quellmodell sendet. Muss ein Gleitkommazahl sein, der mindestens 3.0, aber kleiner als das Abfragekontingent pro Sekunde für das Quellmodell ist. Wenn keine Angabe gemacht wird, lautet der Standardwert 3.0.
    • Geben Sie im Feld EVAL_QPS die Abfragen pro Sekunde (QPS) ein, die der datengetriebene Optimierer an den Gen AI Evaluation Service oder die Cloud Run-Funktion sendet.
      • Für modellbasierte Messwerte muss es ein Gleitkommawert sein, der 3.0 oder größer ist. Wenn nicht festgelegt, ist der Standardwert 3.0.
      • Für benutzerdefinierte Messwerte muss es eine Gleitkommazahl sein, die 3.0 oder größer ist. Damit wird die Häufigkeit festgelegt, mit der der datengetriebene Optimierer Ihre Cloud Run-Funktionen mit benutzerdefinierten Messwerten aufruft.
    • Wenn Sie mehr als einen Bewertungsmesswert verwenden möchten, gehen Sie so vor:
      1. Geben Sie im Feld EVAL_METRIC_1 einen Bewertungsmesswert ein, den Sie verwenden möchten.
      2. Geben Sie im Feld EVAL_METRIC_1_WEIGHT die Gewichtung ein, die der datengetriebene Optimierer bei der Optimierung verwenden soll.
      3. Geben Sie im Feld EVAL_METRIC_2 einen Bewertungsmesswert ein, den Sie verwenden möchten.
      4. Geben Sie im Feld EVAL_METRIC_2_WEIGHT die Gewichtung ein, die der datengetriebene Optimierer bei der Optimierung verwenden soll.
      5. Geben Sie optional im Feld EVAL_METRIC_3 einen Bewertungsmesswert ein, den Sie verwenden möchten.
      6. Geben Sie optional im Feld EVAL_METRIC_3_WEIGHT die Gewichtung ein, die der datengetriebene Optimierer bei der Optimierung verwenden soll.
      7. Geben Sie im Feld METRIC_AGGREGATION_TYPE die Gewichtung ein, die der datengetriebene Optimierer bei der Optimierung verwenden soll.
    • Geben Sie im Feld PLACEHOLDER_TO_VALUE die Informationen ein, die alle Variablen in den Systemanweisungen ersetzen. Die in diesem Flag enthaltenen Informationen werden vom datengetriebenen Optimierer nicht optimiert.
    • Geben Sie im Feld RESPONSE_MIME_TYPE den MIME-Antworttyp ein, den das Zielmodell verwendet. Muss text/plain oder application/json sein. Wenn nicht festgelegt, ist der Standardwert text/plain.
    • Geben Sie im Feld TARGET_LANGUAGE die Sprache der Systemanweisungen ein. Wenn keine Angabe gemacht wird, ist die Standardeinstellung „Englisch“.

SDK

Wenn Sie den datengestützten Optimierer über das SDK ausführen möchten, erstellen Sie eine JSON-Datei mit den Parametern, die Sie zum Optimieren von Prompts verwenden möchten. Gehen Sie dazu so vor:

  1. Erstellen Sie eine JSON-Datei mit den Parametern, die Sie zum Optimieren Ihrer Prompts verwenden möchten. Für jede Konfigurationsdatei sind die folgenden Parameter erforderlich. Die Konfiguration unterscheidet sich geringfügig zwischen vertexai.types.PromptOptimizerMethod.OPTIMIZATION_TARGET_GEMINI_NANO und vertexai.types.PromptOptimizerMethod.VAPO.

    VAPO

    {
    "project": "PROJECT_ID",
    "system_instruction": "SYSTEM_INSTRUCTION",
    "prompt_template": "PROMPT_TEMPLATE",
    "target_model": "TARGET_MODEL",
    "thinking_budget": "THINKING_BUDGET",
    EVALUATION_METRIC_PARAMETERS,
    "optimization_mode": "OPTIMIZATION_MODE",
    "input_data_path": "SAMPLE_PROMPT_URI",
    "output_path": "OUTPUT_URI"
    }
    

    GEMINI_NANO

    {
    "project": "PROJECT_ID",
    "system_instruction": "SYSTEM_INSTRUCTION",
    "prompt_template": "PROMPT_TEMPLATE",
    "target_model": "TARGET_MODEL",
    "target_model_endpoint_url": "BASE_URL",
    EVALUATION_METRIC_PARAMETERS,
    "optimization_mode": "OPTIMIZATION_MODE",
    "input_data_path": "SAMPLE_PROMPT_URI",
    "output_path": "OUTPUT_URI"
    }
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Ihre Projekt-ID.
    • SYSTEM_INSTRUCTION: die Systemanweisungen, die Sie optimieren möchten.
    • PROMPT_TEMPLATE: die Prompt-Vorlage.
    • TARGET_MODEL: das Modell, für das Sie Prompts optimieren möchten. Verwenden Sie für OPTIMIZATION_TARGET_GEMINI_NANO ein anweisungsoptimiertes Modell (-it).
    • BASE_URL: Die Basis-URL des Modells, das in Model Garden oder auf Ihrem lokalen Computer bereitgestellt wurde. Beispiel: https://<var>DEDICATED_ENDPOINT_DNS</var>/v1beta1/projects/<var>PROJECT_NUMBER</var>/locations/<var>LOCATION</var>/endpoints/<var>ENDPOINT_ID</var> oder http://localhost:8000/v1 Erforderlich für die OPTIMIZATION_TARGET_GEMINI_NANO-Konfiguration.
    • THINKING_BUDGET: Das Denkbudget für das Zielmodell, für das Sie Prompts optimieren möchten. Der Standardwert ist -1. Das bedeutet, dass für Modelle ohne Thinking-Modus kein Thinking-Modus verwendet wird und für Modelle mit Thinking-Modus wie Gemini 2.5 der automatische Thinking-Modus verwendet wird. Informationen zu manuellen Budgeteinstellungen finden Sie unter Thinking. Beachten Sie, dass einige Modelle, z. B. Gemma-Modelle, thinking_budget nicht unterstützen.
    • EVALUATION_METRIC_PARAMETERS: Die von Ihnen angegebenen Parameter hängen davon ab, wie viele Bewertungsmesswerte Sie verwenden und ob es sich um Standard- oder benutzerdefinierte Messwerte handelt:

      Einzelner Standardmesswert

      Wenn Sie einen einzelnen Standardbewertungsmesswert verwenden, verwenden Sie den folgenden Parameter:

       "eval_metric": "EVALUATION_METRIC",
       

      Ersetzen Sie EVALUATION_METRIC durch den Messwert, für den Sie Ihre Prompts optimieren möchten.

      Einzelner benutzerdefinierter Messwert

      Wenn Sie einen einzelnen benutzerdefinierten Bewertungsmesswert verwenden, verwenden Sie die folgenden Parameter:

      "eval_metric": "custom_metric",
      "custom_metric_name": "CUSTOM_METRIC_NAME",
      "custom_metric_cloud_function_name": "FUNCTION_NAME",
      

      Ersetzen Sie Folgendes:

      • CUSTOM_METRIC_NAME: der Messwertname, wie durch den Schlüssel definiert, der dem final_score entspricht. Beispiel: custom_accuracy.
      • FUNCTION_NAME: der Name der Cloud Run-Funktion, die Sie zuvor bereitgestellt haben.

      Mehrere Standardmesswerte

      Wenn Sie mehrere Standardbewertungsmesswerte verwenden, verwenden Sie die folgenden Parameter:

      "eval_metrics_types": [EVALUATION_METRIC_LIST],
      "eval_metrics_weights": [EVAL_METRICS_WEIGHTS],
      "aggregation_type": "METRIC_AGGREGATION_TYPE",
      

      Ersetzen Sie Folgendes:

      • EVALUATION_METRIC_LIST: Eine Liste von Bewertungsmesswerten. muss ein Array sein. Beispiel: "bleu", "summarization_quality"
      • EVAL_METRICS_WEIGHTS: die Gewichtung für jeden Messwert. Muss ein Array sein und dieselbe Länge wie EVALUATION_METRIC_LIST haben.
      • METRIC_AGGREGATION_TYPE: die Art der Aggregation, die für die Bewertungsmesswerte verwendet wird. Muss weighted_sum oder weighted_average sein. Wenn keine Angabe gemacht wird, lautet der Standardwert weighted_sum.

      Mehrere Standard- und benutzerdefinierte Messwerte

      Wenn Sie mehrere Bewertungsmesswerte verwenden, die eine Kombination aus einem einzelnen benutzerdefinierten Messwert und einem oder mehreren Standardmesswerten enthalten, verwenden Sie die folgenden Parameter:

      "eval_metrics_types": ["custom_metric", EVALUATION_METRIC_LIST],
      "eval_metrics_weights": [EVAL_METRICS_WEIGHTS],
      "aggregation_type": "METRIC_AGGREGATION_TYPE",
      "custom_metric_name": "CUSTOM_METRIC_NAME",
      "custom_metric_cloud_function_name": "FUNCTION_NAME",
      

      Ersetzen Sie Folgendes:

      • EVALUATION_METRIC_LIST: Eine Liste der Standardbewertungsmesswerte. muss ein Array sein. Beispiel: "bleu", "summarization_quality".
      • EVAL_METRICS_WEIGHTS: die Gewichtung für jeden Messwert. muss ein Array sein.
      • METRIC_AGGREGATION_TYPE: die Art der Aggregation, die für die Bewertungsmesswerte verwendet wird. Muss weighted_sum oder weighted_average sein. Wenn keine Angabe gemacht wird, lautet der Standardwert weighted_sum.
      • CUSTOM_METRIC_NAME: der Messwertname, wie durch den Schlüssel definiert, der dem final_score entspricht. Beispiel: custom_accuracy
      • FUNCTION_NAME: der Name der Cloud Run-Funktion, die Sie zuvor bereitgestellt haben.
    • OPTIMIZATION_MODE: der Optimierungsmodus. Dies muss einer der folgenden Datentypen sein:

      • instruction: Optimiert die Systemanweisung.
      • demonstration: Wählt Beispielprompts aus, die den Systemanweisungen als Few-Shot-Beispiele hinzugefügt werden sollen.
      • instruction_and_demo: Führt beide oben genannten Aktionen aus.
    • SAMPLE_PROMPT_URI: der URI für die Beispiel-Prompts in Ihrem Cloud Storage-Bucket. Beispiel: gs://bucket-name/sample-prompts.jsonl

    • OUTPUT_URI: Der URI für den Cloud Storage-Bucket, in den der datengestützte Optimierer die optimierten Systemanweisungen und/oder Few-Shot-Beispiele schreiben soll. Beispiel: gs://bucket-name/output-path.

  2. Sie können der Konfigurationsdatei außerdem beliebige optionale Parameter hinzufügen.

    Optionale Parameter sind in 5 Kategorien unterteilt:

    • Parameter für den Optimierungsprozess: Diese Parameter steuern den gesamten Optimierungsprozess, einschließlich seiner Dauer und der Anzahl der Optimierungsiterationen, was sich direkt auf die Qualität der Optimierungen auswirkt.
    • Modellauswahl und Standortparameter Diese Parameter geben an, welche Modelle der datengetriebene Optimierer verwendet und an welchen Orten er diese Modelle verwendet.
    • Parameter für die Latenz (Abfragen pro Sekunde, QPS) Diese Parameter steuern die Abfragen pro Sekunde und beeinflussen die Geschwindigkeit des Optimierungsprozesses.
    • Sonstige Andere Parameter, die die Struktur und den Inhalt von Prompts steuern.

      Optionale Parameter ansehen
      "num_steps": NUM_INST_OPTIMIZATION_STEPS,
      "num_demo_set_candidates": "NUM_DEMO_OPTIMIZATION_STEPS,
      "demo_set_size": NUM_DEMO_PER_PROMPT,
      "target_model_location": "TARGET_MODEL_LOCATION",
      "source_model": "SOURCE_MODEL",
      "source_model_location": "SOURCE_MODEL_LOCATION",
      "target_model_qps": TARGET_MODEL_QPS,
      "eval_qps": EVAL_QPS,
      "source_model_qps": SOURCE_MODEL_QPS,
      "response_mime_type": "RESPONSE_MIME_TYPE",
      "language": "TARGET_LANGUAGE",
      "placeholder_to_content": "PLACEHOLDER_TO_CONTENT",
      "data_limit": DATA_LIMIT
      

      Ersetzen Sie Folgendes:

      • Parameter für den Optimierungsprozess:

        • NUM_INST_OPTIMIZATION_STEPS: Die Anzahl der Iterationen, die der datengestützte Optimierer im Modus zur Anweisungsoptimierung verwendet. Die Laufzeit erhöht sich linear, wenn Sie diesen Wert erhöhen. Muss eine Ganzzahl zwischen 10 und 20 sein. Wenn keine Angabe gemacht wird, lautet der Standardwert 10.
        • NUM_DEMO_OPTIMIZATION_STEPS: die Anzahl der Demonstrationen, die der datengetriebene Optimierer auswertet. Wird mit dem Optimierungsmodus demonstration und instruction_and_demo verwendet. Muss eine Ganzzahl zwischen 2 und der Gesamtzahl der Beispiel-Prompts minus 1 sein. Wenn keine Angabe gemacht wird, lautet der Standardwert 10.
        • NUM_DEMO_PER_PROMPT: die Anzahl der Demonstrationen, die pro Prompt generiert werden. Muss eine Ganzzahl zwischen 3 und 6 sein. Wenn nicht festgelegt, ist der Standardwert 3.
      • Modellauswahl und Standortparameter:

        • TARGET_MODEL_LOCATION: Standort, an dem das Zielmodell ausgeführt werden soll. Wenn nicht festgelegt, ist der Standardwert us-central1.
        • SOURCE_MODEL: das Google-Modell, mit dem die Systemanweisungen und Prompts zuvor verwendet wurden. Wenn der Parameter source_model festgelegt ist, führt der datengetriebene Optimierer Ihre Beispielprompts im Quellmodell aus, um die Grundwahrheit-Antworten für Sie zu generieren. Das ist für Bewertungsmesswerte erforderlich, für die Grundwahrheit-Antworten erforderlich sind. Wenn Sie Ihre Prompts zuvor nicht mit einem Google-Modell ausgeführt haben oder die gewünschten Ergebnisse nicht erzielt haben, fügen Sie Ihrem Prompt stattdessen Grundwahrheit-Antworten hinzu. Weitere Informationen finden Sie im Abschnitt Prompt und Systemanweisungen erstellen in diesem Dokument.
        • SOURCE_MODEL_LOCATION: Standort, an dem das Quellmodell ausgeführt werden soll. Wenn nicht festgelegt, ist der Standardwert us-central1.
      • Parameter für die Latenz (Abfragen pro Sekunde, QPS):

        • TARGET_MODEL_QPS: Die Abfragen pro Sekunde (QPS), die der datengestützte Optimierer an das Zielmodell sendet. Die Laufzeit nimmt linear ab, wenn Sie diesen Wert erhöhen. Muss ein Gleitkommazahl sein, der mindestens 3.0 beträgt, aber kleiner als das QPS-Kontingent ist, das Sie für das Zielmodell haben. Wenn nicht festgelegt, ist der Standardwert 3.0.
        • EVAL_QPS: die Abfragen pro Sekunde (QPS), die der datengetriebene Optimierer an den Gen AI Evaluation Service oder die Cloud Run-Funktion sendet.
          • Bei modellbasierten Messwerten muss es sich um einen Gleitkommawert handeln, der 3.0 oder größer ist. Wenn nicht festgelegt, ist der Standardwert 3.0.
          • Für benutzerdefinierte Messwerte muss es eine Gleitkommazahl sein, die 3.0 oder größer ist. Damit wird die Häufigkeit festgelegt, mit der der datengetriebene Optimierer Ihre Cloud Run-Funktionen mit benutzerdefinierten Messwerten aufruft.
        • SOURCE_MODEL_QPS: die Abfragen pro Sekunde (QPS), die der datengetriebene Optimierer an das Quellmodell sendet. Muss ein Gleitkommazahl sein, der mindestens 3.0, aber kleiner als das Abfragekontingent pro Sekunde für das Quellmodell ist. Wenn keine Angabe gemacht wird, lautet der Standardwert 3.0.
      • Sonstige Parameter:

        • RESPONSE_MIME_TYPE: Der MIME-Antworttyp, den das Zielmodell verwendet. Muss text/plain oder application/json sein. Wenn nicht festgelegt, ist der Standardwert text/plain.
        • TARGET_LANGUAGE: die Sprache der Systemanweisungen. Wenn keine Angabe gemacht wird, ist die Standardeinstellung Englisch.
        • PLACEHOLDER_TO_CONTENT: die Informationen, die alle Variablen in den Systemanweisungen ersetzen. Informationen, die in diesem Flag enthalten sind, werden vom datengestützten Prompt-Optimierer nicht optimiert.
        • DATA_LIMIT: die Datenmenge, die für die Validierung verwendet wird. Die Laufzeit erhöht sich linear mit diesem Wert. Muss eine Ganzzahl zwischen 5 und 100 sein. Wenn nicht festgelegt, ist der Standardwert 100.
  3. Laden Sie die JSON-Datei in einen Cloud Storage-Bucket hoch.

Prompt-Optimierer ausführen

Führen Sie den datengestützten Optimierer mit einer der folgenden Optionen aus:

Notebook

Führen Sie den datengetriebenen Optimierer über das Notebook aus. Gehen Sie dazu so vor:

  1. Öffnen Sie in Colab Enterprise das Notebook zur Prompt-Optimierung der Gemini Enterprise Agent Platform.

    Zum Notebook für datengetriebene Optimierung

  2. Klicken Sie im Bereich Prompt-Optimierungstool ausführen auf play_circle Zelle ausführen.

    Der datengestützte Optimierer wird ausgeführt.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION: Der Standort, an dem Sie den Prompt-Optimierer der Gemini Enterprise Agent Platform ausführen möchten.
  • PROJECT_ID: Ihre Projekt-ID.
  • JOB_NAME: ein Name für den Prompt-Optimierungsjob der Gemini Enterprise Agent Platform.
  • PATH_TO_CONFIG: der URI der Konfigurationsdatei in Ihrem Cloud Storage-Bucket. Beispiel: gs://bucket-name/configuration.json.

HTTP-Methode und URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs

JSON-Text der Anfrage:

{
  "displayName": "JOB_NAME",
  "jobSpec": {
    "workerPoolSpecs": [
      {
        "machineSpec": {
          "machineType": "n1-standard-4"
        },
        "replicaCount": 1,
        "containerSpec": {
          "imageUri": "us-docker.pkg.dev/vertex-ai-restricted/builtin-algorithm/apd:preview_v1_0",
          "args": ["--config=PATH_TO_CONFIG"]
        }
      }
    ]
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs" | Select-Object -Expand Content

Die Antwort sieht dann ungefähr so aus:

SDK

Führen Sie den datengestützten Optimierer über das SDK aus, indem Sie die folgenden Codeabschnitte in Ihr Colab oder Notebook einfügen.

Ersetzen Sie die folgenden Werte:

  • LOCATION: der Standort, an dem Sie den datengestützten Optimierer ausführen möchten.
  • PROJECT_ID: Ihre Projekt-ID.
  • PROJECT_NUMBER: Ihre Projektnummer, die in der Google Cloud Console verfügbar ist.
  • PATH_TO_CONFIG: der URI der Konfigurationsdatei in Cloud Storage. Beispiel: gs://bucket-name/configuration.json.
# Authenticate
from google.colab import auth
auth.authenticate_user(project_id=PROJECT_ID)

# Set the Service Account
SERVICE_ACCOUNT = f"{PROJECT_NUMBER}-compute@developer.gserviceaccount.com"

# Import Agent Platform SDK and Setup
import vertexai
vertexai.init(project=PROJECT_ID, location=LOCATION)

#Create the Agent Platform Client
client = vertexai.Client(project=PROJECT_ID, location=LOCATION)

# Setup the job dictionary
vapo_config = {
  'config_path': PATH_TO_CONFIG,
  'service_account': SERVICE_ACCOUNT,
  'wait_for_completion': True,
}

#Start the Agent Platform Prompt Optimizer
client = client.prompt_optimizer.optimize(method=vertexai.types.PromptOptimizerMethod.VAPO, config=vapo_config)

Wenn Sie das Gemma-Modell als Zielmodell verwenden möchten, nehmen Sie die folgenden Änderungen vor:

nano_config = vertexai.types.PromptOptimizerConfig(
    config_path="gs://sample-bucket/config_nano.json",
    service_account_project_number=project_number,
    wait_for_completion=True
    )
# Simpler version
# nano_config = {
#     "config_path": "gs://sample-bucket/config_nano.json",
#     "service_account": service_account,
#     "wait_for_completion": True
#     }
logging.basicConfig(encoding='utf-8', level=logging.INFO, force=True)

client.prompt_optimizer.optimize(
    method=vertexai.types.PromptOptimizerMethod.OPTIMIZATION_TARGET_GEMINI_NANO,
    config=nano_config
)

Prüfen Sie nach Abschluss der Optimierung die Ausgabeartefakte am in der Konfiguration angegebenen Ausgabespeicherort.

Ergebnisse analysieren und optimieren

Nachdem Sie den datengetriebenen Optimierer ausgeführt haben, können Sie den Fortschritt des Jobs mit einer der folgenden Optionen prüfen:

Notebook

Wenn Sie die Ergebnisse des datengestützten Optimierers im Notebook ansehen möchten, gehen Sie so vor:

  1. Öffnen Sie das Notebook für den Prompt-Optimierer der Gemini Enterprise Agent Platform.

  2. Führen Sie im Abschnitt Ergebnisse prüfen folgende Schritte aus:

    1. Fügen Sie im Feld RESULT_PATH den URI des Cloud Storage-Buckets hinzu, den Sie für den datengestützten Optimierer konfiguriert haben, um Ergebnisse zu schreiben. Beispiel: gs://bucket-name/output-path.

    2. Klicken Sie auf play_circle Zelle ausführen.

Console

  1. Rufen Sie in der Google Cloud Console im Bereich „Agent Platform“ die Seite Trainingspipelines auf.

    Zur Trainingspipeline

  2. Klicken Sie auf den Tab Benutzerdefinierte Jobs. Der benutzerdefinierte Trainingsjob des datengestützten Optimierers wird in der Liste zusammen mit seinem Status angezeigt.

Wenn der Job abgeschlossen ist, können Sie die Optimierungen so prüfen:

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets:

    Buckets aufrufen

  2. Klicken Sie den Name Ihres Cloud Storage-Buckets

  3. Rufen Sie den Ordner auf, der den Namen des Optimierungsmodus hat, mit dem Sie die Prompts bewertet haben, also entweder instruction oder demonstration. Wenn Sie den Modus instruction_and_demo verwendet haben, werden beide Ordner angezeigt. Der Ordner instruction enthält die Ergebnisse der Systemanweisungsoptimierung, während der Ordner demonstration die Ergebnisse der demonstration-Optimierung und die optimierten Systemanweisungen enthält.

    Der Ordner enthält die folgenden Dateien:

    • config.json: Die vollständige Konfiguration, die vom Prompt-Optimierer der Gemini Enterprise Agent Platform verwendet wurde.
    • templates.json: jede Gruppe von Systemanweisungen und/oder Few-Shot-Beispielen, die der datengetriebene Optimierer generiert hat und deren Bewertung.
    • eval_results.json: Die Antwort des Zielmodells für jeden Beispiel-Prompt, für jeden Satz generierter Systemanweisungen und/oder Few-Shot-Beispiele und deren Bewertungsbewertung.
    • optimized_results.json: die leistungsstärksten Systemanweisungen und/oder Few-Shot-Beispiele und deren Bewertung.
  4. Die optimierten Systemanweisungen finden Sie in der Datei optimized_results.json.

Best Practices

  • Modelle in der Vorabversion werden nur in der Region global unterstützt. Der benutzerdefinierte Vertex-Job unterstützt global nicht als Region. Verwenden Sie VAPO daher nicht, um die Vorschaumodelle als Zielmodell zu optimieren.

  • Für GA-Modelle können Nutzer die regionsspezifischen Standorte wie us-central1 oder europe-central2 anstelle von global auswählen, um ihre Anforderungen an den Datenstandort zu erfüllen.

Nächste Schritte