Antworten für Gemini-Modelle fundieren

Auf dieser Seite werden zwei Möglichkeiten beschrieben, wie Sie die Antworten eines Modells mit Vertex AI fundieren können. Außerdem erfahren Sie, wie Sie die Fundierung mithilfe der Grounding API in Ihren Anwendungen nutzen können.

Mit Vertex AI können Sie Modellausgaben mithilfe der folgenden Datenquellen fundieren:

  • Google Suche: Antworten werden anhand öffentlich verfügbarer Webdaten fundiert.
  • Meine Daten: Antworten werden anhand Ihrer Daten aus Vertex AI Search fundiert (Vorabversion).

Fundierung mit der Google Suche

Verwenden Sie die Funktion „Mit der Google Suche fundieren“, wenn Sie das Modell mit dem Wissen der ganzen Welt, einer Vielzahl von Themen oder aktuellen Informationen im Internet verknüpfen möchten.

Die Funktion „Mit der Google Suche fundieren“ unterstützt die dynamische Abfrage, mit der Sie fundierte Antworten mit der Google Suche nur bei Bedarf generieren können. Daher wird in der Konfiguration für die dynamische Abfrage geprüft, ob für einen Prompt Wissen über aktuelle Ereignisse erforderlich ist, und die Kontextualisierung mit der Google Suche aktiviert. Weitere Informationen finden Sie unter Dynamische Abfrage.

Weitere Informationen zur Fundierung in Vertex AI finden Sie im Fundierungs-Überblick.

Unterstützte Modelle

Die folgenden Modelle unterstützen Grounding:

  • Gemini 1.5 Pro nur mit Texteingabe
  • Gemini 1.5 Flash nur mit Texteingabe
  • Gemini 1.0 Pro nur mit Texteingabe

Unterstützte Sprachen

  • Englisch (en)
  • Spanisch (es)
  • Japanisch (ja)

Folgen Sie der nachstehenden Anleitung, um ein Modell mit öffentlich verfügbaren Webdaten zu fundieren.

Dynamische Abfrage

Mithilfe des dynamischen Abrufs in Ihrer Anfrage können Sie festlegen, wann die Funktion „Fundierung mit der Google Suche“ deaktiviert werden soll. Das ist nützlich, wenn für den Prompt keine Antwort erforderlich ist, die auf der Google Suche basiert, und die unterstützten Modelle eine Antwort auf der Grundlage ihres Wissens ohne Grundwahrheit liefern können. So lassen sich Latenz, Qualität und Kosten effektiver verwalten.

Bevor Sie die Konfiguration für den dynamischen Abruf in Ihrer Anfrage aufrufen, sollten Sie sich mit den folgenden Begriffen vertraut machen:

  • Vorhersagewert: Wenn Sie eine fundierte Antwort anfordern, weist Vertex AI dem Prompt einen Vorhersagewert zu. Der Vorhersagewert ist ein Gleitkommawert im Bereich [0,1]. Der Wert hängt davon ab, ob die Antwort mit den neuesten Informationen aus der Google Suche fundiert werden kann. Daher hat ein Prompt, für den eine Antwort auf der Grundlage der neuesten Fakten im Web erforderlich ist, eine höhere Vorhersagebewertung. Ein Prompt, für den eine vom Modell generierte Antwort ausreicht, hat eine niedrigere Vorhersagebewertung.

    Hier sind einige Beispiele für Prompts und ihre Vorhersagewerte.

    Prompt Vorhersagewert Kommentar
    „Schreib ein Gedicht über Pfingstrosen“ 0,13 Das Modell kann auf sein Wissen zurückgreifen und die Antwort muss nicht fundiert werden.
    „Empfehle mir ein Spielzeug für ein zweijähriges Kind“ 0,36 Das Modell kann auf sein Wissen zurückgreifen und die Antwort muss nicht fundiert werden.
    „Kannst du mir ein Rezept für eine asiatisch inspirierte Guacamole nennen?“ 0,55 Die Google Suche kann eine fundierte Antwort geben, aber eine Begründung ist nicht unbedingt erforderlich. Das Modellwissen reicht möglicherweise aus.
    „Was ist Agent Builder? Wie wird die Fundierung in Agent Builder abgerechnet?“ 0,72 Erfordert die Google Suche, um eine fundierte Antwort zu generieren
    „Wer hat den letzten Formel-1-Grand-Prix gewonnen?“ 0,97 Erfordert die Google Suche, um eine fundierte Antwort zu generieren
  • Schwellenwert: In Ihrer Anfrage können Sie eine Konfiguration für den dynamischen Abruf mit einem Grenzwert angeben. Der Schwellenwert ist ein Gleitkommawert im Bereich [0,1] und hat den Standardwert 0,7. Wenn der Schwellenwert null ist, wird die Antwort immer mit der Google Suche fundiert. Für alle anderen Schwellenwerte gilt Folgendes:

    • Wenn der Vorhersagewert den Schwellenwert erreicht oder überschreitet, wird die Antwort auf der Google Suche gestützt. Ein niedrigerer Schwellenwert bedeutet, dass für mehr Prompts Antworten mithilfe der Google Suche generiert werden.
    • Wenn der Vorhersagewert unter dem Schwellenwert liegt, generiert das Modell möglicherweise trotzdem eine Antwort, die aber nicht auf der Google Suche basiert.

