Automatische Vervollständigung konfigurieren

Auf dieser Seite wird die grundlegende Funktion zur automatischen Vervollständigung von Vertex AI Search beschrieben. Die automatische Vervollständigung generiert Abfragevorschläge basierend auf den ersten Zeichen, die für die Abfrage eingegeben wurden.

Die von der automatischen Vervollständigung generierten Vorschläge variieren je nach Datentyp, der in der Such-App verwendet wird:

  • Strukturierte und unstrukturierte Daten Standardmäßig werden Vorschläge basierend auf dem Inhalt der Dokumente im Datenspeicher generiert. Nach dem Dokumentimport werden standardmäßig erst dann Vorschläge für die automatische Vervollständigung angezeigt, wenn genügend Daten vorhanden sind, was in der Regel einige Tage dauert. Wenn Sie über die API automatisch vervollständigte Anfragen stellen, können Vorschläge basierend auf dem Suchverlauf oder Nutzerereignissen generiert werden.

  • Websitedaten: Standardmäßig werden bei der automatischen Vervollständigung Vorschläge aus dem Suchverlauf generiert. Für die automatische Vervollständigung sind echte Suchanfragen erforderlich. Nach Beginn der Suchanfragen dauert es ein bis zwei Tage, bis Vorschläge für die automatische Vervollständigung generiert werden. Vorschläge können mit dem experimentellen erweiterten Dokumentdatenmodell aus im Web gecrawlten Daten von öffentlichen Websites generiert werden.

  • Gesundheitsdaten: Standardmäßig wird eine kanonische medizinische Datenquelle verwendet, um Vorschläge zur automatischen Vervollständigung für Gesundheitsdatenspeicher zu generieren. Die automatische Vervollständigung ist für die Suche im Gesundheitswesen eine Vorschaufunktion.

Das Datenmodell für die automatische Vervollständigung bestimmt, welche Art von Daten für die Generierung von Vorschlägen verwendet wird. Es gibt vier Modelle für die automatische Vervollständigung:

  • Document. Das Dokumentmodell generiert Vorschläge aus vom Nutzer importierten Dokumenten. Dieses Modell ist nicht für Websitedaten oder Gesundheitsdaten verfügbar.

  • Vervollständigbare Felder Das Modell für ausfüllbare Felder schlägt Text vor, der direkt aus strukturierten Datenfeldern übernommen wird. Nur Felder, die mit completable gekennzeichnet sind, werden für Vorschläge zur automatischen Vervollständigung verwendet. Dieses Modell ist nur für strukturierte Daten verfügbar.

  • Suchverlauf Das Suchverlaufsmodell generiert Vorschläge aus dem Verlauf der SearchService.search API-Aufrufe. Verwenden Sie dieses Modell nicht, wenn für die Methode servingConfigs.search keine Zugriffe verfügbar sind. Dieses Modell ist für Gesundheitsdaten nicht verfügbar.

  • Nutzerereignis Das Nutzerereignismodell generiert Vorschläge aus von Nutzern importierten Suchereignissen. Dieses Modell ist für Gesundheitsdaten nicht verfügbar.

Autocomplete-Anfragen werden mit der Methode dataStores.completeQuery gesendet.

In der folgenden Tabelle sind die Modelltypen für die automatische Vervollständigung aufgeführt, die für jeden Datentyp verfügbar sind.


Datenmodell für die automatische Vervollständigung

Datenquelle

Websitedaten

Strukturierte Daten

Unstrukturierte Daten
Dokument Vom Nutzer importiert ✔* (Standard) ✔ (Standard)
Vervollständigbare Felder Vom Nutzer importiert
Suchverlauf Automatisch erfasst ✔ (Standard)
Nutzerereignisse Vom Nutzer importiert oder automatisch vom Widget erfasst
Im Web gecrawlte Inhalte Aus von Nutzern angegebenen Inhalten öffentlicher Websites gecrawlt

* : Das Dokumentenschema muss title- oder description-Felder enthalten oder es müssen Felder vorhanden sein, die als title- oder description-Schlüsseleigenschaften angegeben wurden. Weitere Informationen finden Sie unter Schema für strukturierte Daten aktualisieren.

