Cette page explique comment prévisualiser les résultats de recherche à l'aide de la console Google Cloud et comment obtenir des résultats de recherche à l'aide de l'API.
De plus, au lieu de créer un widget de recherche à ajouter à votre page Web, vous pouvez effectuer des appels d'API et les intégrer à votre serveur ou à votre application. Cette page inclut des exemples de code montrant comment effectuer des requêtes de recherche à l'aide des bibliothèques clientes gRPC avec un compte de service.
Obtenir des résultats de recherche pour une application avec des données de site Web
Console
Pour utiliser la console Google Cloud afin de prévisualiser les résultats de recherche pour une application avec des données de site Web, procédez comme suit :
Dans la console Google Cloud , accédez à la page AI Applications.
Cliquez sur le nom de l'application que vous souhaitez modifier.
Cliquez sur Aperçu.
Ouvrez la page Aperçu dans la console.
Facultatif : Si vous avez associé plusieurs data stores à votre application, mais que vous ne souhaitez obtenir des résultats que d'un data store spécifique, sélectionnez-le.
Saisissez une requête de recherche.
Si vous avez activé la saisie semi-automatique, une liste de suggestions s'affiche sous la barre de recherche à mesure que vous tapez.
Appuyez sur Entrée pour envoyer la requête.
- Une liste de résultats de recherche s'affiche sous la barre de recherche.
- Chaque résultat contient un titre, un extrait et une URL.
- Cliquez sur un résultat pour ouvrir l'URL correspondante.
- Si les fonctionnalités LLM avancées sont activées pour l'application, une réponse générée peut également s'afficher.
REST
Pour utiliser l'API afin d'obtenir des résultats de recherche pour une application avec des données de site Web, utilisez la méthode engines.servingConfigs.search
:
Trouvez l'ID de votre application. Si vous avez déjà votre ID d'application, passez à l'étape suivante.
Dans la console Google Cloud , accédez à la page AI Applications.
Sur la page Applications, recherchez le nom de votre application et récupérez son ID dans la colonne ID.
obtenir des résultats de recherche ;
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" }, "dataStoreSpecs": [{"DATA_STORE_SPEC"}] }'
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet Google Cloud .APP_ID
: ID de l'application Vertex AI Search que vous souhaitez interroger.QUERY
: texte de la requête à rechercher.PAGE_SIZE
: nombre de résultats renvoyés par la recherche. La taille de page maximale autorisée dépend du type de données. Les tailles de page supérieures à la valeur maximale sont ramenées à cette valeur.- Sites Web avec indexation de base :
10
par défaut,25
maximum - Sites Web avec indexation avancée :
25
par défaut,50
maximum - Autre :
50
par défaut,100
au maximum
- Sites Web avec indexation de base :
OFFSET
: index de départ des résultats. La valeur par défaut est 0.Par exemple, si le décalage est de 2, la taille de la page est de 10 et qu'il y a 15 résultats à renvoyer, les résultats 2 à 12 sont renvoyés sur la première page.
ORDER_BY
: ordre dans lequel les résultats sont organisés. L'attribut sur lequel effectuer le tri doit avoir une interprétation numérique, par exempledate
. Pour en savoir plus, consultez Trier les résultats de recherche sur le Web.USER_COUNTRY_CODE
: emplacement de l'utilisateur. Cette paire clé/valeur est la seule entrée acceptée pour le champ de carteparams
. La valeur par défaut est vide. Pour connaître les valeurs acceptables, consultez Codes de pays dans la documentation de référence de l'API Programmable Search Engine JSON.SEARCH_TYPE
: type de recherche à effectuer. La valeur par défaut est 0 pour la recherche de documents. L'autre valeur acceptée est "1" pour la recherche d'images.FILTER
: champ de texte permettant de filtrer votre recherche à l'aide d'une expression de filtre. La valeur par défaut de cet attribut est une chaîne vide. Pour en savoir plus sur l'utilisation du champfilter
, consultez Filtrer la recherche sur le site Web.BOOST_SPEC
: Facultatif. Spécification permettant de mettre en avant ou d'enterrer des documents. Valeurs :BOOST
: nombre à virgule flottante compris dans la plage [-1,1]. Lorsque la valeur est négative, les résultats sont rétrogradés (ils apparaissent plus bas dans les résultats). Lorsque la valeur est positive, les résultats sont mis en avant (ils apparaissent plus haut dans les résultats).CONDITION
: expression de filtre de texte permettant de sélectionner les documents auxquels le boost est appliqué. Le filtre doit renvoyer une valeur booléenne. Pour en savoir plus sur l'optimisation de la recherche structurée, consultez Optimiser les résultats de recherche.
RESULT_MODE
: détermine si les résultats de recherche sont renvoyés sous forme de documents complets ou par blocs. Pour obtenir des blocs, le data store doit avoir activé le découpage des documents. Les valeurs acceptées sontdocuments
etchunks
. Lorsque le chunking est activé pour un data store, la valeur par défaut estchunks
. Sinon, la valeur par défaut estdocuments
. Pour en savoir plus sur le découpage des documents, consultez Analyser et découper des documents. Ce champ est en preview publique. Pour l'utiliser, remplacezv1
parv1alpha
dans la commande curl.DATA_STORE_SPEC
: filtres pour un datastore spécifique dans lequel effectuer la recherche. UtilisezdataStoreSpecs
si votre application de recherche est connectée à plusieurs data stores, mais que vous souhaitez obtenir des résultats à partir d'un data store spécifique. Pour en savoir plus, consultez DataStoreSpec.
C#
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications C#.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Java.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Node.js.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications PHP.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Python.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Ruby.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Obtenir des résultats de recherche pour une application avec des données de site Web (clé API)
Si vous souhaitez authentifier l'appel de la méthode de recherche avec une clé API au lieu d'utiliser OAuth 2.0 via un compte de service ou un compte utilisateur, suivez cette procédure, qui utilise la méthode searchLite
.
La méthode searchLite
possède les mêmes fonctionnalités que la méthode search
, sauf qu'elle ne peut être utilisée que pour rechercher des sites Web publics.
La méthode searchLite
est particulièrement adaptée dans les cas suivants :
Vous disposez d'un site Web statique pour lequel la configuration d'OAuth 2.0 via un compte de service ou un compte utilisateur n'est pas pratique.
Vous avez migré vers Vertex AI Search depuis l'API JSON Custom Search Site Restricted de Programmable Search Engine.
Vous ne souhaitez pas utiliser le widget Recherche.
Avant de commencer
Avant de pouvoir appeler la méthode servingConfigs.searchLite
, vous avez besoin d'une clé API. Si vous ne disposez pas de clé API, suivez l'étape 1 de la section Déployer l'application de recherche (clé API).
Procédure
REST
Pour utiliser l'API afin d'obtenir des résultats de recherche pour une application avec des données de site Web public authentifiées avec une clé API, utilisez la méthode engines.servingConfigs.searchLite
:
Trouvez l'ID de votre application. Si vous avez déjà votre ID d'application, passez à l'étape suivante.
Dans la console Google Cloud , accédez à la page AI Applications.
Sur la page Applications, recherchez le nom de votre application et récupérez son ID dans la colonne ID.
Exécutez la commande curl suivante pour obtenir des résultats de recherche :
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", }'
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet Google Cloud .API_KEY
: chaîne de votre clé API.PROJECT_ID
: ID de votre projet Google Cloud .APP_ID
: ID de l'application Vertex AI Search que vous souhaitez interroger.QUERY
: texte de la requête à rechercher.
Python
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Python.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Obtenir des résultats de recherche pour une application avec des données structurées ou non structurées
Vous pouvez prévisualiser les résultats de recherche depuis la console Google Cloud ou les obtenir à l'aide de l'API.
Console
Pour prévisualiser les résultats de recherche d'une application avec des données structurées ou non structurées à l'aide de la console Google Cloud , procédez comme suit :
- Ouvrez la page Aperçu dans la console.
Saisissez une requête de recherche.
Si vous avez activé la saisie semi-automatique, une liste de suggestions s'affiche sous la barre de recherche à mesure que vous tapez.
(Facultatif) Si vous avez associé plusieurs data stores à votre application, mais que vous ne souhaitez obtenir des résultats que d'un data store spécifique, sélectionnez-le.
Appuyez sur Entrée pour envoyer la requête.
Une liste de résultats de recherche s'affiche sous la barre de recherche.
Pour les données structurées :
Si les mappages d'attributs ne sont pas définis dans Configurations > Configurer les champs dans les résultats, les résultats de recherche s'affichent sous la forme d'une liste de noms et de valeurs d'attributs bruts.
Si des mappages d'attributs ont été enregistrés dans Configurations > Configurer les champs dans les résultats, les résultats de recherche s'affichent de la même manière que dans l'aperçu de la page Configurations.
Si des facettes ont été spécifiées dans Configurations > Paramètres des facettes, elles s'affichent de la même manière.
REST
Pour utiliser l'API afin d'obtenir des résultats de recherche pour une application basée sur des données structurées ou non structurées, utilisez la méthode engines.servingConfigs.search
:
Trouvez l'ID de votre application. Si vous avez déjà votre ID d'application, passez à l'étape suivante.
Dans la console Google Cloud , accédez à la page AI Applications.
Sur la page Applications, recherchez le nom de votre application et récupérez son ID dans la colonne ID.
obtenir des résultats de recherche ;
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"}], }'
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet Google Cloud .PROJECT_ID
: ID de votre projet Google Cloud .APP_ID
: ID de l'application Vertex AI Search que vous souhaitez interroger.QUERY
: texte de la requête à rechercher.USER_PSEUDO_ID
: Facultatif. Il s'agit d'un identifiant pseudonymisé permettant de suivre un visiteur de recherche. Google vous recommande vivement d'utiliser ce champ, car il améliore les performances du modèle et la qualité de la personnalisation. Vous pouvez utiliser un cookie HTTP pour ce champ, qui identifie de manière unique un visiteur sur un seul appareil. Cet identifiant ne change pas lorsque le visiteur se connecte ou se déconnecte d'un site Web. Ne définissez pas ce champ sur le même identifiant pour plusieurs utilisateurs, car cela combinerait leurs historiques d'événements et dégraderait la qualité du modèle. N'incluez pas d'informations permettant d'identifier personnellement l'utilisateur dans ce champ.PAGE_SIZE
: nombre de résultats renvoyés par la recherche. La taille de page maximale autorisée dépend du type de données. Les tailles de page supérieures à la valeur maximale sont ramenées à la valeur maximale.- Sites Web avec indexation de base :
10
par défaut,25
maximum - Sites Web avec indexation avancée :
25
par défaut,50
maximum - Autre :
50
par défaut,100
au maximum
- Sites Web avec indexation de base :
OFFSET
: Facultatif. Index de départ des résultats. La valeur par défaut est 0.Par exemple, si le décalage est de 2, la taille de la page est de 10 et qu'il y a 15 résultats à renvoyer, les résultats 2 à 11 sont renvoyés sur la première page.
ORDER_BY
: Facultatif. Ordre dans lequel les résultats sont organisés.FILTER
: Facultatif. Champ de texte permettant de filtrer votre recherche à l'aide d'une expression de filtre. La valeur par défaut est une chaîne vide, ce qui signifie qu'aucun filtre n'est appliqué.Exemple :
color: ANY("red", "blue") AND score: IN(*, 100.0e)
Pour en savoir plus, consultez Filtrer la recherche de données structurées ou non structurées.
BOOST_SPEC
: Facultatif. Spécification permettant de mettre en avant ou d'enterrer des documents. Valeurs :BOOST
: nombre à virgule flottante compris dans la plage [-1,1]. Lorsque la valeur est négative, les résultats sont rétrogradés (ils apparaissent plus bas dans les résultats). Lorsque la valeur est positive, les résultats sont mis en avant (ils apparaissent plus haut dans les résultats).CONDITION
: expression de filtre de texte permettant de sélectionner les documents auxquels le boost est appliqué. Le filtre doit renvoyer une valeur booléenne.
Pour en savoir plus sur l'optimisation de la recherche structurée, consultez Optimiser les résultats de recherche.
FACET_SPEC
: Facultatif. Spécification d'attributs pour effectuer une recherche par attributs.QUERY_EXPANSION_SPEC
: Facultatif. Spécification permettant de déterminer dans quelles conditions l'expansion de requête doit avoir lieu. La valeur par défaut estDISABLED
.SPELL_CORRECTION_SPEC
: Facultatif. Spécification permettant de déterminer dans quelles conditions la correction orthographique doit avoir lieu. La valeur par défaut estAUTO
.CONTENT_SEARCH_SPEC
: Facultatif. Pour obtenir des extraits, des réponses extractives, des segments extractifs et des résumés de recherche. Pour les données non structurées uniquement. Pour en savoir plus, consultez les pages suivantes :DATA_STORE_SPEC
: filtres pour un data store spécifique dans lequel effectuer la recherche. Vous pouvez utiliser cette option si votre application de recherche est associée à plusieurs data stores.Afficher les résultats de la recherche guidée dans la réponse à la recherche :
Les résultats de recherche guidée sont renvoyés avec les réponses de recherche pour les recherches structurées et non structurées. Le résultat de la recherche guidée contient une liste de paires clé/valeur d'attributs extraites en fonction des documents de résultats de recherche. Cela permet aux utilisateurs d'affiner leurs résultats de recherche en utilisant certaines clés et valeurs d'attributs comme filtres.
Dans cet exemple de réponse, la couleur verte a été utilisée pour affiner les résultats de recherche en envoyant une nouvelle requête de recherche avec le champ de filtre spécifié comme
_gs.color: ANY("green")
:{ "guidedSearchResult": { "refinementAttributes": [ { "attributeKey": "_gs.color", "attributeValue" : "green" }, { "attributeKey": "_gs.category", "attributeValue" : "shoe" } ] } }
C#
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications C#.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Java.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Node.js.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications PHP.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Python.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Ruby.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Obtenir des scores de pertinence des documents avec les résultats de recherche
Les scores de pertinence des documents sont basés sur la similarité entre la requête et le document. Les scores sont répartis dans 11 buckets compris entre 0 et 1 (0, 0,1, 0,2, …, 1). Plus le score est élevé, plus le document est pertinent.
Voici quelques exemples de cas d'utilisation pour lesquels les scores de pertinence des documents sont utiles :
Filtrage post-recherche basé sur le score de pertinence pour supprimer les résultats non pertinents
Classement post-recherche ou en tant qu'entrée pour d'autres applications
Débogage : les scores de pertinence peuvent vous aider à comprendre pourquoi certains résultats de recherche sont renvoyés.
Pour chaque résultat de recherche, un score de pertinence peut être renvoyé :
"results": [ { "id": "DOCUMENT_ID", "document": { ... }, "modelScores": { "relevance_score": { "values": [ DOCUMENT-RELEVANCE-SCORE ] } } }, ...
Consultez également l'exemple de commande dans la procédure ci-dessous.
Avant de commencer : assurez-vous que l'application de recherche est associée à un data store structuré ou non structuré. En d'autres termes, les scores de pertinence des documents ne peuvent pas être renvoyés pour l'application de recherche sur le site Web.
REST
Pour demander que les scores de pertinence des documents soient renvoyés avec les résultats de recherche, utilisez la méthode engines.servingConfigs.search
comme suit :
Trouvez l'ID de votre application. Si vous avez déjà votre ID d'application, passez à l'étape suivante.
Dans la console Google Cloud , accédez à la page AI Applications.
Sur la page Applications, recherchez le nom de votre application et récupérez son ID dans la colonne ID.
Exécutez la commande curl suivante pour obtenir les scores renvoyés avec les résultats de recherche.
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
: ID de votre projet Google Cloud .APP_ID
: ID de l'application Vertex AI Search que vous souhaitez interroger.QUERY
: texte de la requête à rechercher.
La synthèse de recherche varie selon le modèle
Si vous générez des résumés de recherche pour vos requêtes, vous remarquerez peut-être que les résumés diffèrent entre les résultats de la console et ceux de l'API. Si vous voyez ce message, la raison probable est que la console utilise un modèle LLM différent de celui de l'API. Les exemples de code et curl de cette page utilisent le modèle LLM stable.
Pour modifier ou afficher le modèle LLM utilisé sur la page Aperçu de l'UI (uniquement compatible avec les applications de recherche avancée et de santé)
- Accédez à la page Configurations de votre application > onglet UI.
Sélectionnez un type de recherche :
- Sélectionnez Rechercher avec une réponse pour afficher un résumé génératif au-dessus des résultats de recherche.
- Sélectionnez Recherche avec questions complémentaires pour activer la recherche conversationnelle avec résumés génératifs et questions complémentaires.
Dans la section Grands modèles de langage pour la synthèse, sélectionnez un modèle.
Pour les appels de méthode, le modèle stable est le modèle par défaut. Pour utiliser un modèle LLM autre que le modèle stable, consultez Spécifier le modèle de synthèse et Spécifier le modèle de réponse.
Étapes suivantes
Utilisez l'API Search pour parcourir les données dans vos applications de recherche générique.