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 em fase de pré-lançamento.
O modelo de dados de preenchimento automático determina que tipo de dados ele usa para gerar sugestões. Há quatro modelos de preenchimento automático:
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 preenchimento automático disponíveis para cada tipo de dados.
Modelo de dados de preenchimento automático |
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 ou violento. |
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 preenchimento automático: o modelo de dados de preenchimento automático 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 projeto do 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 dados de preenchimento automático 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=AUTOCOMPLETE_MODEL"
- PROJECT_ID: o número ou ID do projeto do 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: o modelo de dados de preenchimento automático 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 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
.
- 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:
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 objeto
gcsSource
que aponta para a lista de bloqueio. - PROJECT_ID: o número ou ID do projeto do Google Cloud.
- DATA_STORE_ID: o ID do repositório de dados associado ao app.
- GCS_SOURCE_FILE: o caminho local do arquivo que contém
o objeto
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 projeto do 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.
Esse recurso não está disponível para pesquisas de saúde ou nas multirregiões dos EUA e da UE.