: Im Web gecrawlte Inhalte können nur als Datenquelle verwendet werden, wenn das experimentelle erweiterte Dokumentdatenmodell für die automatische Vervollständigung aktiviert ist. Weitere Informationen finden Sie unter Erweitertes Dokumentdatenmodell.

Wenn Sie das Standardmodell für Ihren Datentyp nicht verwenden möchten, können Sie beim Senden Ihrer Anfrage für die automatische Vervollständigung ein anderes Modell angeben. Anfragen für die automatische Vervollständigung werden mit der Methode dataStores.completeQuery gesendet. Weitere Informationen finden Sie unter API-Anleitung: Vollständiges Autocomplete-Modell auswählen.

Funktionen für die automatische Vervollständigung

Vertex AI Search unterstützt die folgenden Funktionen zur automatischen Vervollständigung, um bei der Suche die hilfreichsten Vorschläge anzuzeigen:

Funktion Beschreibung Beispiel oder weitere Informationen
Tippfehler korrigieren Korrigieren Sie die Schreibweise von Wörtern, die Tippfehler enthalten. Milc → Milk.
Unsichere Begriffe entfernen
  • Unterstützt von Google SafeSearch.
  • Entfernen Sie unangemessene Suchanfragen.
  • Unterstützt in Englisch (en), Französisch (fr), Deutsch (de), Italienisch (it), Polnisch (pl), Portugiesisch (pt), Russisch (ru), Spanisch (es) und Ukrainisch (uk).
Anstößiger Text, z. B. pornografische, anzügliche, vulgäre oder gewaltverherrlichende Inhalte
Sperrliste
  • Entfernen Sie Begriffe, die auf der Sperrliste stehen.
Weitere Informationen finden Sie unter Sperrliste für automatische Vervollständigung verwenden.
Begriffe deduplizieren
  • Basierend auf KI-gestütztem semantischem Verständnis.
  • Bei nahezu identischen Begriffen wird jeder Begriff erkannt, aber nur der beliebteste wird vorgeschlagen.
Shoes for Women, Womens Shoes und Womans Shoes werden dedupliziert und nur die beliebteste wird vorgeschlagen.
Vorschläge für die Keyword-Option „Weitgehend passend“
  • Nicht verfügbar in den Mehrfachregionen USA und EU.
  • Optionale Einstellung.
  • Wenn es für die gesamte Suchanfrage keine automatischen Vervollständigungsvorschläge gibt, werden nur Vorschläge für das letzte Wort der Suchanfrage angezeigt.
  • Nicht verfügbar für die Suche im Gesundheitswesen.
Weitere Informationen finden Sie unter Vorschläge für die Abgleichsmethode „Stimmabgabeanteil“.

Vorschläge für die Keyword-Option „Weitgehend passend“

Vorschläge für die Option „Anschlussrecherche“ werden anhand einer genauen Präfixübereinstimmung mit dem letzten Wort in einem Suchstring erstellt.

Angenommen, die Suchanfrage „songs with he“ wird in einer Anfrage zur automatischen Vervollständigung gesendet. Wenn die Endabgleichsfunktion aktiviert ist, wird bei der automatischen Vervollständigung möglicherweise festgestellt, dass für das vollständige Präfix „songs with he“ keine Übereinstimmungen gefunden wurden. Das letzte Wort in der Suchanfrage, „er“, hat jedoch eine genaue Präfixübereinstimmung mit „hallo welt“ und „hallo kitty“. In diesem Fall werden die Vorschläge „Lieder mit Hallo Welt“ und „Lieder mit Hello Kitty“ zurückgegeben, da es keine Vorschläge mit exakter Übereinstimmung gibt.