Um einen geeigneten Schwellenwert für Ihre Geschäftsanforderungen zu finden, können Sie eine repräsentative Reihe von Suchanfragen erstellen, die Sie voraussichtlich erhalten werden. Anschließend können Sie die Abfragen nach dem Vorhersagewert in der Antwort sortieren und einen geeigneten Schwellenwert für Ihren Anwendungsfall auswählen.

Hinweise

  • Wenn Sie die Funktion „Fundierung mit der Google Suche“ verwenden möchten, müssen Sie die Google-Suchvorschläge aktivieren. Weitere Informationen finden Sie unter Google-Suchvorschläge.

  • Die besten Ergebnisse erzielen Sie mit einer Temperatur von 0.0. Weitere Informationen zum Festlegen dieser Konfiguration finden Sie unter Gemini API-Anfragetext in der Modellreferenz.

  • Die Fundierung mit der Google Suche ist auf eine Million Abfragen pro Tag beschränkt. Falls Sie mehr benötigen, wenden Sie sich an Ihr Supportteam.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
  • PROJECT_ID: Ihre Projekt-ID.
  • MODEL_ID: Die Modell-ID des multimodalen Modells.
  • TEXT: Die Textanleitung, die in den Prompt eingefügt werden soll.
  • DYNAMIC_THRESHOLD: Optionales Feld zum Festlegen des Schwellenwert, bei dem die Konfiguration für die dynamische Abfrage aufgerufen wird. Es ist ein Gleitkommawert im Bereich [0,1]. Wenn Sie das Feld dynamicThreshold nicht festlegen, wird der Schwellenwert standardmäßig auf 0,7 festgelegt.

HTTP-Methode und URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent

JSON-Text anfordern:

{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "TEXT"
    }]
  }],
  "tools": [{
    "googleSearchRetrieval": {
      "dynamicRetrievalConfig": {
        "mode": "MODE_DYNAMIC",
        "dynamicThreshold": DYNAMIC_THRESHOLD
      }
    }
  }],
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
   "candidates": [
     {
       "content": {
         "role": "model",
         "parts": [
           {
             "text": "Chicago weather changes rapidly, so layers let you adjust easily. Consider a base layer, a warm mid-layer (sweater-fleece), and a weatherproof outer layer."
           }
         ]
       },
       "finishReason": "STOP",
       "safetyRatings":[
       "..."
    ],
       "groundingMetadata": {
         "webSearchQueries": [
           "What's the weather in Chicago this weekend?"
         ],
         "searchEntryPoint": {
            "renderedContent": "....................."
         }
         "groundingSupports": [
            {
              "segment": {
                "startIndex": 0,
                "endIndex": 65,
                "text": "Chicago weather changes rapidly, so layers let you adjust easily."
              },
              "groundingChunkIndices": [
                0
              ],
              "confidenceScores": [
                0.99
              ]
            },
          ]
          "retrievalMetadata": {
              "webDynamicRetrievalScore": 0.96879
            }
       }
     }
   ],
   "usageMetadata": { "..."
   }
 }

Console

So verwenden Sie die Fundierung mit der Google Suche mit Vertex AI Studio:

  1. Rufen Sie in der Google Cloud Console die Seite „Vertex AI Studio“ auf.

    Zu Vertex AI Studio

  2. Klicken Sie auf den Tab Freeform.
  3. Klicken Sie in der Seitenleiste auf die Ein/Aus-Schaltfläche Antworten des Bodenmodells.
  4. Klicken Sie auf Anpassen und legen Sie die Google Suche als Quelle fest.
  5. Geben Sie Ihren Prompt in das Textfeld ein und klicken Sie auf Senden.

Ihre Prompt-Antworten werden jetzt in der Google Suche fundiert.

Python

Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.

import vertexai

from vertexai.generative_models import (
    GenerationConfig,
    GenerativeModel,
    Tool,
    grounding,
)

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"
vertexai.init(project=PROJECT_ID, location="us-central1")

