Beispiele abrufen

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.

  1. 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
  2. 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"
    }
  }
)