Mit dieser Funktion können Sie die Anzahl der leeren Vorschläge reduzieren und die Vielfalt der Vorschläge erhöhen. Das ist besonders nützlich, wenn die Datenquellen (Anzahl der Nutzerereignisse, Suchverlauf und Abdeckung des Dokumentthemas) begrenzt sind. Wenn Sie Vorschläge für die Abgleichung mit Endstücken aktivieren, kann sich die Gesamtqualität der Vorschläge jedoch verringern. Da bei der Endabgleichung nur das letzte Wort des Präfixes abgeglichen wird, sind einige der zurückgegebenen Vorschläge möglicherweise nicht sinnvoll. Bei einer Suchanfrage wie „songs with he“ (Songs mit er) kann beispielsweise ein Vorschlag für ein Tail-Match wie „songs with helpers guides“ (Songs mit Hilfe- und Leitfäden) angezeigt werden.

Vorschläge für die Abgleichung nach dem letzten Zeichen werden nur zurückgegeben, wenn:

  1. include_tail_suggestions ist in der dataStores.completeQuery-Anfrage auf true festgelegt.

  2. Für die Suchanfrage gibt es keine Vorschläge für eine vollständige Übereinstimmung mit dem Präfix.

Autocomplete für ein Widget aktivieren oder deaktivieren

So aktivieren oder deaktivieren Sie die automatische Vervollständigung für ein Widget:

Console

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

    Zum Agent Builder

  2. Klicken Sie auf den Namen der App, die Sie bearbeiten möchten.

  3. Klicken Sie auf Configurations (Konfigurationen).

  4. Klicken Sie auf den Tab UI.

  5. Aktivieren oder deaktivieren Sie die Option Automatisch vervollständigte Vorschläge anzeigen, um die Funktion für das Widget zu aktivieren oder zu deaktivieren. Wenn Sie die automatische Vervollständigung aktivieren, kann es ein bis zwei Tage dauern, bis Vorschläge angezeigt werden. Für die Suche im Gesundheitswesen ist die automatische Vervollständigung eine Vorabversion.

Einstellungen für die automatische Vervollständigung aktualisieren

So konfigurieren Sie die Einstellungen für die automatische Vervollständigung:

Console

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

    Zum Agent Builder

  2. Klicken Sie auf den Namen der App, die Sie bearbeiten möchten.

  3. Klicken Sie auf Configurations (Konfigurationen).

  4. Klicken Sie auf den Tab Automatische Vervollständigung.

  5. Geben Sie neue Werte für die Einstellungen für die automatische Vervollständigung ein oder wählen Sie sie aus:

    • Maximale Anzahl von Vorschlägen:Die maximale Anzahl von Vorschlägen für die automatische Vervollständigung, die für eine Suchanfrage angeboten werden können.
    • Mindestlänge zum Auslösen:Die Mindestanzahl an Zeichen, die eingegeben werden müssen, bevor automatisch vervollständigte Vorschläge angezeigt werden.
    • Abgleichreihenfolge: Die Stelle in einem Suchstring, ab der die Vorschläge für die automatische Vervollständigung abgeglichen werden können.
    • Autocomplete-Modell: Das Datenmodell für die automatische Vervollständigung, mit dem die abgerufenen Vorschläge generiert werden. Dies kann in dataStores.completeQuery mit dem Parameter queryModel überschrieben werden.
    • Autocomplete aktivieren: Standardmäßig werden erst dann Vorschläge angezeigt, wenn genügend Daten vorhanden sind, was in der Regel einige Tage dauert. Wenn Sie diese Standardeinstellung überschreiben und früher Vorschläge zur automatischen Vervollständigung erhalten möchten, wählen Sie Jetzt aus.

      Auch wenn Sie Jetzt auswählen, kann es einen Tag dauern, bis Vorschläge generiert werden. Solange nicht genügend gute Daten vorhanden sind, fehlen einige Vorschläge für die automatische Vervollständigung oder sie sind von schlechter Qualität.

  6. Klicken Sie auf Speichern und veröffentlichen. Bei Suchmaschinen, bei denen die automatische Vervollständigung bereits aktiviert ist, werden Änderungen innerhalb weniger Minuten wirksam.

Anmerkungen zu ausfüllbaren Feldern im Schema aktualisieren

So aktivieren Sie die automatische Vervollständigung für Felder im Schema für strukturierte Daten:

Console

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

    Zum Agent Builder

  2. Klicken Sie auf den Namen der App, die Sie bearbeiten möchten. Es müssen strukturierte Daten verwendet werden.

  3. Klicken Sie auf Daten.

  4. Klicken Sie auf den Tab Schema.

  5. Klicken Sie auf Bearbeiten, um die Schemafelder auszuwählen, die als completable gekennzeichnet werden sollen.

  6. Klicken Sie auf Speichern, um die aktualisierten Feldkonfigurationen zu speichern. Es dauert etwa einen Tag, bis diese Vorschläge generiert und zurückgegeben werden.

Autocomplete-Anfragen senden

In den folgenden Beispielen wird gezeigt, wie Sie Anfragen für die automatische Vervollständigung senden.

REST

So senden Sie eine autocomplete-Anfrage über die API:

  1. Suchen Sie die Datenspeicher-ID. Wenn Sie die Datenspeicher-ID bereits haben, fahren Sie mit dem nächsten Schritt fort.

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

      Zur Seite „Datenspeicher“

    2. Klicken Sie auf den Namen des Datenspeichers.

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

  2. Rufen Sie die Methode dataStores.completeQuery auf.

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID:completeQuery?query=QUERY_STRING"
    
    • PROJECT_ID: Die Projektnummer oder ID Ihres Google Cloud-Projekts.

    • DATA_STORE_ID: Die ID des Datenspeichers, der mit Ihrer App verknüpft ist.

    • QUERY_STRING: Die Eingabevorschau, mit der Vorschläge abgerufen werden.

Anfrage zur automatischen Vervollständigung an ein anderes Modell senden

So senden Sie eine Anfrage zur automatischen Vervollständigung mit einem anderen Datenmodell für die automatische Vervollständigung:

  1. Suchen Sie die Datenspeicher-ID. Wenn Sie die Datenspeicher-ID bereits haben, fahren Sie mit dem nächsten Schritt fort.

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

      Zur Seite „Datenspeicher“

    2. Klicken Sie auf den Namen des Datenspeichers.

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

  2. Rufen Sie die Methode dataStores.completeQuery auf.

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID:completeQuery?query=QUERY_STRING&query_model=AUTOCOMPLETE_MODEL"
    
    • PROJECT_ID: Die Projektnummer oder ID Ihres Google Cloud-Projekts.
    • DATA_STORE_ID: Die eindeutige ID des Datenspeichers, der mit Ihrer App verknüpft ist.
    • QUERY_STRING: Die Eingabevorschau, mit der Vorschläge abgerufen werden.
    • AUTOCOMPLETE_MODEL: Das Datenmodell für die automatische Vervollständigung, das für die Anfrage verwendet werden soll: document, document-completable, search-history oder user-event. Verwenden Sie healthcare-default für Gesundheitsdaten.

C#

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder C# API.

Richten Sie zur Authentifizierung bei Vertex AI Agent Builder Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

using Google.Cloud.DiscoveryEngine.V1;

public sealed partial class GeneratedCompletionServiceClientSnippets
{
    /// <summary>Snippet for CompleteQuery</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CompleteQueryRequestObject()
    {
        // Create client
        CompletionServiceClient completionServiceClient = CompletionServiceClient.Create();
        // Initialize request argument(s)
        CompleteQueryRequest request = new CompleteQueryRequest
        {
            DataStoreAsDataStoreName = DataStoreName.FromProjectLocationDataStore("[PROJECT]", "[LOCATION]", "[DATA_STORE]"),
            Query = "",
            QueryModel = "",
            UserPseudoId = "",
            IncludeTailSuggestions = false,
        };
        // Make the request
        CompleteQueryResponse response = completionServiceClient.CompleteQuery(request);
    }
}

Go

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Go API.

Richten Sie zur Authentifizierung bei Vertex AI Agent Builder Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


package main