model = GenerativeModel("gemini-1.5-flash-001")

# Use Google Search for grounding
tool = Tool.from_google_search_retrieval(grounding.GoogleSearchRetrieval())

prompt = "When is the next total solar eclipse in US?"
response = model.generate_content(
    prompt,
    tools=[tool],
    generation_config=GenerationConfig(
        temperature=0.0,
    ),
)

print(response.text)
# Example response:
# The next total solar eclipse visible from the contiguous United States will be on **August 23, 2044**.

Ihre Antwort verstehen

Wenn Ihr Modell-Prompt von Vertex AI Studio oder der API erfolgreich bei der Google Suche fundiert wird, enthalten die Antworten Metadaten mit Quelllinks (Web-URLs). Es gibt jedoch mehrere Gründe, warum diese Metadaten möglicherweise nicht bereitgestellt werden und die Prompt-Antwort nicht fundiert wird. Zu diesen Gründen gehören eine geringe Quellrelevanz oder unvollständige Informationen in der Antwort des Modells.

Zitationen

Die Anzeige von Zitaten wird dringend empfohlen. Sie helfen den Nutzern, die Antworten der Publisher selbst zu validieren, und bieten Möglichkeiten zum weiteren Lernen.

Zitate für Antworten aus Quellen der Google Suche sollten sowohl inline als auch aggregiert angezeigt werden. In der folgenden Abbildung sehen Sie einen Vorschlag dafür.

Beispiele für Zitate

Verwendung alternativer Suchmaschinenoptionen

Die Verwendung der Fundierung mit der Google Suche durch den Kunden verhindert nicht, dass der Kunde alternative Suchmaschinenoptionen anbietet, alternative Suchoptionen zur Standardoption von Kundenanwendungen macht oder seine eigenen Suchvorschläge oder Suchergebnisse oder die von Dritten in Kundenanwendungen anzeigt, vorausgesetzt, dass solche Nicht-Google-Suchdienste oder zugehörige Ergebnisse getrennt von den fundierten Ergebnissen und Suchvorschlägen angezeigt werden und in hinreichender Weise nicht den Ergebnissen von Google zugeordnet oder mit diesen verwechselt werden können.

Gemini auf Basis Ihrer Daten fundieren

In diesem Abschnitt wird gezeigt, wie Sie mithilfe der Vertex AI API Textantworten auf einem Vertex AI Agent Builder-Datenspeicher fundieren.

Unterstützte Modelle

Die folgenden Modelle unterstützen Grounding:

  • Gemini 1.5 Pro nur mit Texteingabe
  • Gemini 1.5 Flash nur mit Texteingabe
  • Gemini 1.0 Pro nur mit Texteingabe

Voraussetzungen

Es sind bestimmte Voraussetzungen erforderlich, bevor Sie die Modellausgabe auf Ihren Daten fundieren können.

  1. Aktivieren Sie Vertex AI Agent Builder und die API.
  2. Erstellen Sie Datenquelle und Anwendung für Vertex AI Agent Builder.
  3. Verknüpfen Sie Ihren Datenspeicher mit Ihrer Anwendung im Vertex AI Agent Builder. Die Datenquelle dient als Grundlage für das Grounding von Gemini 1.0 Pro in Vertex AI.
  4. Aktivieren Sie die Enterprise-Version für Ihren Datenspeicher.

Weitere Informationen finden Sie unter Einführung in Vertex AI Search.

Vertex AI Agent Builder aktivieren

  1. Rufen Sie in der Google Cloud Console die Seite Agent Builder auf.

    Zum Agent Builder

  2. Lesen und akzeptieren Sie die Nutzungsbedingungen und klicken Sie anschließend auf Fortfahren und API aktivieren.

Vertex AI Agent Builder ist am Standort global oder am multiregionalen Standort eu und us verfügbar. Weitere Informationen finden Sie unter Standorte von Vertex AI Agent Builder.

Datenspeicher in Vertex AI Agent Builder erstellen

Um Ihre Modelle auf Ihren Quelldaten zu fundieren, müssen Sie die Daten vorbereitet und in Vertex AI Search gespeichert haben. Dazu müssen Sie einen Datenspeicher in Vertex AI Agent Builder erstellen.

Wenn Sie bei null beginnen, müssen Sie Ihre Daten für die Aufnahme in den Vertex AI Agent Builder vorbereiten. Weitere Informationen finden Sie unter Daten für die Aufnahme vorbereiten. Je nach Größe der Daten kann die Datenaufnahme einige Minuten bis mehrere Stunden dauern. Nur unstrukturierte Datenspeicher werden für das Fundieren unterstützt.

