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. Após a importação de documentos, por padrão, o preenchimento automático não começa a gerar sugestões 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 tráfego de pesquisa começa, o preenchimento automático leva um ou dois dias para gerar sugestões. As sugestões podem ser geradas com base em dados públicos rastreados na Web sites com o modelo avançado de dados de documentos 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 documentos importados pelo usuário. Este modelo não está disponível para dados do site ou dados 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 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.
Preenchimento automático modelo de dados |
Origem de dados |
Dados do site |
Estruturados dados |
Não estruturados dados |
---|---|---|---|---|
Documento | Importado por usuário | ✔* (padrão) | ✔ (padrão) | |
Completável campos | Importado por 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 públicas sites especificado por usuário | ✔† |
* : o esquema do documento precisa conter os campos title
, description
ou
precisam ser campos especificados como uma chave title
ou description
;
propriedades. Consulte
Atualizar um esquema para dados estruturados.
† : o conteúdo rastreado da Web só pode ser usado como fonte de dados se: o modelo experimental de dados avançados de documentos para preenchimento automático está ativado. Consulte Modelo de dados de documentos avançados.
Se você não quiser usar o modelo padrão para seu tipo de dados, é possível
especificar um modelo diferente ao enviar sua 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 |
---|---|---|
Remova os caracteres especiais | Remova caracteres não padrão dos dados de sugestão e
consultas tipadas. O traço - é o único caractere padrão que é mantido nos dados de sugestão e nas consultas digitadas.
|
Mt. Everest & Mt. Kilimanjaro → Mt Everest Mt Kilimanjaro . |
Corrigir erros de digitação | Corrigir 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 para a cauda. |
Sugestões de correspondência de cauda
As sugestões de correspondência de cauda são feitas usando correspondência exata de prefixo com relação à ú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 descobrir que o prefixo completo "músicas com ele" não tem correspondências. No entanto, a última palavra na consulta, "he" tem um prefixo exato correspondente a "hello world" e "hello kitty". Nesse neste caso, as sugestões retornadas são "músicas com hello world" e "músicas com olá gata" porque não há sugestões de correspondência completas.
Use esse recurso para reduzir resultados de sugestões vazios e aumentar a diversidade de sugestões, o que é útil principalmente nos casos em que as fontes de dados (contagem de eventos do usuário, histórico de pesquisa e cobertura por tópicos do documento) é limitada. 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 à direita do prefixo, algumas sugestões 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ó serão retornadas se:
include_tail_suggestions
é definido comotrue
nodataStores.completeQuery
.Não há sugestões de correspondência de prefixo completo para a consulta.
Ativar ou desativar o preenchimento automático para 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 até 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.
Digite 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 podem ser digitados antes das sugestões de preenchimento automático serem 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 na
dataStores.completeQuery
usando oqueryModel
. Ativar o preenchimento automático: por padrão, ele não começa a fazer sugestões até que tenha dados de qualidade suficientes, normalmente alguns de dias. Se você quiser substituir esse padrão e começar a receber algumas sugestões de preenchimento automático antes, selecione Agora.
Mesmo quando você seleciona Agora, pode levar até um dia para que as sugestões sejam geradas e ainda faltam algumas sugestões de preenchimento automático de baixa qualidade 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 deve usar arquiteturas dados.
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/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID:completeQuery?query=QUERY_STRING"
PROJECT_ID: o número ou ID do projeto projeto do Google Cloud.
LOCATION: o local do repositório de dados:
us
,eu
ouglobal
.DATA_STORE_ID: o ID do repositório de dados associado com seu 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 Agent Builder 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/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID:completeQuery?query=QUERY_STRING&query_model=AUTOCOMPLETE_MODEL"
- PROJECT_ID: o número ou ID do projeto projeto do Google Cloud.
- LOCATION: o local do repositório de dados:
us
,eu
ouglobal
. - DATA_STORE_ID: o ID exclusivo do repositório de dados que é associadas ao seu app.
- QUERY_STRING: a entrada de autopreenchimento usada para buscar sugestões.
- AUTOCOMPLETE_MODEL: os dados de preenchimento automático
a ser usado na 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 API Vertex AI Agent Builder Go documentação de referência.
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 API Vertex AI Agent Builder Node.js documentação de referência.
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 API Vertex AI Agent Builder Ruby documentação de referência.
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 bloqueio para impedir que termos específicos apareçam como preenchimento automático sugestões.
Por exemplo, vamos considerar uma empresa farmacêutica. Se um medicamento não tiver mais a aprovação da FDA, mas for mencionado em documentos na loja de dados, talvez seja possível impedir que ele apareça como uma consulta sugerida. A empresa podemos adicionar o nome desse medicamento a uma lista de bloqueio para evitar que ele seja sugeriu.
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 atual do 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 estejam definidos para acesso de 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, faça o seguinte: limpar a lista de bloqueio.
Importar uma lista de bloqueio de dados JSON locais
Para importar uma lista de bloqueio de um arquivo JSON local com a lista de bloqueio, faça o seguinte:
Crie a lista de bloqueio em um arquivo JSON local com o formato a seguir. 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 à
suggestionDenyListEntries:import
, fornecendo o nome do 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/LOCATION/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 projeto do Google Cloud.
- LOCATION: o local do repositório de dados:
us
,eu
ouglobal
. - DATA_STORE_ID: o ID do repositório de dados que é associadas ao seu 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 em
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 em
Cloud Storage. Só é possível inserir um URI. O URI precisa ser inserido neste
formato:
Faça uma solicitação POST à 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/LOCATION/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 seu projeto do Google Cloud.
- LOCATION: o local do repositório de dados:
us
,eu
ouglobal
. - DATA_STORE_ID: o ID do repositório de dados que é associadas ao seu 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 seu 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/LOCATION/dataStores/DATA_STORE_ID/suggestionDenyListEntries:purge"
- PROJECT_ID: o número ou ID do projeto projeto do Google Cloud.
- LOCATION: o local do repositório de dados:
us
,eu
ouglobal
. - DATA_STORE_ID: o ID do repositório de dados que é associadas ao seu app.
Modelo de dados de documentos avançado
O Vertex AI Agent Builder fornece 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 nem nas multirregiões dos EUA e da UE.