Esta página descreve o recurso básico de preenchimento automático da Vertex AI Search. O preenchimento automático gera sugestões de consulta com base nos primeiros caracteres digitados.
As sugestões geradas pelo preenchimento automático variam de acordo com o tipo de dados usados pelo app de pesquisa:
Dados estruturados e não estruturados. Por padrão, o preenchimento automático gera sugestões com base no conteúdo dos documentos no repositório de dados. Por padrão, o preenchimento automático não começa a gerar sugestões após a importação de documentos até que haja dados de qualidade suficientes, normalmente alguns dias. Se você fizer solicitações de preenchimento automático pela API, o preenchimento automático poderá gerar sugestões com base no histórico de pesquisa ou nos eventos do usuário.
Dados do site. Por padrão, o preenchimento automático gera sugestões do histórico de pesquisa. O preenchimento automático requer tráfego de pesquisa real. Depois que o tráfego de pesquisa começa, o preenchimento automático leva um ou dois dias para gerar sugestão. As sugestões podem ser geradas a partir de dados de rastreamento da Web de sites públicos com o modelo de dados de documentos avançados experimental.
Dados de saúde. Por padrão, uma fonte de dados médicos canônica é usada para gerar sugestões de preenchimento automático para repositórios de dados de saúde. Para pesquisas de saúde, o preenchimento automático é um recurso de pré-lançamento.
Como alternativa, use as Sugestões importadas, que oferecem sugestões de preenchimento automático com base em uma lista importada de sugestões em vez de sugestões baseadas em um modelo treinado. Para mais informações, consulte Usar uma lista importada de sugestões de preenchimento automático.
O modelo de sugestões de consulta determina que tipo de dados o preenchimento automático usa para gerar sugestões. Há quatro modelos de sugestões de consulta:
Document. O modelo de documento gera sugestões de documentos importados pelo usuário. Esse modelo não está disponível para dados de sites ou de saúde.
Campos completáveis. O modelo de campos completáveis sugere texto extraído diretamente dos campos de dados estruturados. Somente os campos anotados com
completable
são usados para sugestões de preenchimento automático. Esse modelo está disponível apenas para dados estruturados.Histórico de pesquisa. O modelo do histórico de pesquisa gera sugestões com base no histórico de chamadas da API
SearchService.search
. Não use esse modelo se não houver tráfego disponível para o métodoservingConfigs.search
. Esse modelo não está disponível para dados de saúde.Evento do usuário. O modelo de evento do usuário gera sugestões com base em eventos de pesquisa importados pelo usuário. Esse modelo não está disponível para dados de saúde.
As solicitações de preenchimento automático são enviadas usando o
método dataStores.completeQuery
.
A tabela a seguir mostra os tipos de modelo de sugestões de consulta disponíveis para cada tipo de dados.
Modelo de sugestões de consultas |
Origem de dados |
Dados do site |
Dados estruturados |
Dados não estruturados |
---|---|---|---|---|
Documento | Importado pelo usuário | ✔* (padrão) | ✔ (padrão) | |
Campos completáveis | Importado pelo usuário | ✔ | ||
Histórico de pesquisa | Coletado automaticamente | ✔ (padrão) | ✔ | ✔ |
Eventos do usuário | Importado pelo usuário ou coletado automaticamente pelo widget | ✔ | ✔ | ✔ |
Conteúdo rastreado pela Web | Rastreado de conteúdo de sites públicos especificados pelo usuário | ✔† |
* : o esquema do documento precisa conter campos title
ou description
, ou
precisa haver campos especificados como propriedades de chave
title
ou description
. Consulte
Atualizar um esquema para dados estruturados.
† : o conteúdo rastreado da Web só pode ser usado como uma fonte de dados se o modelo de dados de documentos avançado experimental para preenchimento automático estiver ativado. Consulte Modelo de dados de documentos avançados.
Se você não quiser usar o modelo padrão para seu tipo de dados, especifique um modelo diferente ao enviar a solicitação de preenchimento automático. As solicitações de preenchimento automático
são enviadas usando o método dataStores.completeQuery
. Para
mais informações, consulte Instruções da API: envie uma solicitação de preenchimento automático para escolher um
modelo diferente.
Recursos de preenchimento automático
A Vertex AI Search oferece suporte aos seguintes recursos de preenchimento automático para mostrar as previsões mais úteis durante a pesquisa:
Recurso | Descrição | Exemplo ou mais informações |
---|---|---|
Corrigir erros de digitação | Corrija a ortografia de palavras com erros de digitação. | Milc → Milk .
|
Remover termos não seguros |
|
Texto ofensivo, como pornografia, conteúdo picante, vulgar e violência. |
Lista de bloqueio |
|
Para mais informações, consulte Usar uma lista de bloqueio de preenchimento automático. |
Eliminar duplicação de termos |
|
Shoes for Women , Womens Shoes e Womans Shoes são eliminados,
e apenas o mais popular é sugerido. |
Sugestões de correspondência de cauda |
|
Para mais informações, consulte Sugestões de correspondência de cauda. |
Sugestões de correspondência de cauda
As sugestões de correspondência de cauda são feitas usando a correspondência de prefixo exata com a última palavra em uma string de consulta.
Por exemplo, digamos que a consulta "músicas com he" seja enviada em uma solicitação de preenchimento automático. Quando a correspondência de cauda está ativada, o preenchimento automático pode encontrar que o prefixo completo "songs with he" não tem correspondências. No entanto, a última palavra na consulta, "he", tem uma correspondência exata de prefixo com "hello world" e "hello kitty". Nesse caso, as sugestões retornadas são "songs with hello world" e "songs with hello kitty" porque não há sugestões de correspondência completa.
Você pode usar esse recurso para reduzir os resultados de sugestões vazias e aumentar a diversidade de sugestões. Isso é especialmente útil em casos em que as fontes de dados (contagem de eventos do usuário, histórico de pesquisa e cobertura de tópicos de documentos) são limitadas. No entanto, ativar as sugestões de correspondência de cauda pode reduzir a qualidade geral das sugestões. Como a correspondência de cauda corresponde apenas à palavra final do prefixo, algumas sugestões retornadas podem não fazer sentido. Por exemplo, uma consulta como "songs with he" pode receber uma sugestão de correspondência de cauda como "songs with helpers guides".
As sugestões de correspondência de cauda são retornadas apenas se:
include_tail_suggestions
é definido comotrue
na solicitaçãodataStores.completeQuery
.Não há sugestões de correspondência de prefixo completo para a consulta.
Ativar ou desativar o preenchimento automático em um widget
Para ativar ou desativar o preenchimento automático em um widget, siga estas etapas:
Console
No Console do Google Cloud, acesse a página Criador de agentes.
Clique no nome do app que você quer editar.
Clique em Configurations.
Clique na guia UI.
Alterne a opção Mostrar sugestões de preenchimento automático para ativar ou desativar as sugestões de preenchimento automático do widget. Quando você ativa o preenchimento automático, espere um ou dois dias para que as sugestões comecem a aparecer. Para a pesquisa de saúde, o preenchimento automático é um recurso em fase de pré-lançamento.
Atualizar as configurações de preenchimento automático
Para configurar as configurações de preenchimento automático, siga estas etapas:
Console
No Console do Google Cloud, acesse a página Criador de agentes.
Clique no nome do app que você quer editar.
Clique em Configurations.
Clique na guia Preenchimento automático.
Insira ou selecione novos valores para as configurações de preenchimento automático que você quer atualizar:
- Número máximo de sugestões:o número máximo de sugestões de preenchimento automático que podem ser oferecidas para uma consulta.
- Comprimento mínimo para acionar:o número mínimo de caracteres que pode ser digitado antes que as sugestões de preenchimento automático sejam oferecidas.
- Ordem de correspondência: o local em uma string de consulta que o preenchimento automático pode começar a corresponder às sugestões.
- Modelo de sugestões de consulta: o modelo de sugestões de consulta usado para
gerar as sugestões recuperadas. Isso pode ser substituído no
dataStores.completeQuery
usando o parâmetroqueryModel
. Ativar o preenchimento automático: por padrão, o preenchimento automático só começa a fazer sugestão quando tem dados de qualidade suficientes, normalmente alguns dias. Se você quiser substituir esse padrão e começar a receber algumas sugestões de preenchimento automático mais cedo, selecione Agora.
Mesmo quando você seleciona Agora, pode levar um dia para que as sugestões sejam geradas, e algumas sugestões de preenchimento automático ainda vão estar ausentes ou de baixa qualidade até que haja dados suficientes.
Clique em Salvar e publicar. As mudanças entram em vigor em alguns minutos para motores em que o preenchimento automático já está ativado.
Atualizar anotações de campo completáveis no esquema
Para ativar o preenchimento automático de campos no esquema de dados estruturados, siga estas etapas:
Console
No Console do Google Cloud, acesse a página Criador de agentes.
Clique no nome do app que você quer editar. Ele precisa usar dados estruturados.
Clique em Dados.
Clique na guia Esquema.
Clique em Editar para selecionar os campos do esquema que serão marcados como
completable
.Clique em Salvar para salvar as configurações de campo atualizadas. Essas sugestões levam cerca de um dia para serem geradas e retornadas.
Enviar solicitações de preenchimento automático
Os exemplos a seguir mostram como enviar solicitações de preenchimento automático.
REST
Para enviar uma solicitação de preenchimento automático usando a API, siga estas etapas:
Encontre o ID do repositório de dados. Se você já tiver o ID do repositório de dados, pule para a próxima etapa.
No console do Google Cloud, acesse a página Criador de agentes e, no menu de navegação, clique em Repositórios de dados.
Clique no nome do seu repositório de dados.
Na página Dados do seu repositório de dados, encontre o ID do repositório.
Chame o método
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
: o número ou ID do seu projeto Google Cloud .DATA_STORE_ID
: o ID do repositório de dados associado ao app.QUERY_STRING
: a entrada de typeahead usada para buscar sugestões.
Enviar uma solicitação de preenchimento automático para outro modelo
Para enviar uma solicitação de preenchimento automático com um modelo de sugestões de consulta diferente, siga estas etapas:
Encontre o ID do repositório de dados. Se você já tiver o ID do repositório de dados, pule para a próxima etapa.
No console do Google Cloud, acesse a página Criador de agentes e, no menu de navegação, clique em Repositórios de dados.
Clique no nome do seu repositório de dados.
Na página Dados do seu repositório de dados, encontre o ID do repositório.
Chame o método
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"
PROJECT_ID
: o número ou ID do seu projeto Google Cloud .DATA_STORE_ID
: o ID exclusivo do repositório de dados associado ao app.QUERY_STRING
: a entrada de typeahead usada para buscar sugestões.AUTOCOMPLETE_MODEL
: os dados de preenchimento automáticoQUERY_SUGGESTIONS_MODEL: o modelo de sugestões de consulta a ser usado para a solicitação:
document
,document-completable
,search-history
ouuser-event
. Para dados de saúde, usehealthcare-default
.
C#
Para mais informações, consulte a documentação de referência da API C# do Vertex AI Agent Builder.
Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para mais informações, consulte a documentação de referência da API Go do Vertex AI Agent Builder.
Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Java do Vertex AI Agent Builder.
Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Vertex AI Agent Builder.
Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Python do Vertex AI Agent Builder.
Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para mais informações, consulte a documentação de referência da API Ruby do Vertex AI Agent Builder.
Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Usar uma lista de bloqueio de preenchimento automático
É possível usar uma lista de bloqueios para evitar que termos específicos apareçam como sugestões de preenchimento automático.
Por exemplo, uma empresa farmacêutica. Se um medicamento não tiver mais a aprovação da FDA, mas for mencionado em documentos na repositório de dados, talvez seja possível impedir que ele apareça como uma consulta sugerida. A empresa pode adicionar o nome do medicamento a uma lista de bloqueio para evitar que ele seja sugerido.
Os seguintes limites são aplicáveis:
- Uma lista de bloqueio por repositório de dados
- O upload de uma lista de bloqueio substitui qualquer outra lista de bloqueio para esse repositório de dados.
- Até 1.000 termos por lista de bloqueio
- Os termos não diferenciam maiúsculas de minúsculas
- Depois de importar uma lista de bloqueio, ela leva de um a dois dias para entrar em vigor.
Cada entrada da lista de bloqueio consiste em um blockPhrase
e um matchOperator
:
blockPhrase
: insira uma string como seu termo de lista de bloqueio. Os termos não diferenciam maiúsculas de minúsculas.matchOperator
: aceita os seguintes valores:EXACT_MATCH
: impede que uma correspondência exata do termo da lista de bloqueio apareça como uma consulta sugerida.CONTAINS
: impede que qualquer sugestão que contenha o termo da lista de bloqueio apareça.
Confira a seguir um exemplo de lista de bloqueio com quatro entradas:
{ "entries": [ {"blockPhrase":"Oranges","matchOperator":"CONTAINS"}, {"blockPhrase":"bAd apples","matchOperator":"EXACT_MATCH"}, {"blockPhrase":"Cool as A Cucumber","matchOperator":"EXACT_MATCH"}, {"blockPhrase":"cherry pick","matchOperator":"CONTAINS"} ] }
Antes de importar uma lista de bloqueio, verifique se os controles de acesso necessários estão definidos para o acesso do editor do Discovery Engine.
As listas de bloqueio podem ser importadas de dados JSON locais ou do Cloud Storage. Para remover uma lista de bloqueio de um repositório de dados, limpe a lista de bloqueio.
Importar uma lista de bloqueio de dados JSON locais
Para importar uma lista de bloqueio de um arquivo JSON local que a contém, faça o seguinte:
Crie sua lista de bloqueio em um arquivo JSON local com o seguinte formato. Verifique se cada entrada da lista de bloqueio está em uma nova linha sem quebras de linha.
{ "inlineSource": { "entries": [ { "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" }, { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" } ] } }
Faça uma solicitação POST para o método
suggestionDenyListEntries:import
, fornecendo o nome do arquivo 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
: o caminho local do arquivo JSON que contém os termos da lista de bloqueio.PROJECT_ID
: o número ou ID do seu projeto do Google Cloud .DATA_STORE_ID
: o ID do repositório de dados associado ao app.
Depois de importar a lista de bloqueio, leva de um a dois dias para começar a filtrar as sugestões.
Importar uma lista de bloqueio do Cloud Storage
Para importar uma lista de bloqueio de um arquivo JSON no Cloud Storage, faça o seguinte:
Crie sua lista de bloqueio em um arquivo JSON com o seguinte formato e importe para um bucket do Cloud Storage. Verifique se cada entrada da lista de bloqueio está em uma nova linha sem quebras de linha.
{ "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" } { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" }
Crie um arquivo JSON local que contenha o objeto
gcsSource
. Use isso para apontar para o local do arquivo de lista de bloqueio em um bucket do Cloud Storage.{ "gcsSource": { "inputUris": [ "DENYLIST_STORAGE_LOCATION" ] } }
DENYLIST_STORAGE_LOCATION
: o local da lista de bloqueio no Cloud Storage. Só é possível inserir um URI. O URI precisa ser inserido neste formato:gs://BUCKET/FILE_PATH
.
Faça uma solicitação POST para o método
suggestionDenyListEntries:import
, incluindo o objetogcsSource
.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
: o caminho local do arquivo que contém o objetogcsSource
que aponta para a lista de bloqueio.PROJECT_ID
: o número ou ID do seu projeto Google Cloud .DATA_STORE_ID
: o ID do repositório de dados associado ao app.
Depois de importar a lista de bloqueio, leva de um a dois dias para começar a filtrar as sugestões.
Limpar uma lista de bloqueio
Para limpar uma lista de bloqueio do repositório de dados, faça o seguinte:
Faça uma solicitação POST para o método
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
: o número ou ID do seu projeto Google Cloud .DATA_STORE_ID
: o ID do repositório de dados associado ao app.
Usar uma lista importada de sugestões de preenchimento automático
Você pode fornecer sua própria lista de sugestões de preenchimento automático em vez de usar as sugestões geradas por um modelo de dados de preenchimento automático.
Para a maioria dos aplicativos, o uso de sugestões geradas de um dos modelos de dados de preenchimento automático gera resultados melhores. No entanto, pode haver algumas situações raras em que as sugestões do modelo não correspondem às suas necessidades. Fornecer uma lista discreta de sugestões oferece aos usuários uma experiência de preenchimento automático melhor.
Por exemplo, uma pequena livraria on-line importa a lista de títulos de livros como as sugestões de preenchimento automático. Quando um cliente começa a digitar na barra de pesquisa, a sugestão de preenchimento automático sempre será um título de livro da lista importada. Quando a lista de livros muda, a livraria exclui a lista atual e importa a nova. Um trecho da lista pode ser parecido com este:
{"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" }
O globalScore
é um número de ponto flutuante no intervalo [0, 1] que é usado
para classificar a sugestão. Como alternativa, use uma pontuação frequency
, que é
um número inteiro maior que um. A pontuação frequency
é usada para classificar sugestões
quando o globalScore
não está disponível.
Configurar e importar sugestões de preenchimento automático
Para configurar e importar uma lista de sugestões de preenchimento automático de um BigQuery, siga estas etapas:
Crie sua lista de sugestões e carregue-a em uma tabela do BigQuery.
No mínimo, você precisa fornecer cada sugestão como uma string e uma pontuação global ou uma frequência.
Use o esquema de tabela a seguir para sua lista de sugestões:
[ { "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" } ]
Consulte a documentação do BigQuery para instruções sobre como criar uma tabela do BigQuery e carregar a tabela com sua lista de sugestões de preenchimento automático.
Importe a lista do BigQuery.
Faça uma solicitação POST para o método
completionSuggestions:import
, incluindo o objetobigquerySource
.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"} }'
Substitua:
PROJECT_ID
: o número ou ID do projeto Google Cloud .DATA_STORE_ID
: o ID do repositório de dados da Vertex AI para Pesquisa.PROJECT_ID_SOURCE
: o projeto que contém o conjunto de dados que você quer importar.DATASET_ID
: o ID do conjunto de dados da lista de sugestões que você quer importarTABLE_ID
: o ID da tabela da lista de sugestões que você quer importar
Opcional: anote o valor
name
retornado e siga as instruções em Receber detalhes sobre uma operação de longa duração para saber quando a operação de importação for concluída.Se você não tiver ativado o preenchimento automático para o app, siga o procedimento Atualizar as configurações de preenchimento automático. Defina Ativar preenchimento automático para Agora.
Aguarde alguns dias para que a indexação seja concluída e as sugestões importadas fiquem disponíveis.
Enviar uma solicitação de preenchimento automático
Para enviar uma solicitação de preenchimento automático que retorne uma sugestão importada em vez de uma sugestão de um modelo de preenchimento automático:
- Siga o procedimento para enviar uma solicitação de preenchimento automático para um modelo
diferente e defina
AUTOCOMPLETE_MODEL
comoimported-suggestion
.
Limpar a lista de sugestões de preenchimento automático importadas
Antes de importar uma nova lista de sugestões de preenchimento automático, remova a atual.
Para limpar uma lista de sugestões de preenchimento automático, siga estas etapas:
Faça uma solicitação POST para o método
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"
PROJECT_ID
: o número ou ID do seu projeto Google Cloud .DATA_STORE_ID
: o ID do repositório de dados associado ao app.
Modelo de dados de documentos avançado
O Vertex AI Agent Builder oferece um modelo de dados avançado para preenchimento automático. Com base nos documentos importados, esse modelo de dados gera sugestões de preenchimento automático de alta qualidade usando modelos de linguagem grandes (LLMs) do Google.
Esse recurso é experimental. Se você tiver interesse em usar esse recurso, entre em contato com a equipe de conta do Google Cloud e peça para ser adicionado à lista de permissões.
O modelo de dados de documentos avançado não está disponível para a pesquisa de saúde ou nas multirregiões dos EUA e da UE.