Nachdem Sie Ihre Daten für die Aufnahme vorbereitet haben, können Sie einen Suchdatenspeicher erstellen. Nachdem Sie erfolgreich einen Datenspeicher erstellt haben, erstellen Sie eine Suchanwendung, um eine Verknüpfung dazu herzustellen, und aktivieren Sie die Enterprise-Version.

Beispiel: Gemini 1.5-Flash-Modell fundieren

Folgen Sie der nachstehenden Anleitung, um ein Modell mit Ihren eigenen Daten zu fundieren.

Wenn Sie die Datenspeicher-ID nicht kennen, gehen Sie so vor:

  1. Rufen Sie in der Google Cloud Console die Seite Vertex AI Agent Builder auf und klicken Sie im Navigationsmenü auf Datenspeicher.

    Zur Seite „Datenspeicher“

  2. Klicken Sie auf den Namen Ihres Datenspeichers.

  3. Rufen Sie auf der Datenseite Ihres Datenspeichers die Datenspeicher-ID ab.

REST

Senden Sie zum Testen eines Text-Prompts mit der Vertex AI API eine POST-Anfrage an den Endpunkt des Publisher-Modells.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
  • PROJECT_ID: Ihre Projekt-ID.
  • MODEL_ID: Die Modell-ID des multimodalen Modells.
  • TEXT: Die Textanleitung, die in den Prompt eingefügt werden soll.

HTTP-Methode und URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent

JSON-Text anfordern:

{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "TEXT"
    }]
  }],
  "tools": [{
    "retrieval": {
      "vertexAiSearch": {
        "datastore": projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID
      }
    }
  }],
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "You can make an appointment on the website https://dmv.gov/"
          }
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        "..."
      ],
      "groundingMetadata": {
        "retrievalQueries": [
          "How to make appointment to renew driving license?"
        ],
        "groundingChunks": [
          {
            "retrievedContext": {
              "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AXiHM.....QTN92V5ePQ==",
              "title": "dmv"
            }
          }
        ],
        "groundingSupport": [
          {
            "segment": {
              "startIndex": 25,
              "endIndex": 147
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1, 2],
            "confidenceScore": [0.9541752, 0.97726375]
          },
          {
            "segment": {
              "startIndex": 294,
              "endIndex": 439
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1],
            "confidenceScore": [0.9541752, 0.9325467]
          }
        ]
      }
    }
  ],
  "usageMetadata": {
    "..."
  }
}

Antwort, die auf der Google Suche basiert

Wenn ein fundiertes Ergebnis generiert wird, enthalten die Metadaten einen URI, der zum Verlag bzw. Webpublisher der Inhalte weiterleitet, die zum Generieren des fundierten Ergebnisses verwendet wurden. Die Metadaten enthalten auch die Domain des Publishers. Die angegebenen URIs sind 30 Tage lang nach der Generierung des gefundeten Ergebnisses zugänglich.

Python

Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.

import vertexai

from vertexai.preview.generative_models import (
    GenerationConfig,
    GenerativeModel,
    Tool,
    grounding,
)

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# data_store_id = "your-data-store-id"

vertexai.init(project=PROJECT_ID, location="us-central1")

model = GenerativeModel("gemini-1.5-flash-001")

tool = Tool.from_retrieval(
    grounding.Retrieval(
        grounding.VertexAISearch(
            datastore=data_store_id,
            project=PROJECT_ID,
            location="global",
        )
    )
)

prompt = "How do I make an appointment to renew my driver's license?"
response = model.generate_content(
    prompt,
    tools=[tool],
    generation_config=GenerationConfig(
        temperature=0.0,
    ),
)

print(response.text)

Console

Führen Sie die folgenden Schritte aus, um Ihre Modellausgabe im Vertex AI Agent Builder zu fundieren. Dazu nutzen Sie Vertex AI Studio in der Google Cloud Console:

  1. Rufen Sie in der Google Cloud Console die Seite „Vertex AI Studio“ auf.

    Zu Vertex AI Studio

  2. Klicken Sie auf den Tab Freeform.
  3. Klicken Sie in der Seitenleiste auf die Ein/Aus-Schaltfläche Antworten des Fundierungsmodells, um die Fundierung zu aktivieren.
  4. Klicken Sie auf Anpassen und legen Sie Vertex AI Agent Builder als Quelle fest. Der Pfad sollte dieses Format haben: projects/project_id/locations/global/collections/default_collection/dataStores/data_store_id.
  5. Geben Sie Ihren Prompt in das Textfeld ein und klicken Sie auf Senden.

Ihre Prompt-Antworten werden jetzt in Vertex AI Agent Builder fundiert.

Weitere Ressourcen zu generativer KI