import (
	"context"

	discoveryengine "cloud.google.com/go/discoveryengine/apiv1"
	discoveryenginepb "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := discoveryengine.NewCompletionClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &discoveryenginepb.CompleteQueryRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb#CompleteQueryRequest.
	}
	resp, err := c.CompleteQuery(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Java API.

Richten Sie zur Authentifizierung bei Vertex AI Agent Builder Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

import com.google.cloud.discoveryengine.v1.CompleteQueryRequest;
import com.google.cloud.discoveryengine.v1.CompleteQueryResponse;
import com.google.cloud.discoveryengine.v1.CompletionServiceClient;
import com.google.cloud.discoveryengine.v1.DataStoreName;

public class SyncCompleteQuery {

  public static void main(String[] args) throws Exception {
    syncCompleteQuery();
  }

  public static void syncCompleteQuery() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (CompletionServiceClient completionServiceClient = CompletionServiceClient.create()) {
      CompleteQueryRequest request =
          CompleteQueryRequest.newBuilder()
              .setDataStore(
                  DataStoreName.ofProjectLocationDataStoreName(
                          "[PROJECT]", "[LOCATION]", "[DATA_STORE]")
                      .toString())
              .setQuery("query107944136")
              .setQueryModel("queryModel-184930495")
              .setUserPseudoId("userPseudoId-1155274652")
              .setIncludeTailSuggestions(true)
              .build();
      CompleteQueryResponse response = completionServiceClient.completeQuery(request);
    }
  }
}

Node.js

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Node.js API.

Richten Sie zur Authentifizierung bei Vertex AI Agent Builder Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The parent data store resource name for which the completion is
 *  performed, such as
 *  `projects/* /locations/global/collections/default_collection/dataStores/default_data_store`.
 */
// const dataStore = 'abc123'
/**
 *  Required. The typeahead input used to fetch suggestions. Maximum length is
 *  128 characters.
 */
// const query = 'abc123'
/**
 *  Specifies the autocomplete data model. This overrides any model specified
 *  in the Configuration > Autocomplete section of the Cloud console. Currently
 *  supported values:
 *  * `document` - Using suggestions generated from user-imported documents.
 *  * `search-history` - Using suggestions generated from the past history of
 *  SearchService.Search google.cloud.discoveryengine.v1.SearchService.Search 
 *  API calls. Do not use it when there is no traffic for Search API.
 *  * `user-event` - Using suggestions generated from user-imported search
 *  events.
 *  * `document-completable` - Using suggestions taken directly from
 *  user-imported document fields marked as completable.
 *  Default values:
 *  * `document` is the default model for regular dataStores.
 *  * `search-history` is the default model for site search dataStores.
 */
// const queryModel = 'abc123'
/**
 *  A unique identifier for tracking visitors. For example, this could be
 *  implemented with an HTTP cookie, which should be able to uniquely identify
 *  a visitor on a single device. This unique identifier should not change if
 *  the visitor logs in or out of the website.
 *  This field should NOT have a fixed value such as `unknown_visitor`.
 *  This should be the same identifier as
 *  UserEvent.user_pseudo_id google.cloud.discoveryengine.v1.UserEvent.user_pseudo_id 
 *  and
 *  SearchRequest.user_pseudo_id google.cloud.discoveryengine.v1.SearchRequest.user_pseudo_id.
 *  The field must be a UTF-8 encoded string with a length limit of 128
 *  characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
 */
// const userPseudoId = 'abc123'
/**
 *  Indicates if tail suggestions should be returned if there are no
 *  suggestions that match the full query. Even if set to true, if there are
 *  suggestions that match the full query, those are returned and no
 *  tail suggestions are returned.
 */
// const includeTailSuggestions = true

// Imports the Discoveryengine library
const {CompletionServiceClient} = require('@google-cloud/discoveryengine').v1;

// Instantiates a client
const discoveryengineClient = new CompletionServiceClient();

async function callCompleteQuery() {
  // Construct request
  const request = {
    dataStore,
    query,
  };

  // Run request
  const response = await discoveryengineClient.completeQuery(request);
  console.log(response);
}

callCompleteQuery();

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Python API.

Richten Sie zur Authentifizierung bei Vertex AI Agent Builder Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import discoveryengine_v1


