Esta página mostra como pré-visualizar os resultados da pesquisa através da consola Google Cloud e obter resultados da pesquisa através da API.
Além disso, em vez de criar um widget de pesquisa para adicionar à sua página Web, pode fazer chamadas API e integrá-las no seu servidor ou aplicação. Esta página inclui exemplos de código sobre como fazer consultas de pesquisa com as bibliotecas cliente gRPC com uma conta de serviço.
Receba resultados da pesquisa para uma app com dados do Website
Consola
Para usar a Google Cloud consola para pré-visualizar os resultados da pesquisa de uma app com dados do Website, siga estes passos:
Na Google Cloud consola, aceda à página Aplicações de IA.
Clique no nome da app que quer editar.
Clique em Pré-visualizar.
Abra a página Pré-visualização na consola.
Opcional: se associou várias origens de dados à sua app, mas quer resultados apenas de uma origem de dados específica, selecione a origem de dados a partir da qual quer obter resultados.
Escreva uma consulta de pesquisa.
Se ativou o preenchimento automático, é apresentada uma lista de sugestões de preenchimento automático abaixo da barra de pesquisa à medida que escreve.
Prima Enter para enviar a consulta.
- É apresentada uma lista de resultados da pesquisa abaixo da barra de pesquisa.
- Cada resultado contém um título, um fragmento e um URL.
- Clicar num resultado abre o respetivo URL.
- Se as funcionalidades avançadas do MDG estiverem ativadas para a app, também pode ser apresentada uma resposta gerada.
REST
Para usar a API para obter resultados da pesquisa de uma app com dados do Website,
use o método engines.servingConfigs.search
:
Encontre o ID da app. Se já tiver o ID da app, avance para o passo seguinte.
Na Google Cloud consola, aceda à página Aplicações de IA.
Na página Apps, encontre o nome da sua app e obtenha o ID da app na coluna ID.
Receber resultados da pesquisa.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \ -d '{ "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search", "query": "QUERY", "pageSize": "PAGE_SIZE", "offset": "OFFSET", "orderBy": "ORDER_BY", "params": {"user_country_code": "USER_COUNTRY_CODE", "searchType": "SEARCH_TYPE"}, "filter": "FILTER", "boostSpec": "BOOST_SPEC", "contentSearchSpec": { "searchResultMode": "RESULT_MODE" }, "userPseudoId": "USER_PSEUDO_ID", "dataStoreSpecs": [{"DATA_STORE_SPEC"}] }'
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto Google Cloud .APP_ID
: o ID da app Vertex AI Search que quer consultar.QUERY
: o texto da consulta a pesquisar.PAGE_SIZE
: o número de resultados devolvidos pela pesquisa. O tamanho máximo permitido da página depende do tipo de dados. Os tamanhos das páginas acima do valor máximo são forçados a corresponder ao valor máximo.- Websites com indexação básica: predefinição
10
, máximo25
- Websites com indexação avançada: predefinição
25
, máximo50
- Outro: predefinição
50
, máximo100
- Websites com indexação básica: predefinição
OFFSET
: o índice inicial dos resultados. O valor predefinido é 0.Por exemplo, se o deslocamento for 2, o tamanho da página for 10 e existirem 15 resultados a devolver, os resultados 2 a 12 são devolvidos na primeira página.
ORDER_BY
: a ordem pela qual os resultados são organizados. O atributo para o qual ordenar tem de ter uma interpretação numérica, por exemplo,date
. Para mais informações, consulte o artigo Ordene os resultados da pesquisa na Web.USER_COUNTRY_CODE
: a localização do utilizador. Este par de chave-valor é a única entrada suportada para o campo de mapaparams
. O valor predefinido está vazio. Para ver os valores aceitáveis, consulte os códigos de países na documentação de referência da API JSON do Motor de Pesquisa Programável.SEARCH_TYPE
: o tipo de pesquisa a realizar. O valor predefinido é 0 para a pesquisa de documentos. O outro valor suportado é 1 para a pesquisa de imagens.FILTER
: um campo de texto para filtrar a pesquisa através de uma expressão de filtro. O valor predefinido é uma string vazia. Para mais informações sobre a utilização do campofilter
, consulte o artigo Filtre a pesquisa no Website.BOOST_SPEC
: opcional. Uma especificação para realçar ou ocultar documentos. Valores:BOOST
: um número de vírgula flutuante no intervalo [-1,1]. Quando o valor é negativo, os resultados são despromovidos (aparecem mais abaixo nos resultados). Quando o valor é positivo, os resultados são promovidos (aparecem mais acima nos resultados).CONDITION
: uma expressão de filtro de texto para selecionar os documentos aos quais o aumento se aplica. O filtro tem de ser avaliado como um valor booleano. Para saber mais sobre o aumento da pesquisa estruturada, consulte o artigo Aumente os resultados da pesquisa.
RESULT_MODE
: determina se os resultados da pesquisa são devolvidos como documentos completos ou em partes. Para obter blocos, o repositório de dados tem de ter a divisão em blocos de documentos ativada. Os valores aceites sãodocuments
echunks
. Quando a divisão em blocos está ativada para um arquivo de dados, o valor predefinido échunks
. Caso contrário, o valor predefinido édocuments
. Para informações sobre a divisão de documentos em partes, consulte o artigo Analise e divida documentos em partes. Este campo está em pré-visualização pública. Para o usar, alterev1
parav1alpha
no comando curl.USER_PSEUDO_ID
: uma string codificada em UTF-8 que funciona como um identificador pseudonimizado exclusivo que acompanha os utilizadores. Pode ter um comprimento máximo de 128 carateres. A Google recomenda vivamente a utilização deste campo porque melhora o desempenho do modelo e a qualidade da personalização. Pode usar um cookie HTTP para este campo, que identifica de forma exclusiva um visitante num único dispositivo. Seguem-se algumas considerações importantes:- Este identificador não se altera quando o visitante inicia ou termina sessão num Website.
- Este campo não pode ser definido com o mesmo identificador para vários utilizadores. Caso contrário, o mesmo ID do utilizador pode combinar os históricos de eventos de diferentes utilizadores e degradar a qualidade do modelo.
- Este campo não pode incluir informações de identificação pessoal (PII).
- Para um determinado pedido de pesquisa ou navegação, este campo tem de ser mapeado para o campo
userPseudoId
correspondente nos eventos do utilizador.
Para mais informações, consulte
userPseudoId
.DATA_STORE_SPEC
: filtra uma loja de dados específica para pesquisar. UsedataStoreSpecs
se a sua app de pesquisa estiver associada a várias lojas de dados, mas quiser resultados de uma loja de dados específica. Para mais informações, consulte o artigo DataStoreSpec.
C#
Para mais informações, consulte a documentação de referência da API C# de aplicações de IA.
Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Java de aplicações de IA.
Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure 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 de aplicações de IA.
Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para mais informações, consulte a documentação de referência da API PHP de aplicações de IA.
Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Python de aplicações de IA.
Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Ruby
Para mais informações, consulte a documentação de referência da API Ruby de aplicações de IA.
Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Obtenha resultados da pesquisa para uma app com dados do Website (chave da API)
Se quiser autenticar a chamada do método de pesquisa com uma chave da API em vez de
usar o OAuth 2.0 através de uma conta de serviço ou uma conta de utilizador, siga este
procedimento, que usa o método searchLite
.
O método searchLite
tem as mesmas funcionalidades que o método search
, exceto que só pode ser usado para pesquisar Websites públicos.
O método searchLite
é particularmente adequado nas seguintes condições:
Tem um Website estático para o qual a configuração do OAuth 2.0 através de uma conta de serviço ou de uma conta de utilizador não é prática.
Migrou para o Vertex AI Search a partir da API Custom Search Site Restricted JSON do Motor de Pesquisa Programável.
Não quer usar o widget de pesquisa.
Antes de começar
Antes de poder chamar o método servingConfigs.searchLite
, precisa de uma chave de API. Se não tiver uma chave da API, conclua o passo 1 de Implemente a app de pesquisa (chave da API).
Procedimento
REST
Para usar a API para obter resultados da pesquisa de uma app com dados de Website públicos
autenticados com uma chave da API,
use o método engines.servingConfigs.searchLite
:
Encontre o ID da app. Se já tiver o ID da app, avance para o passo seguinte.
Na Google Cloud consola, aceda à página Aplicações de IA.
Na página Apps, encontre o nome da sua app e obtenha o ID da app na coluna ID.
Execute o seguinte comando curl para obter resultados da pesquisa:
curl -X POST -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:searchLite?key=API_KEY" \ -d '{ "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search", "query": "QUERY", "userPseudoId": "USER_PSEUDO_ID" }'
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto Google Cloud .API_KEY
: a string da chave da API.PROJECT_ID
: o ID do seu projeto Google Cloud .APP_ID
: o ID da app Vertex AI Search que quer consultar.QUERY
: o texto da consulta a pesquisar.USER_PSEUDO_ID
: uma string codificada em UTF-8 que funciona como um identificador pseudonimizado exclusivo que acompanha os utilizadores. Pode ter um comprimento máximo de 128 carateres. A Google recomenda vivamente a utilização deste campo porque melhora o desempenho do modelo e a qualidade da personalização. Pode usar um cookie HTTP para este campo, que identifica de forma exclusiva um visitante num único dispositivo. Seguem-se algumas considerações importantes:- Este identificador não se altera quando o visitante inicia ou termina sessão num Website.
- Este campo não pode ser definido com o mesmo identificador para vários utilizadores. Caso contrário, o mesmo ID do utilizador pode combinar os históricos de eventos de diferentes utilizadores e degradar a qualidade do modelo.
- Este campo não pode incluir informações de identificação pessoal (PII).
- Para um determinado pedido de pesquisa ou navegação, este campo tem de ser mapeado para o campo
userPseudoId
correspondente nos eventos do utilizador.
Para mais informações, consulte
userPseudoId
.
Python
Para mais informações, consulte a documentação de referência da API Python de aplicações de IA.
Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Obtenha resultados da pesquisa de uma app com dados estruturados ou não estruturados
Pode pré-visualizar os resultados da pesquisa a partir da Google Cloud consola ou obter resultados da pesquisa através da API.
Consola
Para usar a Google Cloud consola para pré-visualizar os resultados da pesquisa de uma app com dados estruturados ou não estruturados, siga estes passos:
- Abra a página Pré-visualização na consola.
Escreva uma consulta de pesquisa.
Se ativou o preenchimento automático, é apresentada uma lista de sugestões de preenchimento automático abaixo da barra de pesquisa à medida que escreve.
(Opcional) Se associou várias bases de dados à sua app, mas quer resultados apenas de uma base de dados específica, selecione a base de dados a partir da qual quer obter resultados.
Prima Enter para enviar a consulta.
É apresentada uma lista de resultados da pesquisa abaixo da barra de pesquisa.
Para dados estruturados, aplicam-se as seguintes condições:
Se os mapeamentos de atributos não estiverem definidos em Configurações > Configurar campos nos resultados, os resultados da pesquisa são apresentados como uma lista de nomes e valores de atributos não processados.
Se tiver sido guardado algum mapeamento de atributos em Configurações > Configurar campos nos resultados, os resultados da pesquisa são apresentados da mesma forma que na pré-visualização da página Configurações.
Se tiver sido especificada alguma faceta em Configurações > Definições de facetas, são apresentadas da mesma forma.
REST
Para usar a API para obter resultados da pesquisa de uma app com dados estruturados ou não estruturados, use o método engines.servingConfigs.search
:
Encontre o ID da app. Se já tiver o ID da app, avance para o passo seguinte.
Na Google Cloud consola, aceda à página Aplicações de IA.
Na página Apps, encontre o nome da sua app e obtenha o ID da app na coluna ID.
Receber resultados da pesquisa.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \ -d '{ "query": "QUERY", "userPseudoId": "USER_PSEUDO_ID", "pageSize": "PAGE_SIZE", "offset": "OFFSET", "orderBy": "ORDER_BY", "filter": "FILTER", "boostSpec": "BOOST_SPEC", "facetSpec": "FACET_SPEC", "queryExpansionSpec": "QUERY_EXPANSION_SPEC", "spellCorrectionSpec": "SPELL_CORRECTION_SPEC", "contentSearchSpec": "CONTENT_SEARCH_SPEC", "dataStoreSpecs": [{"DATA_STORE_SPEC"}], }'
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto Google Cloud .APP_ID
: o ID da app Vertex AI Search que quer consultar.QUERY
: o texto da consulta a pesquisar.USER_PSEUDO_ID
: uma string codificada em UTF-8 que funciona como um identificador pseudonimizado exclusivo que acompanha os utilizadores. Pode ter um comprimento máximo de 128 carateres. A Google recomenda vivamente a utilização deste campo porque melhora o desempenho do modelo e a qualidade da personalização. Pode usar um cookie HTTP para este campo, que identifica de forma exclusiva um visitante num único dispositivo. Seguem-se algumas considerações importantes:- Este identificador não se altera quando o visitante inicia ou termina sessão num Website.
- Este campo não pode ser definido com o mesmo identificador para vários utilizadores. Caso contrário, o mesmo ID do utilizador pode combinar os históricos de eventos de diferentes utilizadores e degradar a qualidade do modelo.
- Este campo não pode incluir informações de identificação pessoal (PII).
- Para um determinado pedido de pesquisa ou navegação, este campo tem de ser mapeado para o campo
userPseudoId
correspondente nos eventos do utilizador.
Para mais informações, consulte
userPseudoId
.PAGE_SIZE
: o número de resultados devolvidos pela pesquisa. O tamanho máximo permitido da página depende do tipo de dados. Os tamanhos das páginas acima do valor máximo são forçados para o valor máximo.- Websites com indexação básica: predefinição
10
, máximo25
- Websites com indexação avançada: predefinição
25
, máximo50
- Outro: predefinição
50
, máximo100
- Websites com indexação básica: predefinição
OFFSET
: opcional. O índice inicial dos resultados. O valor predefinido é 0.Por exemplo, se o desvio for 2, o tamanho da página for 10 e houver 15 resultados a devolver, os resultados 2 a 11 são devolvidos na primeira página.
ORDER_BY
: opcional. A ordem pela qual os resultados são organizados.FILTER
: opcional. Um campo de texto para filtrar a pesquisa com uma expressão de filtro. O valor predefinido é uma string vazia, o que significa que não é aplicado nenhum filtro.Exemplo:
color: ANY("red", "blue") AND score: IN(*, 100.0e)
Para mais informações, consulte o artigo Filtre a pesquisa de dados estruturados ou não estruturados.
BOOST_SPEC
: opcional. Uma especificação para realçar ou ocultar documentos. Valores:BOOST
: um número de vírgula flutuante no intervalo [-1,1]. Quando o valor é negativo, os resultados são despromovidos (aparecem mais abaixo nos resultados). Quando o valor é positivo, os resultados são promovidos (aparecem mais acima nos resultados).CONDITION
: uma expressão de filtro de texto para selecionar os documentos aos quais o aumento se aplica. O filtro tem de ser avaliado como um valor booleano.
Para saber mais sobre o aumento da pesquisa estruturada, consulte o artigo Aumente os resultados da pesquisa.
FACET_SPEC
: opcional. Uma especificação de faceta para realizar uma pesquisa com filtros.QUERY_EXPANSION_SPEC
: opcional. Uma especificação para determinar em que condições deve ocorrer a expansão de consultas. Predefinição éDISABLED
.SPELL_CORRECTION_SPEC
: opcional. Uma especificação para determinar em que condições deve ocorrer a correção ortográfica. Predefinição éAUTO
.CONTENT_SEARCH_SPEC
: opcional. Para obter fragmentos, respostas extrativas, segmentos extrativos e resumos de pesquisa. Apenas para dados não estruturados. Para mais informações, consulte:DATA_STORE_SPEC
: filtra uma loja de dados específica para pesquisar. Isto pode ser usado se a sua app de pesquisa estiver associada a vários repositórios de dados.Visualizar resultados da pesquisa guiada na resposta de pesquisa:
Os resultados da pesquisa guiada são devolvidos com as respostas da pesquisa para a pesquisa estruturada e não estruturada. O resultado da pesquisa guiada contém uma lista de pares de chave-valor de atributos extraídos com base nos documentos de resultados da pesquisa. Isto permite aos utilizadores refinar os resultados da pesquisa através da utilização de algumas chaves de atributos e valores como filtros.
Nesta resposta de exemplo, a cor verde foi usada para refinar os resultados da pesquisa através da emissão de um novo pedido de pesquisa com o campo de filtro especificado como
_gs.color: ANY("green")
:{ "guidedSearchResult": { "refinementAttributes": [ { "attributeKey": "_gs.color", "attributeValue" : "green" }, { "attributeKey": "_gs.category", "attributeValue" : "shoe" } ] } }
C#
Para mais informações, consulte a documentação de referência da API C# de aplicações de IA.
Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Java de aplicações de IA.
Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure 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 de aplicações de IA.
Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para mais informações, consulte a documentação de referência da API PHP de aplicações de IA.
Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Python de aplicações de IA.
Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Ruby
Para mais informações, consulte a documentação de referência da API Ruby de aplicações de IA.
Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Obtenha classificações de relevância de documentos com os resultados da pesquisa
As pontuações de relevância do documento baseiam-se na semelhança da consulta com o documento. As pontuações são colocadas em 11 contentores no intervalo: 0, 0,1, 0,2, … a 1,0. Quanto mais elevada for a pontuação, mais relevante é o documento.
Considere as pontuações de relevância dos documentos para estes exemplos de utilização:
Filtragem pós-pesquisa com base na pontuação de relevância para remover resultados irrelevantes
Classificação pós-pesquisa ou como entrada para outras aplicações
Depuração: as classificações de relevância podem fornecer informações sobre o motivo pelo qual alguns resultados da pesquisa são devolvidos
Para cada resultado da pesquisa, pode ser devolvida uma classificação de relevância:
"results": [ { "id": "DOCUMENT_ID", "document": { ... }, "modelScores": { "relevance_score": { "values": [ DOCUMENT-RELEVANCE-SCORE ] } } }, ... ]
Consulte também o comando de exemplo no procedimento abaixo.
Antes de começar: certifique-se de que a app de pesquisa está associada a um arquivo de dados estruturados ou não estruturados. Ou seja, não é possível devolver pontuações de relevância do documento para a app de pesquisa de Websites.
REST
Para pedir que as classificações de relevância dos documentos sejam devolvidas com os resultados da pesquisa, use o método engines.servingConfigs.search
da seguinte forma:
Encontre o ID da app. Se já tiver o ID da app, avance para o passo seguinte.
Na Google Cloud consola, aceda à página Aplicações de IA.
Na página Apps, encontre o nome da sua app e obtenha o ID da app na coluna ID.
Execute o seguinte comando curl para obter as classificações devolvidas com os resultados da pesquisa.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \ -d '{ "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search", "query": "QUERY", "relevanceScoreSpec": { "returnRelevanceScore": true } }'
PROJECT_ID
: o ID do seu projeto Google Cloud .APP_ID
: o ID da app Vertex AI Search que quer consultar.QUERY
: o texto da consulta a pesquisar.
O resumo da pesquisa difere consoante o modelo
Se gerar resumos de pesquisa para as suas consultas, pode reparar que os resumos diferem entre os resultados da consola e os resultados da API. Se vir esta mensagem, o motivo provável é que a consola está a usar um modelo de MDG diferente do da API. Os exemplos de curl e código nesta página usam o modelo de GML estável.
Para alterar ou ver o modelo de MDG usado na página Pré-visualização da IU (apenas suportado para aplicações de pesquisa avançada e aplicações de cuidados de saúde).
- Aceda à página Configurações da sua app > separador IU.
Selecione um Tipo de pesquisa:
- Selecione Pesquisar com uma resposta para apresentar um resumo generativo acima dos resultados da pesquisa.
- Selecione Pesquisar com seguimentos para ativar a pesquisa por conversa com resumos generativos e perguntas de seguimento.
Na secção Modelos de linguagem (conteúdo extenso) para geração de resumos, selecione um modelo.
Para chamadas de métodos, o modelo estável é o modelo predefinido. Para usar um modelo de MDG diferente do modelo estável, consulte os artigos Especifique o modelo de resumo e Especifique o modelo de resposta.
Passos seguintes
Use a API de pesquisa para procurar dados nas suas apps de pesquisa genéricas.