In diesem Dokument wird beschrieben, wie Sie den datengesteuerten Optimierer verwenden, um die Prompt-Leistung automatisch zu optimieren, indem Sie die Systemanweisungen für eine Reihe von Prompts verbessern.
Mit dem datengesteuerten 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 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 Kontextinformationen verwenden, um Fragen zum Kochen zu beantworten, können Sie den datengesteuerten Optimierer verwenden. Um diese Aufgabe zu erledigen, bereiten Sie die Eingaben wie folgt 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, um rotes Fleisch und Schweinefleisch so zuzubereiten, dass Geschmack und Zartheit maximiert und die Bildung ungesunder Verbindungen minimiert werden? | Rind- und Schweinefleisch sollten für eine sichere Zubereitung auf eine Kerntemperatur von 63 °C erhitzt werden. Wenn Sie Fleisch in säurehaltigen Zutaten wie Zitronensaft oder Essig marinieren, können Sie es zarter machen, indem Sie zähe Muskelfasern aufbrechen. Bei Kochmethoden mit hoher Hitze wie Grillen und Braten in der Pfanne können köstliche Bräunungs- und Karamellisierungseffekte entstehen. Es ist jedoch wichtig, das Anbrennen zu vermeiden, da dabei schädliche Verbindungen entstehen können. |
| Wie kann ich Protein-Shakes auf kreative Weise mehr Geschmack und Nährstoffe verleihen, ohne Zuckerzusatz oder künstliche Inhaltsstoffe zu verwenden? | Wenn Sie Ihrem Shake grünes Blattgemüse wie Spinat oder Grünkohl hinzufügen, können Sie den Nährwert steigern, 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 dein Shake durch zu langes Mixen warm werden kann? Um die Zutaten kühl und frisch zu halten, solltest du den Mixer nur kurz laufen lassen und ihm 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. Es kann sich um Folgendes handeln:
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 Beispiel-Prompts auswählt.
Wenn Sie den datengetriebenen Optimierer ausführen, werden die Systemanweisungen basierend auf Ihren Auswahlmöglichkeiten optimiert. Dazu wird ein benutzerdefinierter Trainingsjob ausgeführt, bei dem Ihre Beispielprompts iterativ ausgewertet und Ihre Systemanweisungen neu formuliert werden, um die Version zu finden, die die beste Bewertungsnote für das Zielmodell ergibt.
Am Ende des Jobs gibt der datengestützte Optimierer die optimierten Systemanweisungen mit dem entsprechenden Bewertungsfaktor aus.
Bewertungsmesswerte
Der datengetriebene Optimierer verwendet Bewertungsmesswerte, um Systemanweisungen zu optimieren und Beispielprompts auszuwählen. Sie können die Standardmesswerte für die Bewertung verwenden oder eigene benutzerdefinierte Messwerte definieren. Hinweis: Bei allen Bewertungsstatistiken MUSS ein höherer Wert auf eine bessere Leistung hinweisen.
Sie können mehrere Messwerte gleichzeitig verwenden. Benutzerdefinierte Messwerte können jedoch nur einzeln verwendet werden. Wenn Sie Standard- und benutzerdefinierte Messwerte zusammen verwenden, kann 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. Der datengesteuerte Optimierer unterstützt jeweils nur einen benutzerdefinierten Messwert.
Informationen zum Erstellen benutzerdefinierter Messwerte
Standardmäßige Bewertungsmesswerte
Der datengesteuerte Optimierer unterstützt benutzerdefinierte Bewertungsmesswerte sowie 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 bewerten. | |
| 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 Tool-Aufruf 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 Übereinstimmung zwischen einem Vorhersageparameter und dem zugehörigen Referenzparameter betrachtet. | |
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 mit question_answering_correctness oder rechenbasierten Auswertungen optimieren möchten, müssen Sie eine der folgenden Aktionen ausführen:
- 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_modelhinzufügen, anstatt Grundwahrheit-Antworten hinzuzufügen. Wenn der Parametersource_modelfestgelegt ist, führt der datengetriebene Optimierer Ihre Beispielprompts auf dem Quellmodell aus, um die Grundwahrheit-Antworten für Sie zu generieren.Der Parameter
source_modelsollte nur für Modell-Upgrades 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 Quelltexts in den Daten an. Außerdem wurde der MetricX-Wert so geändert, dass er zwischen 0 (schlechtester Wert) und 25 (bester Wert) liegt, um die Eigenschaft „Je höher, 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:
- Agent Platform-Nutzer (
roles/aiplatform.user) - Storage-Objekt-Administrator (
roles/storage.objectAdmin) - Artifact Registry-Leser (
roles/artifactregistry.reader) -
Wenn Sie benutzerdefinierte Messwerte verwenden:
- Cloud Run Developer (
roles/run.developer) - Cloud Run Invoker (
roles/run.invoker) - Agent Platform-Dienst-Agent (
roles/aiplatform.serviceAgent)
- Cloud Run Developer (
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 haben folgende Möglichkeiten, Prompts zu optimieren:
- mit dem Prompt-Optimierungstool der Gemini Enterprise Agent Platform in der Gemini Enterprise Agent Platform Console
- über die Agent Platform API
- Führen Sie das Notebook für den Prompt-Optimierer der Agent Platform aus.
Wählen Sie eine Methode aus, um Prompts zu optimieren, und führen Sie dann die Schritte aus, die in den folgenden Abschnitten ausführlich beschrieben werden:
- Prompt-Vorlage und Systemanweisungen erstellen
- Beispiel-Prompts vorbereiten
- Optional: Benutzerdefinierte Messwerte erstellen
- Konfiguration erstellen
- Prompt-Optimierungsjob ausführen
- Ergebnisse analysieren und optimieren
Prompt-Vorlage und Systemanweisungen erstellen
Mit Prompt-Vorlagen wird das Format aller Ihrer Prompts über austauschbare Variablen definiert. 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_TYPEnach der Variablen enthalten:@@@MIME_TYPE
Ersetzen Sie
MIME_TYPEdurch einen Bild-, Video-, Audio- oder Dokument-MIME-Typ, der vom Zielmodell unterstützt wird.
Erstellen Sie eine Prompt-Vorlage und Systemanweisungen mit einer der folgenden Methoden:
Notebook
Wenn Sie den datengesteuerten Optimierer über das Notebook ausführen möchten, erstellen Sie Systemanweisungen und eine Prompt-Vorlage. Gehen Sie dazu so vor:
Öffnen Sie in Colab Enterprise das Notebook für den Gemini Enterprise Agent Platform-Prompt-Optimierer.
Zum Notebook für den Prompt-Optimierer der Gemini Enterprise Agent Platform
Führen Sie im Abschnitt Vorlage für Prompts und außerdem Systemanweisungen erstellen die folgenden Schritte aus:
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.
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}Wenn Sie Ihre Prompts mit
question_answering_correctness- oder rechenbasierten Auswertungen optimieren möchten, müssen Sie eine der folgenden Aktionen 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_modelhinzufügen, anstatt Grundwahrheit-Antworten hinzuzufügen. Wenn der Parametersource_modelfestgelegt ist, führt der datengesteuerte Optimierer Ihre Beispielprompts auf dem Quellmodell aus, um die Grundwahrheit-Antworten für Sie zu generieren.
SDK
Wenn Sie den datengesteuerten Optimierer über das SDK ausführen möchten, ohne das Notebook zu verwenden, erstellen Sie Textdateien für Ihre Prompt-Vorlage und Systemanweisungen. Gehen Sie dazu so vor:
Erstellen Sie eine Textdatei für Ihre Systemanweisungen.
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.
Erstellen Sie eine Textdatei für Ihre Prompt-Vorlage.
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}Wenn Sie Ihre Prompts mit
question_answering_correctness- oder rechenbasierten Auswertungen optimieren möchten, müssen Sie eine der folgenden Aktionen 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_modelhinzufügen, anstatt Grundwahrheit-Antworten hinzuzufügen. Wenn der Parametersource_modelfestgelegt ist, führt der datengesteuerte Optimierer Ihre Beispielprompts auf dem Quellmodell aus, um die Grundwahrheit-Antworten für Sie zu generieren.
Beispiel-Prompts vorbereiten
Die besten Ergebnisse mit dem datengetriebenen Optimierungstool erzielen Sie mit 50 bis 100 Beispiel-Prompts.
- Das Tool kann bereits 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
- Erstellen Sie eine JSONL-Datei.
Fügen Sie der JSONL-Datei die Prompt-Daten hinzu, die jede Variable 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"}
CSV-Datei
- CSV-Datei erstellen
- Fügen Sie in der ersten Zeile die Variablen aus Ihrer Prompt-Vorlage hinzu.
- Fügen Sie in den folgenden Zeilen die Beispieldaten ein, die jede Variable ersetzen.
- Laden Sie die CSV-Datei in einen Cloud Storage-Bucket hoch.
Optional: Benutzerdefinierte Messwerte erstellen
So erstellen Sie einen benutzerdefinierten Messwert:
Erstellen Sie eine Textdatei mit dem Namen
requirements.txt.Definieren Sie in der Datei
requirements.txtdie erforderlichen Bibliotheken für die benutzerdefinierte Funktion für den Auswertungs-Messwert. Für alle Funktionen ist dasfunctions-framework-Paket erforderlich.Die
requirements.txt-Datei für einen benutzerdefinierten Messwert, mit dem ROUGE-L berechnet wird, sieht beispielsweise so aus:functions-framework==3.* rouge-score
Erstellen Sie eine Python-Datei mit dem Namen
main.py.Schreiben Sie in der Datei
main.pyIhre benutzerdefinierte Bewertungsfunktion. Die Funktion muss Folgendes akzeptieren:- HTTP-POST-Anfragen
- JSON-Eingabe mit
response, der Ausgabe des LLM, undreference, der Ground Truth-Antwort für den Prompt, sofern im Prompt-Dataset angegeben.
Die
main.py-Datei für eine benutzerdefinierte Messwertberechnung für ROUGE-L könnte 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', })Stellen Sie Ihre benutzerdefinierte Auswertungsfunktion 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 des benutzerdefinierten Auswertungs-Messwerts.PROJECT_ID: Ihre Projekt-ID.REGION: Die Region, in der Sie die Funktion bereitstellen möchten. Sie sollte mit der Region übereinstimmen, in der Sie das Zielmodell verwenden.
Konfiguration erstellen
In der datengesteuerten Optimiererkonfiguration werden die Parameter angegeben, die Sie für Ihren Job zur Prompt-Optimierung festlegen möchten.
Hinweis: Für Gemma-Modelle sind keine verwalteten APIs in der Gemini Enterprise Agent Platform verfügbar. 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 zum Bereitstellen 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 datengesteuerten Optimierer über das Notebook ausführen möchten, erstellen Sie eine Konfiguration. Gehen Sie dazu so vor:
Öffnen Sie in Colab Enterprise das datengesteuerte Optimierungs-Notebook.
Zum Notebook für den Prompt-Optimierer der Gemini Enterprise Agent Platform
Führen Sie im Abschnitt Projekteinstellungen konfigurieren die folgenden Schritte aus:
- Geben Sie im Feld PROJECT_ID Ihre Projekt-ID ein.
- Geben Sie im Feld LOCATION den Ort ein, an dem Sie den datengesteuerten Optimierer ausführen möchten.
- Geben Sie im Feld OUTPUT_PATH den URI für den Cloud Storage-Bucket ein, in den der datengesteuerte Optimierer die optimierten Systemanweisungen und/oder Few-Shot-Beispiele schreiben soll.
Beispiel:
gs://bucket-name/output-path. - 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
Führen Sie im Abschnitt Optimierungseinstellungen konfigurieren die folgenden Schritte aus:
- Geben Sie im Feld TARGET_MODEL das Modell ein, für das Sie Prompts optimieren möchten.
- Geben Sie im Feld THINKING_BUDGET das Thinking-Budget für das Zielmodell ein, für das Sie Prompts optimieren möchten. Standardmäßig auf -1 festgelegt. 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. Weitere Informationen zu manuellen Budgeteinstellungen finden Sie unter Überlegungen.
- Geben Sie in OPTIMIZATION_MODE den gewünschten Optimierungsmodus ein. 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.
- Geben Sie im Feld EVAL_METRIC einen Messwert für die Auswertung ein, für den Sie Ihre Prompts optimieren möchten.
- Optional: Geben Sie im Feld SOURCE_MODEL das Google-Modell ein, mit dem die Systemanweisungen und Prompts zuvor verwendet wurden. Wenn der Parameter
source_modelfestgelegt ist, führt der datengesteuerte 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 in diesem Dokument im Abschnitt Prompt und Systemanweisungen erstellen.
Optional: Im Abschnitt Erweiterte Optimierungseinstellungen konfigurieren können Sie Ihrer Konfiguration zusätzlich einen der optionalen Parameter hinzufügen.
- Geben Sie im Feld NUM_INST_OPTIMIZATION_STEPS die Anzahl der Iterationen ein, die der datengetriebene Optimierer im Modus zur Optimierung von Anleitungen verwendet. Die Laufzeit steigt linear, wenn Sie diesen Wert erhöhen. Muss eine Ganzzahl zwischen
10und20sein. Wenn nicht festgelegt, ist der Standardwert10. - Geben Sie im Feld NUM_DEMO_OPTIMIZATION_STEPS die Anzahl der Demonstrationen ein, die vom datengesteuerten Optimierer ausgewertet werden.
Wird mit dem Optimierungsmodus
demonstrationundinstruction_and_demoverwendet. Muss eine Ganzzahl zwischen10und30sein. Wenn nicht festgelegt, ist der Standardwert10. - Geben Sie im Feld NUM_DEMO_PER_PROMPT die Anzahl der Demonstrationen ein, die pro Prompt generiert werden. Muss eine Ganzzahl zwischen
2und der Gesamtzahl der Beispielprompts – 1 sein. Wenn nicht festgelegt, ist der Standardwert3. - Geben Sie im Feld TARGET_MODEL_QPS die Anzahl der Abfragen pro Sekunde (QPS) ein, die der datengesteuerte Optimierer an das Zielmodell sendet.
Die Laufzeit nimmt linear ab, wenn Sie diesen Wert erhöhen. Muss ein Gleitkommazahl sein, der mindestens
3.0beträgt, aber kleiner als das QPS-Kontingent ist, das Sie für das Zielmodell haben. Wenn nicht festgelegt, ist der Standardwert3.0. - Geben Sie im Feld SOURCE_MODEL_QPS die Anzahl der Abfragen pro Sekunde (Queries Per Second, QPS) ein, die der datengesteuerte 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 nicht festgelegt, ist der Standardwert3.0. - Geben Sie im Feld EVAL_QPS die Anzahl der Abfragen pro Sekunde (QPS) ein, die der datengesteuerte Optimierer an den Gen AI Evaluation Service oder die Cloud Run-Funktion sendet.
- Bei modellbasierten Messwerten muss es sich um eine Gleitkommazahl handeln, die
3.0oder größer ist. Wenn nicht festgelegt, ist der Standardwert3.0. - Für benutzerdefinierte Messwerte muss es sich um eine Gleitkommazahl handeln, die
3.0oder größer ist. Damit wird die Häufigkeit festgelegt, mit der der datengesteuerte Optimierer Ihre Cloud Run-Funktionen mit benutzerdefinierten Messwerten aufruft.
- Bei modellbasierten Messwerten muss es sich um eine Gleitkommazahl handeln, die
- Wenn Sie mehr als einen Bewertungs-Messwert verwenden möchten, gehen Sie so vor:
- Geben Sie im Feld EVAL_METRIC_1 einen Bewertungs-Messwert ein, den Sie verwenden möchten.
- Geben Sie im Feld EVAL_METRIC_1_WEIGHT das Gewichtung ein, das der datengesteuerte Optimierer bei der Optimierung verwenden soll.
- Geben Sie im Feld EVAL_METRIC_2 einen Bewertungs-Messwert ein, den Sie verwenden möchten.
- Geben Sie im Feld EVAL_METRIC_2_WEIGHT das Gewichtung ein, das der datengesteuerte Optimierer bei der Optimierung verwenden soll.
- Geben Sie optional im Feld EVAL_METRIC_3 einen Bewertungs-Messwert ein, den Sie verwenden möchten.
- Geben Sie optional im Feld EVAL_METRIC_3_WEIGHT das Gewichtung ein, das der datengesteuerte Optimierer bei der Optimierung verwenden soll.
- Geben Sie im Feld METRIC_AGGREGATION_TYPE das Gewicht ein, das 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. Informationen, die in diesem Flag enthalten sind, werden nicht vom datengesteuerten Optimierer optimiert.
- Geben Sie im Feld RESPONSE_MIME_TYPE den MIME-Antworttyp ein, der vom Zielmodell verwendet wird. Muss
text/plainoderapplication/jsonsein. Wenn nicht festgelegt, ist der Standardwerttext/plain. - Geben Sie im Feld TARGET_LANGUAGE die Sprache der Systemanweisungen ein. Wenn nicht festgelegt, ist die Standardsprache Englisch.
SDK
Wenn Sie den datengesteuerten 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:
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 variiert leicht zwischen
vertexai.types.PromptOptimizerMethod.OPTIMIZATION_TARGET_GEMINI_NANOundvertexai.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ürOPTIMIZATION_TARGET_GEMINI_NANOein auf Anweisungen abgestimmtes (-it) Modell.BASE_URL: Die Basis-URL des Modells, das in Model Garden oder auf Ihrem lokalen Computer bereitgestellt wird. Beispiel:https://<var>DEDICATED_ENDPOINT_DNS</var>/v1beta1/projects/<var>PROJECT_NUMBER</var>/locations/<var>LOCATION</var>/endpoints/<var>ENDPOINT_ID</var>oderhttp://localhost:8000/v1Erforderlich für dieOPTIMIZATION_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. Weitere Informationen zu manuellen Budgeteinstellungen finden Sie unter Thinking. Beachten Sie, dass einige Modelle wie Gemmathinking_budgetnicht unterstützen.EVALUATION_METRIC_PARAMETERS: Die von Ihnen angegebenen Parameter hängen davon ab, wie viele Auswertungsstatistiken Sie verwenden und ob es sich um Standard- oder benutzerdefinierte Statistiken handelt:Einzelner Standardmesswert
Wenn Sie einen einzelnen Standardmesswert für die Bewertung verwenden, nutzen Sie den folgenden Parameter:
"eval_metric": "EVALUATION_METRIC",
Ersetzen Sie
EVALUATION_METRICdurch die Messgröße, für die 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 Name des Messwerts, wie er durch den Schlüssel definiert wird, der mit demfinal_scoreübereinstimmt. Beispiel:custom_accuracy.FUNCTION_NAME: Der Name der Cloud Run-Funktion, die Sie zuvor bereitgestellt haben.
Mehrere Standardmesswerte
Wenn Sie mehrere Standardmesswerte für die Bewertung verwenden, nutzen 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 Auswertungsstatistiken. muss ein Array sein. Beispiel:"bleu", "summarization_quality"EVAL_METRICS_WEIGHTS: das Gewicht für jeden Messwert. Muss ein Array sein und dieselbe Länge wieEVALUATION_METRIC_LISThaben.METRIC_AGGREGATION_TYPE: Der Aggregationstyp, der für die Bewertungsstatistiken verwendet wird. Mussweighted_sumoderweighted_averagesein. Wenn nicht festgelegt, ist der Standardwertweighted_sum.
Mehrere Standard- und benutzerdefinierte Messwerte
Wenn Sie mehrere Bewertungsstatistiken verwenden, die eine Mischung 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: das Gewicht für jeden Messwert. muss ein Array sein.METRIC_AGGREGATION_TYPE: Der Aggregationstyp, der für die Bewertungsstatistiken verwendet wird. Mussweighted_sumoderweighted_averagesein. Wenn nicht festgelegt, ist der Standardwertweighted_sum.CUSTOM_METRIC_NAME: Der Name des Messwerts, wie er durch den Schlüssel definiert wird, derfinal_scoreentspricht. Beispiel:custom_accuracyFUNCTION_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.jsonlOUTPUT_URI: Der URI für den Cloud Storage-Bucket, in den der datengesteuerte Optimierer die optimierten Systemanweisungen und/oder Few-Shot-Beispiele schreiben soll. Beispiel:gs://bucket-name/output-path.
Sie können Ihrer Konfigurationsdatei auch beliebige der optionalen Parameter hinzufügen.
Optionale Parameter sind in fünf Kategorien unterteilt:
- Parameter für den Optimierungsprozess: Diese Parameter steuern den gesamten Optimierungsprozess, einschließlich seiner Dauer und der Anzahl der Optimierungsiterationen, die ausgeführt werden. Das wirkt sich direkt auf die Qualität der Optimierungen aus.
- Modellauswahl und Standortparameter: Mit diesen Parametern wird angegeben, welche Modelle vom datengetriebenen Optimierungstool verwendet werden und an welchen Standorten diese Modelle zum Einsatz kommen.
- Parameter für die Latenz (Abfragen pro Sekunde, QPS) Diese Parameter steuern die QPS und wirken sich auf die Geschwindigkeit des Optimierungsprozesses aus.
- 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 datengesteuerte Optimierer im Modus zur Optimierung von Anleitungen verwendet. Die Laufzeit steigt linear, wenn Sie diesen Wert erhöhen. Muss eine Ganzzahl zwischen10und20sein. Wenn nicht festgelegt, ist der Standardwert10.NUM_DEMO_OPTIMIZATION_STEPS: Die Anzahl der Demonstrationen, die vom datengesteuerten Optimierer ausgewertet werden. Wird mit dem Optimierungsmodusdemonstrationundinstruction_and_demoverwendet. Muss eine Ganzzahl zwischen2und der Gesamtzahl der Beispielprompts – 1 sein. Wenn nicht festgelegt, ist der Standardwert10.NUM_DEMO_PER_PROMPT: Die Anzahl der Demonstrationen, die pro Prompt generiert werden. Muss eine Ganzzahl zwischen3und6sein. Wenn nicht festgelegt, ist der Standardwert3.
Modellauswahl und Standortparameter:
TARGET_MODEL_LOCATION: Standort, an dem das Zielmodell ausgeführt werden soll. Wenn nicht festgelegt, ist der Standardwertus-central1.SOURCE_MODEL: Das Google-Modell, mit dem die Systemanweisungen und Prompts zuvor verwendet wurden. Wenn der Parametersource_modelfestgelegt 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 in diesem Dokument im Abschnitt Prompt und Systemanweisungen erstellen.SOURCE_MODEL_LOCATION: Standort, an dem das Quellmodell ausgeführt werden soll. Wenn nicht festgelegt, ist der Standardwertus-central1.
Parameter für die Latenz (Abfragen pro Sekunde, QPS):
TARGET_MODEL_QPS: Die Anfragen pro Sekunde (Queries per Second, QPS), die der datengetriebene Optimierer an das Zielmodell sendet. Die Laufzeit nimmt linear ab, wenn Sie diesen Wert erhöhen. Muss ein Gleitkommazahl sein, der mindestens3.0beträgt, aber kleiner als das QPS-Kontingent ist, das Sie für das Zielmodell haben. Wenn nicht festgelegt, ist der Standardwert3.0.EVAL_QPS: Die Anfragen pro Sekunde (Queries per Second, QPS), die der datengesteuerte Optimierer an den Gen AI Evaluation Service oder die Cloud Run-Funktion sendet.- Bei modellbasierten Messwerten muss es sich um eine Gleitkommazahl handeln, die
3.0oder größer ist. Wenn nicht festgelegt, ist der Standardwert3.0. - Für benutzerdefinierte Messwerte muss es sich um eine Gleitkommazahl handeln, die
3.0oder größer ist. Damit wird die Häufigkeit festgelegt, mit der der datengesteuerte Optimierer Ihre Cloud Run-Funktionen mit benutzerdefinierten Messwerten aufruft.
- Bei modellbasierten Messwerten muss es sich um eine Gleitkommazahl handeln, die
SOURCE_MODEL_QPS: Die Anzahl der Abfragen pro Sekunde (Queries per Second, QPS), die der datengetriebene Optimierer an das Quellmodell sendet. Muss ein Gleitkommazahl sein, der mindestens3.0, aber kleiner als das Abfragekontingent pro Sekunde für das Quellmodell ist. Wenn nicht festgelegt, ist der Standardwert3.0.
Sonstige Parameter:
RESPONSE_MIME_TYPE: Der MIME-Antworttyp, der vom Zielmodell verwendet wird. Musstext/plainoderapplication/jsonsein. Wenn nicht festgelegt, ist der Standardwerttext/plain.TARGET_LANGUAGE: die Sprache der Systemanweisungen. Wenn nicht festgelegt, ist die Standardsprache Englisch.PLACEHOLDER_TO_CONTENT: Die Informationen, die alle Variablen in den Systemanweisungen ersetzen. Informationen, die in diesem Flag enthalten sind, werden nicht vom datengetriebenen Prompt-Optimierer optimiert.DATA_LIMIT: die Menge der für die Validierung verwendeten Daten. Die Laufzeit steigt linear mit diesem Wert. Muss eine Ganzzahl zwischen5und100sein. Wenn nicht festgelegt, ist der Standardwert100.
Prompt-Optimierer ausführen
Führen Sie den datengestützten Optimierer mit einer der folgenden Optionen aus:
Notebook
Führen Sie den datengestützten Optimierer über das Notebook aus. Gehen Sie dazu so vor:
Öffnen Sie in Colab Enterprise das Notebook für den Gemini Enterprise Agent Platform-Prompt-Optimizer.
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 Ort, 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 datengesteuerten Optimierer über das SDK aus, indem Sie die folgenden Codeabschnitte in Ihr Colab-Notebook einfügen.
Ersetzen Sie die folgenden Werte:
LOCATION: der Standort, an dem Sie den datengesteuerten Optimierer ausführen möchten.PROJECT_ID: Ihre Projekt-ID.PROJECT_NUMBER: Ihre Projektnummer, die in der Google Cloud Konsole 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
)
Sehen Sie sich nach Abschluss der Optimierung die Ausgabeartefakte am in der Konfiguration angegebenen Ausgabespeicherort an.
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 über das Notebook aufrufen möchten, gehen Sie so vor:
Öffnen Sie das Notebook für den Prompt-Optimierer für die Gemini Enterprise Agent Platform.
Führen Sie im Abschnitt Ergebnisse prüfen folgende Schritte aus:
Fügen Sie im Feld RESULT_PATH den URI des Cloud Storage-Buckets hinzu, in den der datengesteuerte Optimierer Ergebnisse schreiben soll. Beispiel:
gs://bucket-name/output-path.Klicken Sie auf play_circle Zelle ausführen.
Console
Wechseln Sie in der Google Cloud -Console im Abschnitt „Agent Platform“ zur Seite Trainingspipelines.
Klicken Sie auf den Tab Benutzerdefinierte Jobs. Der benutzerdefinierte Trainingsjob des datengesteuerten Optimizers wird zusammen mit seinem Status in der Liste angezeigt.
Wenn der Job abgeschlossen ist, können Sie die Optimierungen so prüfen:
Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets:
Klicken Sie den Name Ihres Cloud Storage-Buckets
Rufen Sie den Ordner auf, der den Namen des Optimierungsmodus hat, mit dem Sie die Prompts bewertet haben, also entweder
instructionoderdemonstration. Wenn Sie den Modusinstruction_and_demoverwendet haben, werden beide Ordner angezeigt. Der Ordnerinstructionenthält die Ergebnisse der Systemanweisungsoptimierung, während der Ordnerdemonstrationdie Ergebnisse derdemonstration-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 datengesteuerte 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.
Die optimierten Systemanweisungen finden Sie in der Datei
optimized_results.json.
Best Practices
Modelle in der Vorabversion werden nur über die Region
globalunterstützt und für benutzerdefinierte Vertex-Jobs wirdglobalnicht als Region unterstützt. Verwenden Sie VAPO daher nicht, um die Vorschaumodelle als Zielmodell zu optimieren.Bei GA-Modellen können Nutzer die regionsspezifischen Standorte wie
us-central1odereurope-central2anstelle vonglobalauswählen, um die Anforderungen an den Datenstandort zu erfüllen.
Nächste Schritte
- Testen Sie das SDK-Notebook für den Prompt-Optimierer der Gemini Enterprise Agent Platform.
- Verantwortungsbewusste Best Practices für KI und Sicherheitsfilter der Agent Platform
- Weitere Informationen zu Prompting-Strategien