Configurar o preenchimento automático

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étodo servingConfigs.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. MilcMilk.
Remover termos não seguros
  • Com tecnologia do SafeSearch do Google.
  • Remove consultas inadequadas.
  • Suporte em inglês (en), francês (fr), alemão (de), italiano (it), polonês (pl), português (pt), russo (ru), espanhol (es) e ucraniano (uk).
Texto ofensivo, como pornografia, conteúdo picante, vulgar e violência.
Lista de bloqueio
  • Remova os termos listados na lista de bloqueio.
Para mais informações, consulte Usar uma lista de bloqueio de preenchimento automático.
Eliminar duplicação de termos
  • Com tecnologia de compreensão semântica baseada em IA.
  • Para termos quase idênticos, ambos os termos são correspondentes, mas apenas o mais popular é sugerido.
Shoes for Women, Womens Shoes e Womans Shoes são eliminados, e apenas o mais popular é sugerido.
Sugestões de correspondência de cauda
  • Não disponível em multirregiões dos EUA e da Europa.
  • Configuração opcional.
  • Se não houver correspondências de preenchimento automático para toda a consulta, sugira correspondências apenas para a palavra final da consulta.
  • Não disponível para a pesquisa de saúde.
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:

  1. include_tail_suggestions é definido como true na solicitação dataStores.completeQuery.

  2. 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

  1. No Console do Google Cloud, acesse a página Criador de agentes.

    Agent Builder.

  2. Clique no nome do app que você quer editar.

  3. Clique em Configurations.

  4. Clique na guia UI.

  5. 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

  1. No Console do Google Cloud, acesse a página Criador de agentes.

    Agent Builder.

  2. Clique no nome do app que você quer editar.

  3. Clique em Configurations.

  4. Clique na guia Preenchimento automático.

  5. 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âmetro queryModel.
    • 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.

  6. 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

  1. No Console do Google Cloud, acesse a página Criador de agentes.

    Agent Builder.

  2. Clique no nome do app que você quer editar. Ele precisa usar dados estruturados.

  3. Clique em Dados.

  4. Clique na guia Esquema.

  5. Clique em Editar para selecionar os campos do esquema que serão marcados como completable.

  6. 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:

  1. 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.

    1. No console do Google Cloud, acesse a página Criador de agentes e, no menu de navegação, clique em Repositórios de dados.

      Acesse a página "Repositórios de dados"

    2. Clique no nome do seu repositório de dados.

    3. Na página Dados do seu repositório de dados, encontre o ID do repositório.

  2. 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:

  1. 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.

    1. No console do Google Cloud, acesse a página Criador de agentes e, no menu de navegação, clique em Repositórios de dados.

      Acesse a página "Repositórios de dados"

    2. Clique no nome do seu repositório de dados.

    3. Na página Dados do seu repositório de dados, encontre o ID do repositório.

  2. 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ático

    • QUERY_SUGGESTIONS_MODEL: o modelo de sugestões de consulta a ser usado para a solicitação: document, document-completable, search-history ou user-event. Para dados de saúde, use healthcare-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.

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

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.


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

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.

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

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.

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

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.

# 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

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.

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

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:

  1. 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" }
            ]
        }
    }
  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:

  1. 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" }
  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.
  3. Faça uma solicitação POST para o método suggestionDenyListEntries:import, incluindo o objeto 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"
    
    • 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 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:

  1. 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:

  1. 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.

  2. Importe a lista do BigQuery.

    Faça uma solicitação POST para o método completionSuggestions:import, incluindo o objeto 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"}
     }'
    

    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 importar
    • TABLE_ID: o ID da tabela da lista de sugestões que você quer importar
  3. 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.

  4. 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.

  5. 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:

  1. Siga o procedimento para enviar uma solicitação de preenchimento automático para um modelo diferente e defina AUTOCOMPLETE_MODEL como imported-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:

  1. 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.