def sample_complete_query():
    # Create a client
    client = discoveryengine_v1.CompletionServiceClient()

    # Initialize request argument(s)
    request = discoveryengine_v1.CompleteQueryRequest(
        data_store="data_store_value",
        query="query_value",
    )

    # Make the request
    response = client.complete_query(request=request)

    # Handle the response
    print(response)

Ruby

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Ruby API.

Richten Sie zur Authentifizierung bei Vertex AI Agent Builder Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

require "google/cloud/discovery_engine/v1"

##
# Snippet for the complete_query call in the CompletionService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::DiscoveryEngine::V1::CompletionService::Client#complete_query.
#
def complete_query
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::DiscoveryEngine::V1::CompletionService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::DiscoveryEngine::V1::CompleteQueryRequest.new

  # Call the complete_query method.
  result = client.complete_query request

  # The returned object is of type Google::Cloud::DiscoveryEngine::V1::CompleteQueryResponse.
  p result
end

Sperrliste für die automatische Vervollständigung verwenden

Mithilfe einer Sperrliste können Sie verhindern, dass bestimmte Begriffe als automatisch vervollständigte Vorschläge angezeigt werden.

Nehmen wir beispielsweise ein Pharmaunternehmen. Wenn ein Medikament nicht mehr von der FDA zugelassen ist, aber in Dokumenten in ihrem Datenspeicher erwähnt wird, kann der Dateninhaber verhindern, dass dieses Medikament als vorgeschlagene Suchanfrage angezeigt wird. Das Unternehmen kann den Namen dieses Arzneimittels einer Sperrliste hinzufügen, um zu verhindern, dass es vorgeschlagen wird.

Die folgenden Begrenzungen gelten:

  • Eine Sperrliste pro Datenspeicher
  • Beim Hochladen einer Sperrliste wird eine eventuell vorhandene Sperrliste für diesen Datenspeicher überschrieben.
  • Bis zu 1.000 Begriffe pro Ablehnungsliste
  • Bei Begriffen wird die Groß- und Kleinschreibung nicht berücksichtigt.
  • Nach dem Importieren einer Sperrliste dauert es 1 bis 2 Tage, bis sie wirksam wird.

Jeder Eintrag in der Sperrliste besteht aus einem blockPhrase und einem matchOperator:

  • blockPhrase: Geben Sie einen String als Begriff für die Sperrliste ein. Bei Begriffen wird die Groß- und Kleinschreibung nicht berücksichtigt.
  • matchOperator: Kann folgende Werte haben:
    • EXACT_MATCH: Verhindert, dass eine genaue Übereinstimmung mit dem Begriff auf der Sperrliste als Suchanfrage vorgeschlagen wird.
    • CONTAINS: Verhindert, dass Vorschläge angezeigt werden, die den Begriff auf der Sperrliste enthalten.

Im folgenden Beispiel wird eine Sperrliste mit vier Einträgen gezeigt:

{
    "entries": [
        {"blockPhrase":"Oranges","matchOperator":"CONTAINS"},
        {"blockPhrase":"bAd apples","matchOperator":"EXACT_MATCH"},
        {"blockPhrase":"Cool as A Cucumber","matchOperator":"EXACT_MATCH"},
        {"blockPhrase":"cherry pick","matchOperator":"CONTAINS"}
    ]
}

Bevor Sie eine Sperrliste importieren, prüfen Sie, ob die erforderlichen Zugriffssteuerungen für den Zugriff auf die Discovery Engine-Bearbeitung festgelegt sind.

Sperrlisten können entweder aus lokalen JSON-Daten oder aus Cloud Storage importiert werden. Wenn Sie eine Sperrliste aus einem Datenspeicher entfernen möchten, entfernen Sie sie dauerhaft.

Eine Sperrliste aus lokalen JSON-Daten importieren

