Configurare il completamento automatico

Questa pagina descrive la funzionalità di completamento automatico di base di Vertex AI Search. Il completamento automatico genera suggerimenti per le query in base ai primi caratteri inseriti per la query.

I suggerimenti generati dal completamento automatico variano a seconda del tipo di dati utilizzati dall'app di ricerca:

  • Dati strutturati e non strutturati. Per impostazione predefinita, il completamento automatico genera suggerimenti in base ai contenuti dei documenti nel data store. Dopo l'importazione dei documenti, per impostazione predefinita, il completamento automatico non inizia a generare suggerimenti finché non sono disponibili dati di qualità sufficiente, in genere un paio di giorni. Se invii richieste di completamento automatico tramite l'API, il completamento automatico può generare suggerimenti basati sulla cronologia delle ricerche o sugli eventi utente.

  • Dati dei siti web. Per impostazione predefinita, il completamento automatico genera suggerimenti dalla cronologia delle ricerche. Il completamento automatico richiede traffico di ricerca reale. Dopo che il traffico di ricerca è iniziato, il completamento automatico impiega uno o due giorni prima di generare suggerimenti. I suggerimenti possono essere generati dai dati sottoposti a scansione del web provenienti da siti pubblici con il modello di dati dei documenti avanzati sperimentale.

  • Dati sanitari. Per impostazione predefinita, viene utilizzata un'origine dati medica canonica per generare suggerimenti di completamento automatico per gli archivi dei dati sanitari. Per la ricerca sanitaria, il completamento automatico è una funzionalità in anteprima.

In alternativa, puoi utilizzare i suggerimenti importati che forniscono suggerimenti di completamento automatico basati su un elenco di suggerimenti importati anziché su quelli basati su un modello addestrato. Per saperne di più, consulta Utilizzare un elenco di suggerimenti di completamento automatico importato.

Il modello di suggerimenti per le query determina il tipo di dati utilizzati dal completamento automatico per generare suggerimenti. Esistono quattro modelli di suggerimenti di query:

  • Documenta. Il modello di documento genera suggerimenti dai documenti importati dall'utente. Questo modello non è disponibile per i dati dei siti web o per i dati sanitari.

  • Campi configurabili. Il modello di campi compilabili suggerisce il testo preso direttamente dai campi di dati strutturati. Solo i campi annotati con completable vengono utilizzati per i suggerimenti di completamento automatico. Questo modello è disponibile solo per i dati strutturati.

  • Cronologia delle ricerche. Il modello della cronologia delle ricerche genera suggerimenti dalla cronologia delle chiamate all'API SearchService.search. Non utilizzare questo modello se non è disponibile traffico per il metodo servingConfigs.search. Questo modello non è disponibile per i dati sanitari.

  • Evento utente. Il modello di eventi utente genera suggerimenti dagli eventi di ricerca importati dall'utente. Questo modello non è disponibile per i dati sanitari.

Le richieste di completamento automatico vengono inviate utilizzando il metodo dataStores.completeQuery.

La tabella seguente mostra i tipi di modelli di suggerimenti di query disponibili per ogni tipo di dato.


Modello di suggerimenti per query

Origine dati

Dati del sito web

Dati strutturati

Dati non strutturati
Documento Importato dall'utente ✔* (valore predefinito) ✔ (valore predefinito)
Campi configurabili Importato dall'utente
Cronologia delle ricerche Acquisita automaticamente ✔ (valore predefinito)
Eventi dell'utente Importati dall'utente o raccolti automaticamente da un widget
Contenuti sottoposti a scansione del web Acquisiti tramite crawler da contenuti di siti web pubblici specificati dall'utente

* : lo schema del documento deve contenere campi title o description oppure devono essere presenti campi specificati come proprietà chiave title o description. Consulta Aggiornare uno schema per i dati strutturati.

: i contenuti sottoposti a scansione del web possono essere utilizzati come origine dati solo se è attivato il modello di dati dei documenti avanzati sperimentale per il completamento automatico. Consulta Modello di dati dei documenti avanzati.

