Nachdem Sie eine Example Store-Instanz erstellt haben, können Sie Beispiele erstellen und hochladen. Die Anzahl der Beispiele, die Sie in einer Example Store-Instanz speichern können, ist nicht begrenzt. Beispiele sind sofort verfügbar, nachdem Sie sie in die Example Store-Instanz hochgeladen haben.
Einige Szenarien, in denen Sie Beispiele hochladen müssen:
Die Abfragen sind für die vorhandenen Beispiele irrelevant.
Das Modell hat Schwierigkeiten mit einigen Schlussfolgerungen.
Die verfügbaren Beispiele decken nicht alle Funktionen, Ergebnisse oder Schlussfolgerungen ab, die Sie erwarten.
Wenn Sie relevante Beispiele im erwarteten Format erstellen, können Sie Folgendes erreichen:
Die Fähigkeit des LLM verbessern, auf die Beispiele zu achten und sie zu verwenden, um unerwartete Änderungen an Antwortmustern zu vermeiden, die durch kleine Änderungen am Prompt entstehen.
Die potenziellen negativen Auswirkungen des Hinzufügens von Beispielen für irrelevante Abfragen reduzieren.
Das LLM verhält sich wie erwartet bei ähnlichen Abfragen.
Wenn das LLM unerwartetes Verhalten oder Schlussfolgerungen zeigt, können Sie eine korrigierte Antwort hochladen, um das Modell dazu zu bringen, bei nachfolgenden Anfragen dem erwarteten Muster oder der erwarteten Schlussfolgerung zu folgen.
Mit den Beispielen auf dieser Seite können Sie Beispiele basierend auf der LLM-Ausgabe erstellen. Das Erstellen von Beispielen basierend auf der Ausgabe eines LLM hat gegenüber dem manuellen Erstellen von Beispielen folgende Vorteile:
Das Erstellen von Beispielen basierend auf der erwarteten LLM-Ausgabe erfordert weniger manuellen Aufwand.
Wenn Sie Beispiele basierend auf unerwartetem LLM-Verhalten erstellen, können Sie Fehlerfälle direkt korrigieren.
Sie können Beispiele basierend auf Antworten von Modellen mit guter Leistung erstellen, um das Verhalten anderer Modelle zu verbessern. Wenn Gemini 1.5 Pro beispielsweise bessere Antworten als Gemini 1.5 Flash liefert, aber eine höhere Latenz aufweist, können Sie Beispiele mit diesen Antworten erstellen, um mit Gemini 1.5 Flash eine ähnliche Leistung bei niedrigeren Latenzen zu erzielen.
Beispiele verwenden, um die Leistung von Funktionsaufrufen zu verbessern
Sie können Beispiele für Schnellerstellungen verwenden, um die Leistung von Funktionsaufrufen zu verbessern, indem Sie Folgendes demonstrieren: * Wann eine bestimmte Funktion aufgerufen wird.
Wie Sie die Argumente extrahieren, die Sie in Ihrem Funktionsaufruf verwenden möchten.
Wie das Modell basierend auf der von der Funktion zurückgegebenen Antwort oder mehreren Funktionen im Fall von mehrstufiger Problemlösung reagiert.
Weitere Informationen zu Funktionsaufrufen finden Sie in der Dokumentation zu Funktionsaufrufen.
Vorbereitung
Bevor Sie die Python-Beispiele auf dieser Seite verwenden, müssen Sie das Agent Platform SDK für Example Store in Ihrer lokalen Python-Umgebung installieren und initialisieren.
Führen Sie den folgenden Befehl aus, um das Agent Platform SDK für Example Store zu installieren.
pip install --upgrade google-cloud-aiplatform>=1.87.0Verwenden Sie das folgende Codebeispiel, um das SDK für Example Store zu importieren und zu initialisieren.
import vertexai from vertexai.preview import example_stores vertexai.init( project="PROJECT_ID", location="LOCATION" )Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.
LOCATION: Ihre Region. Es wird nur
us-central1unterstützt.
Beispiele hochladen
Verwenden Sie die folgenden Samples, um Beispiele in eine Example Store-Instanz hochzuladen. Sie können maximal fünf Beispiele pro Anfrage hochladen.
Python
Mit den folgenden Beispielen können Sie das LLM-Verhalten und die Leistung von Funktionsaufrufen verbessern, indem Sie Beispiele erstellen und in eine Example Store-Instanz hochladen. Dabei werden Antworten verwendet, die Sie von einem LLM erhalten haben. Bevor Sie die folgenden Beispiele verwenden, müssen Sie Folgendes tun:Folgen Sie der Python-Einrichtung unter Clientbibliotheken installieren und Authentifizierung mit Standardanmeldedaten für Anwendungen einrichten.
Weitere Informationen finden Sie in der Referenzdokumentation zur Agent Platform Python API.
Beispiel basierend auf einer erwarteten Antwort hochladen
Verwenden Sie das folgende Beispiel, um ein Beispiel in einem Szenario zu erstellen und hochzuladen, in dem die Antwort des LLM im erwarteten Format vorliegt. Mit diesem Beispiel können Sie eine Anfrage senden, ein Beispiel basierend auf der Antwort erstellen und das Beispiel dann in eine Example Store-Instanz hochladen.
from vertexai.preview.example_stores import ContentsExample, StoredContentsExample
client = genai.Client(
http_options=genai_types.HttpOptions(api_version="v1"),
vertexai=True,
project="PROJECT_ID",
location="LOCATION")
user_content = genai_types.Content(
role="user",
parts=[genai_types.Part(text="EXAMPLE_QUERY")],
)
response = client.models.generate_content(
model="MODEL_NAME",
user_content,
config=genai_types.GenerateContentConfig(
tools=[FUNCTION_OR_FUNCTION_DECLARATION]
)
)
# Upload example.
example = {
"contents_example": {
"contents": [user_content.to_json_dict()],
"expected_contents": [
{"content": response.candidates[0].content.to_json_dict()},
{"content": EXPECTED_FUNCTION_RESPONSE.to_json_dict()},
{"content": EXPECTED_FINAL_MODEL_RESPONSE.to_json_dict()},
],
},
"search_key": user_content.parts[0].text,
}
example_store.upsert_examples(examples=[example])
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.
LOCATION: Ihre Region. Es wird nur
us-central1unterstützt.EXAMPLE_QUERY: Die Nutzeranfrage oder -abfrage an das LLM oder den Agent.
MODEL_NAME: Der Modellname. Beispiel:
gemini-2.0-flash.FUNCTION_OR_FUNCTION_DECLARATION: Die Funktion oder Funktions deklaration, die in der Anfrage verwendet werden soll. In der GenAI SDK-Dokumentation zu Funktionsaufrufen finden Sie Hilfe beim Definieren einer Funktion als Tool.
EXPECTED_FUNCTION_RESPONSE: Die erwartete Funktionsantwort (ein
FunctionResponseObjekt) für den erwarteten Funktionsaufruf. In der GenAI SDK-Dokumentation zu Funktionsaufrufen finden Sie Hilfe beim Definieren einer Funktionsantwort.EXPECTED_FINAL_MODEL_RESPONSE: Die erwartete endgültige Modellantwort (ein
ContentObjekt) für den erwarteten Funktionsaufruf und die erwartete Funktionsantwort.
Beispiel hochladen, um eine unerwartete Antwort zu korrigieren
Wenn das LLM die Antwort nicht wie erwartet generiert, können Sie ein Beispiel basierend auf der korrigierten Antwort erstellen. So kann das LLM bei nachfolgenden Anfragen der erwarteten Schlussfolgerung folgen.
Verwenden Sie das folgende Beispiel, um ein Beispiel mit der korrigierten Antwort in die Example Store-Instanz hochzuladen.
user_content = genai_types.Content(
role="user",
parts=[genai_types.Part(text="EXAMPLE_QUERY")],
)
example = {
"contents_example": {
"contents": [user_content.to_json_dict()],
"expected_contents": [
{"content": EXPECTED_FUNCTION_CALL.to_json_dict()},
{"content": EXPECTED_FUNCTION_RESPONSE.to_json_dict()},
{"content": EXPECTED_FINAL_MODEL_RESPONSE.to_json_dict()},
],
},
"search_key": user_content.parts[0].text,
}
example_store.upsert_examples(examples=[example])
Ersetzen Sie Folgendes:
EXAMPLE_QUERY: Die Nutzeranfrage oder -abfrage an das LLM oder den Agent.
EXPECTED_FUNCTION_CALL: Der erwartete Funktionsaufruf (ein
FunctionCallObjekt) für die angegebene Nutzerabfrage. In der GenAI SDK-Dokumentation zu Funktionsaufrufen finden Sie Hilfe beim Definieren eines Funktionsaufrufs.EXPECTED_FUNCTION_RESPONSE: Die erwartete Funktionsantwort (ein
FunctionResponseObjekt) für den erwarteten Funktionsaufruf. In der GenAI SDK-Dokumentation zu Funktionsaufrufen finden Sie Hilfe beim Definieren einer Funktionsantwort.EXPECTED_FINAL_MODEL_RESPONSE: Die erwartete endgültige Modellantwort (ein
ContentObjekt) für den erwarteten Funktionsaufruf und die erwartete Funktionsantwort.
REST
Wenn Sie ein Beispiel in eine Example Store-Instanz hochladen möchten, senden Sie eine POST Anfrage mit der
exampleStores.upsertExamples
Methode.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der Sie den Example
Store erstellen möchten. Die einzige unterstützte Region ist
us-central1. - EXAMPLE_STORE_ID: Die ID der Example Store -Instanz, in die Sie das Beispiel hochladen möchten.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/exampleStores/EXAMPLE_STORE_ID:upsertExamples
JSON-Text der Anfrage:
{
"examples": [
{
"stored_contents_example": {
"contents_example": {
"contents": [
{
"role": "user",
"parts": [
{
"text": "Is there a store in Mountain View, CA that I can visit to try the new Pixel 8 Pro?"
}
]
}
],
"expected_contents": [
{
"content": {
"role": "model",
"parts": [
{
"text": ""Yes, there is a store located at 2000 N Shoreline Blvd, Mountain View, CA 94043, US."
}
]
}
}
]
},
"search_key_generation_method": {
"last_entry": {}
}
}
}
]
}
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/exampleStores/EXAMPLE_STORE_ID:upsertExamples"
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/exampleStores/EXAMPLE_STORE_ID:upsertExamples" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich der folgenden erhalten, wobei EXAMPLE_ID die numerische ID darstellt, die für das Beispiel generiert wurde.
Nächste Schritte
- Informationen zum Abrufen von Beispielen