Beispiele hochladen

Nachdem Sie eine Example Store-Instanz erstellt haben, können Sie Beispiele erstellen und hochladen. Die Anzahl der Beispiele, die Sie in einer Beispielspeicherinstanz speichern können, ist nicht begrenzt. Beispiele sind sofort verfügbar, nachdem Sie sie in die Example Store-Instanz hochgeladen haben.

Hier einige Szenarien, in denen Sie Beispiele hochladen müssen:

  • Die Anfragen sind für die vorhandenen Beispiele irrelevant.

  • Das Modell hat Schwierigkeiten mit einigen Begründungen.

  • Die verfügbaren Beispiele decken nicht alle Funktionen, Ergebnisse oder Begründungen ab, die Sie erwarten.

Wenn Sie relevante Beispiele im erwarteten Format erstellen, können Sie Folgendes erreichen:

  • Die Fähigkeit des LLM, auf die Beispiele zu achten und sie zu verwenden, wird verbessert. So werden unerwartete Änderungen an Antwortmustern vermieden, die durch kleine Änderungen am Prompt entstehen.

  • Reduzieren Sie die potenziellen negativen Auswirkungen des Hinzufügens von Beispielen für irrelevante Anfragen.

  • Das LLM reagiert wie erwartet auf ähnliche Anfragen.

Wenn das LLM unerwartetes Verhalten oder eine unerwartete Argumentation zeigt, können Sie eine korrigierte Antwort hochladen, um das Modell dazu zu bringen, bei nachfolgenden Anfragen dem erwarteten Muster oder der erwarteten Argumentation zu folgen.

Mit den Beispielen auf dieser Seite können Sie Beispiele auf Grundlage der LLM-Ausgabe erstellen. Das Erstellen von Beispielen auf Grundlage der Ausgabe eines LLM hat gegenüber dem manuellen Erstellen von Beispielen die folgenden Vorteile:

  • Das Erstellen von Beispielen basierend auf der erwarteten LLM-Ausgabe erfordert weniger manuellen Aufwand.

  • Wenn Sie Beispiele auf Grundlage von unerwartetem LLM-Verhalten erstellen, können Sie Fehlerfälle direkt korrigieren.

  • Sie können Beispiele auf Grundlage von Antworten leistungsstarker Modelle erstellen, um das Verhalten anderer Modelle zu verbessern. Wenn Gemini 1.5 Pro beispielsweise bessere Antworten als Gemini 1.5 Flash liefert, aber mit höherer Latenz, 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

Mit Few-Shot-Beispielen können Sie die Leistung von Funktionsaufrufen verbessern, indem Sie Folgendes demonstrieren: * Wann eine bestimmte Funktion aufgerufen wird.

  • So extrahieren Sie die Argumente, die Sie in Ihrem Funktionsaufruf verwenden möchten.

  • Wie das Modell auf die von der Funktion zurückgegebene Antwort oder auf mehrere Funktionen im Fall von mehrstufigen Schlussfolgerungen reagiert.

Weitere Informationen zum Funktionsaufruf finden Sie in der Dokumentation zum Funktionsaufruf.

Vorbereitung

Bevor Sie die Python-Beispiele auf dieser Seite verwenden, müssen Sie das Vertex AI SDK für Python für Example Store in Ihrer lokalen Python-Umgebung installieren und initialisieren.

  1. Führen Sie den folgenden Befehl aus, um das Vertex AI SDK für Python für Example Store 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. Nur us-central1 wird unterstützt.

Beispiele hochladen

Verwenden Sie die folgenden Beispiele, um Beispiele in eine Example Store-Instanz hochzuladen. Sie können pro Anfrage maximal fünf Beispiele 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 von einem LLM empfangen wurden. Bevor Sie die folgenden Beispiele verwenden, müssen Sie Folgendes tun:

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 das erwartete Format hat. 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 = Content(
    role="user",
    parts=[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:

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 die erwartete Argumentation nachvollziehen.

Verwenden Sie das folgende Beispiel, um ein Beispiel mit der korrigierten Antwort in die Example Store-Instanz hochzuladen.

user_content = Content(
    role="user",
    parts=[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:

REST

Senden Sie zum Hochladen eines Beispiels in eine Beispielshopinstanz eine POST-Anfrage mit der Methode exampleStores.upsertExamples.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: Die Region, in der Sie den Beispiel-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 ist, die für das Beispiel generiert wurde.

Nächste Schritte