So importieren Sie eine Sperrliste aus einer lokalen JSON-Datei, die Ihre Sperrliste enthält:

  1. Erstellen Sie die Sperrliste in einer lokalen JSON-Datei im folgenden Format. Achten Sie darauf, dass sich jeder Eintrag in der Sperrliste in einer neuen Zeile ohne Zeilenumbrüche befindet.

    {
        "inlineSource": {
            "entries": [
                { "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" },
                { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" }
            ]
        }
    }
  2. Stellen Sie eine POST-Anfrage an die Methode suggestionDenyListEntries:import und geben Sie dabei den Namen Ihrer JSON-Datei an.

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        --data @DENYLIST_FILE \
      "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/dataStores/DATA_STORE_ID/suggestionDenyListEntries:import"
    
    • DENYLIST_FILE: Der lokale Pfad der JSON-Datei mit den Begriffen auf der Sperrliste.
    • PROJECT_ID: Die Projektnummer oder ID Ihres Google Cloud-Projekts.
    • DATA_STORE_ID: Die ID des Datenspeichers, der mit Ihrer App verknüpft ist.

Nach dem Importieren der Sperrliste dauert es 1–2 Tage, bis Vorschläge gefiltert werden.

Sperrliste aus Cloud Storage importieren

So importieren Sie eine Sperrliste aus einer JSON-Datei in Cloud Storage:

  1. Erstellen Sie die Sperrliste in einer JSON-Datei im folgenden Format und importieren Sie sie in einen Cloud Storage-Bucket. Achten Sie darauf, dass sich jeder Eintrag in der Sperrliste in einer neuen Zeile ohne Zeilenumbruch befindet.

    { "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" }
    { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" }
  2. Erstellen Sie eine lokale JSON-Datei mit dem gcsSource-Objekt. Verwenden Sie diesen Parameter, um auf den Speicherort der Sperrlistendatei in einem Cloud Storage-Bucket zu verweisen.

    {
        "gcsSource": {
            "inputUris": [ "DENYLIST_STORAGE_LOCATION" ]
        }
    }
    • DENYLIST_STORAGE_LOCATION: Der Speicherort Ihrer Sperrliste in Cloud Storage. Sie können nur einen URI eingeben. Der URI muss in diesem Format eingegeben werden: gs://BUCKET/FILE_PATH.
  3. Stellen Sie eine POST-Anfrage an die Methode suggestionDenyListEntries:import, einschließlich des gcsSource-Objekts.

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        --data @GCS_SOURCE_FILE \
       "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/dataStores/DATA_STORE_ID/suggestionDenyListEntries:import"
    
    • GCS_SOURCE_FILE: Der lokale Pfad der Datei, die das gcsSource-Objekt enthält, das auf Ihre Sperrliste verweist.
    • PROJECT_ID: Die Projektnummer oder ID Ihres Google Cloud-Projekts.
    • DATA_STORE_ID: Die ID des Datenspeichers, der mit Ihrer App verknüpft ist.

Nach dem Importieren der Sperrliste dauert es 1–2 Tage, bis Vorschläge gefiltert werden.

Sperrliste löschen

So entfernen Sie eine Sperrliste aus Ihrem Datenspeicher:

  1. Stellen Sie eine POST-Anfrage an die Methode suggestionDenyListEntries:purge.

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
       "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/dataStores/DATA_STORE_ID/suggestionDenyListEntries:purge"
    
    • PROJECT_ID: Die Projektnummer oder ID Ihres Google Cloud-Projekts.
    • DATA_STORE_ID: Die ID des Datenspeichers, der mit Ihrer App verknüpft ist.

Erweitertes Datenmodell für Dokumente

Vertex AI Agent Builder bietet ein erweitertes Datenmodell für die automatische Vervollständigung. Anhand der von Ihnen importierten Dokumente generiert dieses Datenmodell hochwertige Vorschläge für die automatische Vervollständigung, indem Large Language Models (LLMs) von Google verwendet werden.

Diese Funktion wird derzeit noch getestet. Wenn Sie diese Funktion nutzen möchten, wenden Sie sich an Ihr Google Cloud-Kontoteam und bitten Sie darum, auf die Zulassungsliste gesetzt zu werden.

Diese Funktion ist nicht für die Suche im Gesundheitswesen oder in den Mehrfachregionen USA und EU verfügbar.