Se non vuoi utilizzare il modello predefinito per il tuo tipo di dati, puoi specificare un modello diverso quando invii la richiesta di completamento automatico. Le richieste di completamento automatico vengono inviate utilizzando il metodo dataStores.completeQuery. Per informazioni, consulta le istruzioni dell'API: invia una richiesta di completamento automatico per scegliere un modello diverso.

Funzionalità di completamento automatico

Vertex AI Search supporta le seguenti funzionalità di completamento automatico per mostrare le previsioni più utili durante la ricerca:

Funzionalità Descrizione Esempio o ulteriori informazioni
Correggere gli errori ortografici Correggere le parole con errori ortografici. MilcMilk.
Rimuovere i termini non sicuri
  • Basato su Google SafeSearch.
  • Rimuovi le query inappropriate.
  • Supportato in inglese (en), francese (fr), tedesco (de), italiano (it), polacco (pl), portoghese (pt), russo (ru), spagnolo (es) e ucraino (uk).
Testo offensivo, ad esempio pornografico, osceno, volgare, violento.
Lista bloccata
  • Rimuovi i termini elencati nella lista bloccata.
Per saperne di più, consulta Utilizzare una lista bloccata per il completamento automatico.
Termini deduplicati
  • Basato sulla comprensione semantica basata sull'IA.
  • Per i termini quasi identici, entrambi i termini corrispondono, ma viene suggerito solo quello più popolare.
Shoes for Women, Womens Shoes e Womans Shoes vengono deduplicati e viene suggerito solo quello più popolare.
Suggerimenti per la corrispondenza finale
  • Non disponibile nelle aree geografiche multiple USA e UE.
  • Impostazione facoltativa.
  • Se non sono presenti corrispondenze di completamento automatico per l'intera query, suggerisci corrispondenze solo per l'ultima parola della query.
  • Non disponibile per la ricerca di servizi sanitari.
Per ulteriori informazioni, consulta Suggerimenti di corrispondenza finale.

Suggerimenti per la corrispondenza finale

I suggerimenti di corrispondenza finale vengono generati utilizzando la corrispondenza esatta del prefisso con l'ultima parola di una stringa di query.

Ad esempio, supponiamo che la query "canzoni con he" venga inviata in una richiesta di completamento automatico. Quando la corrispondenza finale è attivata, il completamento automatico potrebbe rilevare che il prefisso completo "canzoni con he" non ha corrispondenze. Tuttavia, l'ultima parola della query, "lui", ha una corrispondenza esatta del prefisso con "ciao mondo" e "ciao gattino". In questo caso, i suggerimenti restituiti sono "canzoni con hello world" e "canzoni con hello kitty" perché non ci sono suggerimenti con corrispondenza completa.

Puoi utilizzare questa funzionalità per ridurre i risultati vuoti dei suggerimenti e aumentare la loro diversità, il che è particolarmente utile nei casi in cui le origini dati (conteggio degli eventi utente, cronologia della ricerca e copertura degli argomenti dei documenti) sono limitate. Tuttavia, l'attivazione dei suggerimenti di corrispondenza finale può ridurre la qualità complessiva dei suggerimenti. Poiché la corrispondenza finale corrisponde solo alla parola finale del prefisso, alcuni suggerimenti restituiti potrebbero non avere senso. Ad esempio, una query come "canzoni con he" potrebbe ricevere un suggerimento di corrispondenza finale come "canzoni con guide per gli aiutanti".

I suggerimenti di corrispondenza finale vengono restituiti solo se:

  1. include_tail_suggestions è impostato su true nella richiesta dataStores.completeQuery.

  2. Non ci sono suggerimenti per la corrispondenza completa del prefisso per la query.

Attivare o disattivare il completamento automatico per un widget

Per attivare o disattivare il completamento automatico per un widget:

