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 datastore. 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.
Il modello dei dati del completamento automatico determina il tipo di dati utilizzati dal completamento automatico per generare suggerimenti. Esistono quattro modelli di completamento automatico:
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 metodoservingConfigs.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 completamento automatico disponibili per ogni tipo di dati.
Modello di dati del completamento automatico |
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 | raccolti automaticamente | ✔ (valore predefinito) | ✔ | ✔ |
Eventi dell'utente | Importati dall'utente o raccolti automaticamente da un widget | ✔ | ✔ | ✔ |
Contenuti sottoposti a scansione del web | Acquisiti tramite scansione 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 dei 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. | Milc → Milk .
|
Rimuovere i termini non sicuri |
|
Testo offensivo, ad esempio pornografico, osceno, volgare, violento. |
Lista bloccata |
|
Per saperne di più, consulta Utilizzare una lista bloccata per il completamento automatico. |
Termini deduplicati |
|
Shoes for Women , Womens Shoes e Womans Shoes vengono deduplicati
e viene suggerito solo quello più popolare. |
Suggerimenti per la corrispondenza finale |
|
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:
include_tail_suggestions
è impostato sutrue
nella richiestadataStores.completeQuery
.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
Nella console Google Cloud, vai alla pagina Agent Builder.
Fai clic sul nome dell'app da modificare.
Fai clic su Configurations (Configurazione).
Fai clic sulla scheda UI.
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 la ricerca in ambito sanitario, il completamento automatico è una funzionalità in anteprima.
Aggiornare le impostazioni di completamento automatico
Per configurare le impostazioni di completamento automatico:
Console
Nella console Google Cloud, vai alla pagina Agent Builder.
Fai clic sul nome dell'app da modificare.
Fai clic su Configurations (Configurazione).
Fai clic sulla scheda Completamento automatico.
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 completamento automatico: il modello dei dati di completamento automatico utilizzato per generare i suggerimenti recuperati. Questo valore può essere ignorato in
dataStores.completeQuery
utilizzando il parametroqueryModel
. Abilita 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 di buona qualità sufficienti.
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
Nella console Google Cloud, vai alla pagina Agent Builder.
Fai clic sul nome dell'app da modificare. Deve utilizzare i dati strutturati.
Fai clic su Dati.
Fai clic sulla scheda Schema.
Fai clic su Modifica per selezionare i campi dello schema da contrassegnare come
completable
.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:
Trova l'ID del tuo datastore. Se hai già l'ID del tuo datastore, vai al passaggio successivo.
Nella console Google Cloud, vai alla pagina Agent Builder e nel menu di navigazione fai clic su Data Store.
Fai clic sul nome del tuo datastore.
Nella pagina Dati del tuo datastore, ottieni l'ID datastore.
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"
PROJECT_ID: il numero o l'ID del tuo progetto Google Cloud.
DATA_STORE_ID: l'ID dello datastore 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 dei dati di completamento automatico diverso:
Trova l'ID del tuo datastore. Se hai già l'ID del tuo datastore, vai al passaggio successivo.
Nella console Google Cloud, vai alla pagina Agent Builder e nel menu di navigazione fai clic su Data Store.
Fai clic sul nome del tuo datastore.
Nella pagina Dati del tuo datastore, ottieni l'ID datastore.
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=AUTOCOMPLETE_MODEL"
- PROJECT_ID: il numero o l'ID del tuo progetto Google Cloud.
- DATA_STORE_ID: l'ID univoco dello datastore associato alla tua app.
- QUERY_STRING: l'input di previsione utilizzato per recuperare i suggerimenti.
- AUTOCOMPLETE_MODEL: il modello di dati per il completamento automatico da utilizzare per la richiesta:
document
,document-completable
,search-history
ouser-event
. Per i dati sanitari, utilizzahealthcare-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.
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.
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.
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.
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.
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.
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 datastore, 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 di blocco, 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 nera.
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 datastore, 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:
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" } ] } }
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"
- DENYLIST_FILE: il percorso locale del file JSON contenente i termini della lista negativa.
- PROJECT_ID: il numero o l'ID del tuo progetto Google Cloud.
- 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:
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 di blocco sia in una nuova riga senza interruzioni di riga.
{ "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" } { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" }
Crea un file JSON locale contenente l'oggetto
gcsSource
. Utilizzalo per indicare la posizione del file della lista negativa in un bucket Cloud Storage.{ "gcsSource": { "inputUris": [ "DENYLIST_STORAGE_LOCATION" ] } }
- DENYLIST_STORAGE_LOCATION: la posizione della lista bloccata in Cloud Storage. Puoi inserire un solo URI. L'URI deve essere inserito
in questo formato:
gs://BUCKET/FILE_PATH
.
- DENYLIST_STORAGE_LOCATION: la posizione della lista bloccata in Cloud Storage. Puoi inserire un solo URI. L'URI deve essere inserito
in questo formato:
Esegui una richiesta POST al metodo
suggestionDenyListEntries:import
, incluso l'oggettogcsSource
.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: il percorso locale del file contenente
l'oggetto
gcsSource
che punta alla lista bloccata. - PROJECT_ID: il numero o l'ID del tuo progetto Google Cloud.
- DATA_STORE_ID: l'ID del datastore associato alla tua app.
- GCS_SOURCE_FILE: il percorso locale del file contenente
l'oggetto
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 datastore:
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"
- PROJECT_ID: il numero o l'ID del tuo progetto Google Cloud.
- DATA_STORE_ID: l'ID del datastore associato alla tua app.
Modello dei dati dei documenti avanzato
Vertex AI Agent Builder fornisce un modello dei dati avanzato per il completamento automatico. In base ai documenti che importi, questo modello dei dati genera suggerimenti di completamento automatico di alta qualità sfruttando i modelli linguistici di grandi dimensioni (LLM) di Google.
Questa funzionalità è sperimentale. Se sei interessato a utilizzare questa funzionalità, contatta il team degli account Google Cloud e richiedi di essere aggiunto alla lista consentita.
Questa funzionalità non è disponibile per la ricerca di servizi sanitari o nelle aree geografiche multiple degli Stati Uniti e dell'UE.