Auf dieser Seite wird gezeigt, wie Sie Beispiele aus Ihrem Beispiel-Store abrufen. Sie haben folgende Möglichkeiten, Ihre Beispiele abzurufen:
FetchExamples
: Hiermit werden alle Beispiele abgerufen, die genau Ihren Filterkriterien entsprechen. Verwenden Sie diese Option, wenn Sie nur wenige Beispiele haben oder eine geringere Latenz benötigen.SearchExamples
: Hier werden Beispiele mithilfe der Ähnlichkeitssuche zwischen der Nutzerabfrage und den gespeicherten Beispielen abgerufen. Verwenden Sie diese Option, wenn Sie viele Beispiele haben.
Vorbereitung
Bevor Sie die Python-Beispiele auf dieser Seite verwenden, müssen Sie das Vertex AI SDK für Python in Ihrer lokalen Python-Umgebung installieren und initialisieren.
Führen Sie den folgenden Befehl aus, um das Vertex AI SDK for Python für den Beispiel-Shop zu installieren:
pip install --upgrade google-cloud-aiplatform>=1.87.0
Verwenden 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-central1
unterstützt.
Beispiele abrufen
Verwenden Sie die folgenden Beispiele, um Beispiele abzurufen. Mit FetchExamples
werden alle Beispiele abgerufen, die genau Ihren Filterkriterien entsprechen.
Vertex AI SDK für Python
Mit dem folgenden Code werden alle Beispiele in Ihrem Beispiel-Shop zurückgegeben, bis zu 100 pro Seite:
from vertexai.preview import example_stores
example_store = example_stores.ExampleStore(EXAMPLE_STORE_NAME)
# Returns the dictionary representation of FetchExamplesResponse.
examples = example_store.fetch_examples()
Mit function_names
können Sie einen oder mehrere Filter angeben, mit denen die zurückgegebenen Beispiele eingeschränkt werden. Im folgenden Beispiel werden nur Beispiele zurückgegeben, die die Funktionen flight_booking_tool
und hotel_booking_tool
enthalten:
# Returns examples that include either tool.
example_store.fetch_examples(
filter={
"function_names": {
"values": ["flight_booking_tool", "hotel_booking_tool"],
"array_operator": "CONTAINS_ANY"
}
}
)
# Returns examples that include *both* tools.
example_store.fetch_examples(
filter={
"function_names": {
"values": ["flight_booking_tool", "hotel_booking_tool"],
"array_operator": "CONTAINS_ALL"
}
}
)
Mit dem Filter search_keys
können Sie einschränken, welche Beispiele anhand des Suchschlüssels zurückgegeben werden.
# Returns examples that include any of the following search keys.
example_store.fetch_examples(
filter={"search_keys": ["How do I get to the airport?"]}
)
Mit dem Filter example_ids
können Sie einschränken, welche Beispiele anhand ihrer Beispiel-ID zurückgegeben werden. Beispiel-IDs haben das Format exampleTypes/stored_contents_example/examples/<var>EXAMPLE_ID</var>
, wobei EXAMPLE_ID die für das Beispiel generierte numerische ID ist.
# Returns examples that have any of the following Example IDs.
example_store.fetch_examples(
example_ids=["exampleTypes/stored_contents_example/examples/09b1d383f92c47e7a2583a44ebbc7854"]
)
REST API
Senden Sie eine POST-Anfrage mit der Methode exampleStores.fetchExamples
, um Beispiele abzurufen.
Der im JSON-Textkörper der Beispielanfrage angegebene Filter function_names
gibt nur Beispiele zurück, die die Funktionen flight_booking_tool
und hotel_booking_tool
enthalten:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der Sie den Beispielspeicher erstellen möchten. Die einzige unterstützte Region ist
us-central1
. - EXAMPLE_STORE_ID: Die ID der Beispiel-Shop-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:fetchExamples
JSON-Text der Anfrage:
{ "stored_contents_example_filter": { "function_names": { "values": ["flight_booking_tool", "hotel_booking_tool"], "array_operator": "CONTAINS_ANY" } } }
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:fetchExamples"
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:fetchExamples" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich der folgenden erhalten, wobei EXAMPLE_ID für die für das Beispiel generierte ID steht.
Suchbeispiele
Der Beispielspeicher ermittelt die relevantesten Beispiele basierend auf dem Ähnlichkeitswert zwischen stored_contents_example_key
und den Suchschlüsseln der gespeicherten Beispiele. Wenn Sie für die Unterhaltung relevante Beispiele verwenden, lernt das Modell das erwartete Verhalten.
Vertex AI SDK für Python
Mit dem folgenden Codebeispiel können Sie mit dem Vertex AI SDK für Python nach relevanten Beispielen suchen:
example_store.search_examples(
parameters={
"stored_contents_example_key": "what's the weather in nyc"
},
# Only fetch the most similar examaple. The default value is 3.
top_k=1
)
"""
Response -- dictionary representation of SearchExamplesResponse.
{'results': [{'example': {'exampleId': 'exampleTypes/stored_contents_example/examples/16834837b178453783e471b459d99195',
'storedContentsExample': {'searchKey': 'What is the weather like in Boston?',
'contentsExample': {'contents': [{'role': 'user',
'parts': [{'text': 'What is the weather like in Boston?'}]}],
'expectedContents': [{'content': {'parts': [{'functionCall': {'name': 'get_current_weather',
'args': {'location': 'New York, NY'}}}]}},
{'content': {'parts': [{'functionResponse': {'name': 'get_current_weather',
'response': {'humidity': 65.0,
'description': 'Partly Cloudy',
'icon': 'partly-cloudy',
'temperature': 38.0,
'location': 'Boston, MA',
'wind': {'speed': 10.0, 'direction': 'NW'}}}}]}},
{'content': {'role': 'model',
'parts': [{'text': 'The weather in Boston is 38 degrees and partly cloudy.'}]}}]}}},
'similarityScore': 0.73527116}]}
"""
Mit dem Filter function_names
können Sie einschränken, welche Beispiele in die Ähnlichkeitssuche einbezogen werden.
example_store.search_examples(
parameters={
"stored_contents_example_key": "What's the weather in nyc",
"function_names": {
"values": ["weather_tool", "hotel_booking_tool"],
"array_operator": "CONTAINS_ANY"
}
}
)