Console

  1. Nella console Google Cloud, vai alla pagina Agent Builder.

    Agent Builder

  2. Fai clic sul nome dell'app da modificare.

  3. Fai clic su Configurations (Configurazione).

  4. Fai clic sulla scheda UI.

  5. Attiva o disattiva l'opzione Mostra suggerimenti di completamento automatico per attivare o disattivare i suggerimenti di completamento automatico per il widget. Quando attivi il completamento automatico, tieni presente che potrebbero essere necessari uno o due giorni prima che i suggerimenti vengano visualizzati. Per le ricerche nel campo della salute, il completamento automatico è una funzionalità in anteprima.

Aggiornare le impostazioni di completamento automatico

Per configurare le impostazioni di completamento automatico:

Console

  1. Nella console Google Cloud, vai alla pagina Agent Builder.

    Agent Builder

  2. Fai clic sul nome dell'app da modificare.

  3. Fai clic su Configurations (Configurazione).

  4. Fai clic sulla scheda Completamento automatico.

  5. Inserisci o seleziona nuovi valori per le impostazioni di completamento automatico che vuoi aggiornare:

    • Numero massimo di suggerimenti:il numero massimo di suggerimenti di completamento automatico che possono essere offerti per una query.
    • Lunghezza minima per l'attivazione:il numero minimo di caratteri che possono essere digitati prima che vengano offerti i suggerimenti di completamento automatico.
    • Ordine di corrispondenza: la posizione in una stringa di query da cui il completamento automatico può iniziare a trovare corrispondenze per i suoi suggerimenti.
    • Modello di suggerimenti di query: il modello di suggerimenti di query utilizzato per generare i suggerimenti recuperati. Questo valore può essere ignorato in dataStores.completeQuery utilizzando il parametro queryModel.
    • Attiva il completamento automatico: per impostazione predefinita, il completamento automatico non inizia a fornire suggerimenti finché non dispone di dati di qualità sufficiente, in genere un paio di giorni. Se vuoi ignorare questa impostazione predefinita e iniziare a ricevere alcuni suggerimenti di completamento automatico in anticipo, seleziona Ora.

      Anche se selezioni Ora, può essere necessario un giorno per generare i suggerimenti e alcuni suggerimenti di completamento automatico continueranno a mancare o a essere di scarsa qualità finché non saranno disponibili dati sufficienti di buona qualità.

  6. Fai clic su Salva e pubblica. Le modifiche vengono applicate entro pochi minuti per i motori in cui il completamento automatico è già attivo.

Aggiorna le annotazioni dei campi completabili nello schema

Per attivare il completamento automatico per i campi nello schema dei dati strutturati:

Console

  1. Nella console Google Cloud, vai alla pagina Agent Builder.

    Agent Builder

  2. Fai clic sul nome dell'app da modificare. Deve utilizzare i dati strutturati.

  3. Fai clic su Dati.

  4. Fai clic sulla scheda Schema.

  5. Fai clic su Modifica per selezionare i campi dello schema da contrassegnare come completable.

  6. Fai clic su Salva per salvare le configurazioni dei campi aggiornate. La generazione e la restituzione di questi suggerimenti richiede circa un giorno.

Inviare richieste di completamento automatico

Gli esempi riportati di seguito mostrano come inviare richieste di completamento automatico.

REST

Per inviare una richiesta di completamento automatico utilizzando l'API:

  1. Trova l'ID del tuo datastore. Se hai già l'ID del tuo data store, vai al passaggio successivo.

    1. Nella console Google Cloud, vai alla pagina Agent Builder e nel menu di navigazione fai clic su Data Store.

      Vai alla pagina Datastore

    2. Fai clic sul nome del tuo datastore.

    3. Nella pagina Dati del tuo datastore, ottieni l'ID datastore.

  2. Chiama il metodo dataStores.completeQuery.

    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"
    

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del progetto. Google Cloud

    • DATA_STORE_ID: l'ID dello spazio dati associato alla tua app.

    • QUERY_STRING: l'input di previsione utilizzato per recuperare i suggerimenti.

Inviare una richiesta di completamento automatico a un modello diverso

Per inviare una richiesta di completamento automatico con un modello di suggerimenti per le query diverso:

  1. Trova l'ID del tuo datastore. Se hai già l'ID del tuo data store, vai al passaggio successivo.

    1. Nella console Google Cloud, vai alla pagina Agent Builder e nel menu di navigazione fai clic su Data Store.

      Vai alla pagina Datastore

    2. Fai clic sul nome del tuo datastore.

    3. Nella pagina Dati del tuo datastore, ottieni l'ID datastore.

  2. Chiama il metodo dataStores.completeQuery.

    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=QUERY_SUGGESTIONS_MODEL"
    

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del tuo Google Cloud progetto.

    • DATA_STORE_ID: l'ID univoco dello spazio dati associato alla tua app.

    • QUERY_STRING: l'input di previsione utilizzato per recuperare i suggerimenti.

    • AUTOCOMPLETE_MODEL: i dati del completamento automatico

    • QUERY_SUGGESTIONS_MODEL: il modello di suggerimenti di query da utilizzare per la richiesta: document, document-completable, search-history o user-event. Per i dati sanitari, utilizza healthcare-default.

C#

Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C# Vertex AI Agent Builder.

Per autenticarti in Vertex AI Agent Builder, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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

Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go Vertex AI Agent Builder.

Per autenticarti in Vertex AI Agent Builder, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.


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

Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI Agent Builder.

Per autenticarti in Vertex AI Agent Builder, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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

Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI Agent Builder.

Per autenticarti in Vertex AI Agent Builder, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

/**
 * 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

Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python Vertex AI Agent Builder.

Per autenticarti in Vertex AI Agent Builder, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

# 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

Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Ruby Vertex AI Agent Builder.

Per autenticarti in Vertex AI Agent Builder, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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

Utilizzare una lista bloccata per il completamento automatico

Puoi utilizzare una lista bloccata per evitare che termini specifici appaiano come suggerimenti di completamento automatico.

Prendiamo ad esempio un'azienda farmaceutica. Se un farmaco non è più approvato dalla FDA, ma è menzionato nei documenti nel proprio data store, l'utente potrebbe voler impedire che venga visualizzato come query suggerita. L'azienda potrebbe aggiungere il nome del farmaco a una lista negativa per impedirne la proposta.

I limiti sono i seguenti:

  • Una lista bloccata per datastore
  • Il caricamento di una lista bloccata sovrascrive qualsiasi lista bloccata esistente per quel datastore
  • Fino a 1000 termini per lista negativa
  • I termini non fanno distinzione tra maiuscole e minuscole
  • Dopo aver importato una lista negativa, sono necessari 1-2 giorni prima che venga applicata

Ogni voce della lista negativa è composta da blockPhrase e matchOperator:

  • blockPhrase: inserisci una stringa come termine della lista bloccata. I termini non fanno distinzione tra maiuscole e minuscole.
  • matchOperator: accetta i seguenti valori:
    • EXACT_MATCH: impedisce che una corrispondenza esatta del termine della lista bloccata venga visualizzata come query suggerita.
    • CONTAINS: impedisce la visualizzazione di qualsiasi suggerimento contenente il termine della lista bloccata.

Di seguito è riportato un esempio di lista negativa con quattro voci:

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

Prima di importare una lista negativa, verifica che i controlli di accesso necessari siano impostati per l'accesso degli editor del motore di scoperta.

Le liste di blocco possono essere importate da dati JSON locali o da Cloud Storage. Per rimuovere una lista negativa da un data store, eliminala.

Importa una lista bloccata dai dati JSON locali

Per importare una lista negativa da un file JSON locale contenente la lista negativa, procedi nel seguente modo:

  1. Crea la lista di esclusione in un file JSON locale con il seguente formato. Assicurati che ogni voce della lista di blocco sia in una nuova riga senza interruzioni di riga.

    {
        "inlineSource": {
            "entries": [
                { "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" },
                { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" }
            ]
        }
    }
  2. Effettua una richiesta POST al metodo suggestionDenyListEntries:import specificando il nome del file JSON.

    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"
    

    Sostituisci quanto segue:

    • DENYLIST_FILE: il percorso locale del file JSON contenente i termini della lista negativa.
    • PROJECT_ID: il numero o l'ID del tuo Google Cloud progetto.

    • DATA_STORE_ID: l'ID del datastore associato alla tua app.

Dopo aver importato la lista negativa, sono necessari 1-2 giorni per iniziare a filtrare i suggerimenti.

Importa una lista bloccata da Cloud Storage

Per importare una lista negativa da un file JSON in Cloud Storage, segui questi passaggi:

  1. Crea la lista di esclusione in un file JSON con il seguente formato e importalo in un bucket Cloud Storage. Assicurati che ogni voce della lista negativa sia in una nuova riga senza interruzioni di riga.

    { "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" }
    { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" }
  2. Crea un file JSON locale contenente l'oggetto gcsSource. Utilizzalo per indicare la posizione del file della lista di blocco in un bucket Cloud Storage.

    {
        "gcsSource": {
            "inputUris": [ "DENYLIST_STORAGE_LOCATION" ]
        }
    }
    • Sostituisci DENYLIST_STORAGE_LOCATION con la posizione della lista negativa in Cloud Storage. Puoi inserire un solo URI. L'URI deve essere inserito nel seguente formato: gs://BUCKET/FILE_PATH.
  3. Esegui una richiesta POST al metodo suggestionDenyListEntries:import, incluso l'oggetto gcsSource.

    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"
    

    Sostituisci quanto segue:

    • GCS_SOURCE_FILE: il percorso locale del file contenente l'oggetto gcsSource che rimanda alla lista bloccata.
    • PROJECT_ID: il numero o l'ID del tuo Google Cloud progetto.

    • DATA_STORE_ID: l'ID del datastore associato alla tua app.

Dopo aver importato la lista negativa, sono necessari 1-2 giorni per iniziare a filtrare i suggerimenti.

Eliminare definitivamente una lista bloccata

Per eliminare una lista negativa dal tuo data store:

  1. Esegui una richiesta POST al metodo 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"
    

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del progetto. Google Cloud

    • DATA_STORE_ID: l'ID del datastore associato alla tua app.

Utilizzare un elenco di suggerimenti di completamento automatico importato

Puoi scegliere di fornire il tuo elenco di suggerimenti di completamento automatico anziché utilizzare quelli generati da un modello di dati di completamento automatico.

Per la maggior parte delle applicazioni, l'utilizzo dei suggerimenti generati da uno dei modelli di dati di completamento automatico consente di ottenere risultati migliori. Tuttavia, in alcune rare situazioni i suggerimenti del modello potrebbero non soddisfare le tue esigenze e fornire un elenco discreto di suggerimenti offre agli utenti un'esperienza di completamento automatico migliore.

Ad esempio, una piccola libreria online importa il proprio elenco di titoli dei libri come suggerimenti di completamento automatico. Quando un cliente inizia a digitare nella barra di ricerca, il suggerimento di completamento automatico sarà sempre il titolo di un libro dell'elenco importato. Quando l'elenco dei libri cambia, la libreria elimina l'elenco corrente e importa il nuovo elenco. Un estratto dall'elenco potrebbe avere il seguente aspetto:

{"suggestion": "Wuthering Heights", "globalScore": "0.52" },
{"suggestion": "The Time Machine", "globalScore": "0.26" },
{"suggestion": "Nicholas Nickleby", "globalScore": "0.38" },
{"suggestion": "A Little Princess", "globalScore": "0.71" },
{"suggestion": "The Scarlet Letter", "globalScore": "0.32" }

globalScore è un numero con rappresentazione in virgola mobile nell'intervallo [0, 1] utilizzato per assegnare un ranking al suggerimento. In alternativa, puoi utilizzare un punteggio frequency che sia un numero intero maggiore di uno. Il punteggio frequency viene utilizzato per classificare i suggerimenti quando globalScore non è disponibile.

Configurare e importare i suggerimenti di completamento automatico

Per configurare e importare un elenco di suggerimenti di completamento automatico da un BigQuery, segui questi passaggi:

  1. Crea l'elenco di suggerimenti e caricalo in una tabella BigQuery.

    Come minimo, devi fornire ogni suggerimento come stringa e un voto globale o una frequenza.

    Utilizza lo schema di tabella seguente per l'elenco di suggerimenti:

    [
      {
        "description": "The suggestion text",
        "mode": "REQUIRED",
        "name": "suggestion",
        "type": "STRING"
      },
      {
        "description": "Global score of this suggestion. Control how this suggestion would be scored and ranked. Set global score or frequency; not both.",
        "mode": "NULLABLE",
        "name": "globalScore",
        "type": "FLOAT"
      },
      {
        "description": "Frequency of this suggestion. Used to rank suggestions when the global score is not available.",
        "mode": "NULLABLE",
        "name": "frequency",
        "type": "INTEGER"
      }
    ]
    

    Consulta la documentazione di BigQuery per istruzioni su come creare una tabella BigQuery e caricarla con l'elenco di suggerimenti di completamento automatico.

  2. Importa l'elenco da BigQuery.

    Esegui una richiesta POST al metodo completionSuggestions:import, includendo l'oggetto bigquerySource.

    curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     -H "X-Goog-User-Project: PROJECT_ID" \
     "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/dataStores/DATA_STORE_ID/completionSuggestions:import" \
     -d '{
          "bigquery_source": {"project_id": "PROJECT_ID_SOURCE", "dataset_id": "DATASET_ID", "table_id": "TABLE_ID"}
     }'
    

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del tuo Google Cloud progetto.
    • DATA_STORE_ID: l'ID dello spazio dati di Vertex AI Search.
    • PROJECT_ID_SOURCE: il progetto che contiene il set di dati da importare.
    • DATASET_ID: l'ID set di dati per l'elenco di suggerimenti che vuoi importare
    • TABLE_ID: l'ID tabella per l'elenco di suggerimenti che vuoi importare
  3. (Facoltativo) Prendi nota del valore name restituito e segui le istruzioni riportate in Ottenere i dettagli di un'operazione di lunga durata per sapere quando l'operazione di importazione è completata.

  4. Se non hai attivato il completamento automatico per l'app, segui la procedura Aggiornare le impostazioni di completamento automatico. Assicurati di impostare Attiva completamento automatico su Ora.

  5. Attendi un paio di giorni per il completamento dell'indicizzazione e la disponibilità dei suggerimenti importati.

Inviare una richiesta di completamento automatico

Per inviare una richiesta di completamento automatico che restituisce un suggerimento importato anziché un suggerimento di un modello di completamento automatico:

  1. Segui la procedura per inviare una richiesta di completamento automatico a un altro modello e imposta AUTOCOMPLETE_MODEL su imported-suggestion.

Svuotare l'elenco dei suggerimenti di completamento automatico importati

Prima di importare un nuovo elenco di suggerimenti di completamento automatico, rimuovi quello esistente.

Per eliminare un elenco esistente di suggerimenti di completamento automatico:

  1. Esegui una richiesta POST al metodo completionSuggestions: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/completionSuggestions:purge"
    

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del tuo Google Cloud progetto.

    • DATA_STORE_ID: l'ID del datastore associato alla tua app.

Modello di dati dei documenti avanzato

Vertex AI Agent Builder fornisce un modello di dati avanzato per il completamento automatico. In base ai documenti che importi, questo modello di dati genera suggerimenti di completamento automatico di alta qualità sfruttando i modelli linguistici di grandi dimensioni (LLM) di Google.

Questa funzionalità è sperimentale. Se ti interessa utilizzare questa funzionalità, contatta il tuo Google Cloud team dedicato all'account e chiedi di essere aggiunto alla lista consentita.

Il modello di dati dei documenti avanzati non è disponibile per la ricerca sanitaria o nelle regioni multiple degli Stati Uniti e dell'UE.