Cette page décrit la fonctionnalité de saisie semi-automatique de base de Vertex AI Search. La saisie semi-automatique génère des suggestions de requête basées sur les premiers caractères saisi pour la requête.
Les suggestions générées par la saisie semi-automatique varient en fonction du type de données utilisé par l'application de recherche :
Données structurées et non structurées Par défaut, la saisie semi-automatique génère des suggestions basées sur le contenu des documents dans le data store. Après l'importation de documents, par défaut, la saisie semi-automatique ne commence à générer de suggestions qu'une fois que suffisamment de données de qualité sont disponibles, généralement au bout de quelques jours. Si vous envoyez des requêtes de saisie semi-automatique via l'API, la saisie semi-automatique peut générer des suggestions basées sur l'historique de recherche ou les événements utilisateur.
Données sur le site Web : Par défaut, la saisie semi-automatique génère des suggestions de l'historique des recherches. La saisie semi-automatique nécessite un véritable trafic de recherche. Après le trafic de recherche commence, la saisie semi-automatique prend un ou deux jours des suggestions. Des suggestions peuvent être générées à partir de données explorées sur le Web à partir de sites publics avec le modèle de données de documents avancé expérimental.
Données de santé Par défaut, une source de données médicales canonique est utilisée pour générer des suggestions de saisie semi-automatique pour les data stores de santé. Pour la recherche dans le secteur de la santé, la saisie semi-automatique est une fonctionnalité en preview.
Le modèle de données de saisie semi-automatique détermine le type de données utilisé par la saisie semi-automatique pour générer des suggestions. Il existe quatre modèles de saisie semi-automatique :
Document. Le modèle de document génère des suggestions à partir de les documents importés par l'utilisateur. Ce modèle n'est pas disponible pour les données de site Web ni pour les données de santé.
Champs à compléter. Le modèle de champs à compléter suggère du texte extrait directement des champs de données structurées. Seuls les champs annotés avec
completable
sont utilisés pour les suggestions de saisie semi-automatique. Ce modèle n'est disponible que pour les données structurées.Historique des recherches. Le modèle d'historique des recherches génère des suggestions à partir de l'historique des appels d'API
SearchService.search
. N'utilisez pas ce modèle si aucun trafic n'est disponible pour la méthodeservingConfigs.search
. Ce modèle n'est pas disponibles pour les données de santé.Événement utilisateur. Le modèle d'événement utilisateur génère des suggestions à partir des événements de recherche importés par l'utilisateur. Ce modèle n'est pas disponibles pour les données de santé.
Les requêtes Autocomplete sont envoyées à l'aide de la méthode
dataStores.completeQuery
.
Le tableau suivant indique les types de modèles de saisie semi-automatique disponibles pour chaque type de données.
Modèle de données de saisie semi-automatique |
Source de données |
Site Web données |
Structuré données |
Non structurées données |
---|---|---|---|---|
Document | Importé par l'utilisateur | ✔* (par défaut) | ✔ (par défaut) | |
À compléter champs | Importé par utilisateur | ✔ | ||
Historique des recherches | Automatiquement collectées | ✔ (par défaut) | ✔ | ✔ |
Événements utilisateur | Importés par l'utilisateur ou collectés automatiquement par le widget | ✔ | ✔ | ✔ |
Explorée sur le Web contenu | Analyse du contenu des sites Web publics spécifiés par l'utilisateur | ✔† |
* : Le schéma de document doit contenir des champs title
ou description
, ou des champs qui ont été spécifiés comme propriétés de clé title
ou description
. Consultez Mettre à jour un schéma pour les données structurées.
† : Le contenu exploré sur le Web ne peut être utilisé comme source de données que si le modèle de données de document avancé expérimental pour la saisie semi-automatique est activé. Consultez le modèle de données de document avancé.
Si vous ne souhaitez pas utiliser le modèle par défaut pour votre type de données, vous pouvez spécifier un autre modèle lorsque vous envoyez votre requête de saisie semi-automatique. Saisie semi-automatique
sont envoyées à l'aide de la méthode dataStores.completeQuery
. Pour
consultez la section Instructions pour l'API: Envoyer une requête de saisie semi-automatique pour choisir un
modèle différent.
Fonctionnalités de saisie semi-automatique
Vertex AI Search prend en charge les fonctionnalités de saisie semi-automatique suivantes pour vous montrer les prédictions les plus utiles lors de la recherche:
Caractéristique | Description | Exemple ou informations supplémentaires |
---|---|---|
Supprimer les caractères spéciaux | Supprimez les caractères non standards des données de suggestion et des requêtes saisies. Le tiret - est le seul caractère standard conservé dans les données de suggestion et dans les requêtes saisies.
|
Mt. Everest & Mt. Kilimanjaro → Mt Everest Mt Kilimanjaro . |
Corriger les fautes de frappe | Corriger les fautes d'orthographe | Milc → Milk .
|
Supprimer les termes dangereux |
|
Texte choquant, comme du contenu pornographique, à caractère sexuel, vulgaire ou violent |
Liste de refus |
|
Pour en savoir plus, consultez Utiliser la saisie semi-automatique pour les listes de blocage. |
Dédupliquer les termes |
|
Shoes for Women , Womens Shoes et Womans Shoes sont dédupliqués,
et seule la plus populaire est suggérée. |
Suggestions de correspondances de queue |
|
Pour en savoir plus, consultez Suggestions de correspondances de la queue. |
Suggestions de correspondances de queue
Les suggestions de correspondance en fin de chaîne sont générées à l'aide d'une correspondance exacte de préfixe avec le dernier mot d'une chaîne de requête.
Par exemple, dites "chansons avec lui" est envoyé dans une requête de saisie semi-automatique. Lorsque la correspondance de queue est activée, la saisie semi-automatique peut déterminer que le préfixe complet "chansons avec lui" n'a aucune correspondance. Toutefois, le dernier mot de la requête, "il", présente une correspondance exacte de préfixe avec "hello world" et "hello kitty". Dans ce les suggestions renvoyées sont "chansons avec hello world". et "chansons avec bonjour chaton » car aucune suggestion de correspondance complète n'est proposée.
Vous pouvez utiliser cette fonctionnalité pour réduire le nombre de suggestions vides et augmenter la diversité des suggestions, ce qui est particulièrement utile lorsque les sources de données (nombre d'événements utilisateur, historique des recherches et couverture des documents) est limitée. Toutefois, l'activation des suggestions de correspondance finale peut réduire la qualité globale des suggestions. Étant donné que la correspondance de fin ne correspond qu'au dernier mot du préfixe, certaines suggestions renvoyées peuvent ne pas avoir de sens. Par exemple, une requête telle que "chansons avec lui" peut recevoir une suggestion de correspondance de queue telle que "chansons avec assistants" "guides de référence".
Les suggestions de correspondance de fin ne sont renvoyées que si :
include_tail_suggestions
est défini surtrue
dans la requêtedataStores.completeQuery
.Aucune suggestion de correspondance de préfixe complète pour la requête.
Activer ou désactiver la saisie semi-automatique pour un widget
Pour activer ou désactiver la saisie semi-automatique pour un widget, procédez comme suit:
Console
Dans la console Google Cloud, accédez à la page Agent Builder.
Cliquez sur le nom de l'application que vous souhaitez modifier.
Cliquez sur Configurations.
Cliquez sur l'onglet UI (Interface utilisateur).
Activez l'option Afficher les suggestions de saisie semi-automatique pour activer la saisie semi-automatique. des suggestions pour le widget. Lorsque vous activez la saisie semi-automatique, vous devrez peut-être attendre un ou deux jours avant que les suggestions ne commencent. Santé la saisie semi-automatique est une fonctionnalité en preview.
Modifier les paramètres de saisie semi-automatique
Pour configurer les paramètres de saisie semi-automatique, procédez comme suit:
Console
Dans la console Google Cloud, accédez à la page Agent Builder.
Cliquez sur le nom de l'application que vous souhaitez modifier.
Cliquez sur Configurations.
Cliquez sur l'onglet Saisie semi-automatique.
Saisissez ou sélectionnez de nouvelles valeurs pour les paramètres de saisie semi-automatique que vous souhaitez mettre à jour :
- Nombre maximal de suggestions : nombre maximal de suggestions de saisie semi-automatique pouvant être proposées pour une requête.
- Longueur minimale pour déclencher : nombre minimal de caractères que vous pouvez saisir avant que des suggestions de saisie semi-automatique ne soient proposées.
- Ordre de correspondance : emplacement dans une chaîne de requête à partir duquel la saisie semi-automatique peut commencer à faire correspondre ses suggestions.
- Modèle de saisie automatique : modèle de données de saisie automatique utilisé pour générer les suggestions récupérées. Vous pouvez remplacer cette valeur dans
dataStores.completeQuery
à l'aide du paramètrequeryModel
. Activer la saisie semi-automatique: par défaut, la saisie semi-automatique ne commence pas jusqu'à ce qu'il dispose de données de qualité suffisante, généralement jours. Si vous souhaitez remplacer cette valeur par défaut et commencer à obtenir suggestions de saisie semi-automatique plus tôt, sélectionnez Maintenant.
Même si vous sélectionnez Maintenant, la génération de suggestions peut prendre une journée. Certaines suggestions de saisie semi-automatique seront toujours manquantes ou de mauvaise qualité tant que vous n'aurez pas suffisamment de données de qualité.
Cliquez sur Enregistrer et publier. Les modifications prennent effet en quelques minutes pour les moteurs où la saisie semi-automatique est déjà activée.
Mettre à jour les annotations de champ completable dans le schéma
Pour activer la saisie semi-automatique pour les champs du schéma de données structurées, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Agent Builder.
Cliquez sur le nom de l'application que vous souhaitez modifier. Il doit utiliser des données structurées.
Cliquez sur Data (Données).
Cliquez sur l'onglet Schéma.
Cliquez sur Modifier pour sélectionner les champs du schéma à marquer comme
completable
.Cliquez sur Enregistrer pour enregistrer les configurations des champs mises à jour. Ces suggestions prennent environ une journée à générer et à renvoyer.
Envoyer des requêtes de saisie semi-automatique
Les exemples suivants montrent comment envoyer des requêtes de saisie semi-automatique.
REST
Pour envoyer une requête de saisie semi-automatique à l'aide de l'API, procédez comme suit :
Recherchez l'ID de votre data store. Si vous disposez déjà de l'ID de votre data store, passez à l'étape suivante.
Dans la console Google Cloud, accédez à la page Agent Builder. Dans le menu de navigation, cliquez sur Data stores (Magasins de données).
Cliquez sur le nom de votre data store.
Sur la page Données de votre data store, obtenez l'ID du data store.
Appelez la méthode
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: numéro ou ID de projet projet Google Cloud.
LOCATION : emplacement de votre entrepôt de données :
us
,eu
ouglobal
.DATA_STORE_ID: ID du data store associé avec votre application.
QUERY_STRING : entrée de saisie semi-automatique utilisée pour extraire des suggestions.
Envoyer une requête de saisie semi-automatique à un autre modèle
Pour envoyer une requête de saisie semi-automatique avec un autre modèle de données de saisie semi-automatique, procédez comme suit :
Recherchez votre ID de data store. Si vous disposez déjà de l'ID de votre data store, passez à l'étape suivante.
Dans la console Google Cloud, accédez à la page Agent Builder. Dans le menu de navigation, cliquez sur Data stores (Magasins de données).
Cliquez sur le nom de votre data store.
Sur la page Données de votre data store, obtenez l'ID du data store.
Appelez la méthode
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 : numéro ou ID de votre projet Google Cloud.
- LOCATION : emplacement de votre data store (
us
,eu
ou)global
- DATA_STORE_ID : ID unique du magasin de données associé à votre application.
- QUERY_STRING : entrée de saisie semi-automatique utilisée pour extraire des suggestions.
- AUTOCOMPLETE_MODEL: données de la saisie semi-automatique
à utiliser pour la requête:
document
,document-completable
,search-history
ouuser-event
. Pour les données de santé, utilisezhealthcare-default
.
C#
Pour en savoir plus, consultez la documentation de référence de l'API C# Vertex AI Agent Builder.
Pour vous authentifier auprès de Vertex AI Agent Builder, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Go Vertex AI Agent Builder.
Pour vous authentifier auprès de Vertex AI Agent Builder, configurez le service 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 les API Java de Vertex AI Agent Builder documentation de référence.
Pour vous authentifier auprès de Vertex AI Agent Builder, configurez le service 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 Node.js Vertex AI Agent Builder.
Pour vous authentifier auprès de Vertex AI Agent Builder, configurez le service 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 Python Vertex AI Agent Builder.
Pour vous authentifier auprès de Vertex AI Agent Builder, 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 Ruby Vertex AI Agent Builder.
Pour vous authentifier auprès de Vertex AI Agent Builder, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Utiliser une liste de blocage pour la saisie semi-automatique
Vous pouvez utiliser une liste de blocage pour empêcher des termes spécifiques d'apparaître dans la saisie semi-automatique des suggestions.
Prenons l'exemple d'une entreprise pharmaceutique. Si un médicament n'est plus approuvé par la FDA, mais qu'il est mentionné dans des documents de son entrepôt de données, il peut souhaiter empêcher ce médicament d'apparaître en tant que requête suggérée. L’entreprise vous pourriez ajouter le nom du médicament à une liste de blocage pour l'empêcher a été suggéré.
Les limites suivantes s'appliquent :
- Une liste de blocage par magasin de données
- L'importation d'une liste de blocage remplace toute liste de blocage existante pour ce data store
- Jusqu'à 1 000 termes par liste de blocage
- Les termes ne sont pas sensibles à la casse.
- Une fois qu'une liste de blocage a été importée, elle prend effet dans un délai de 1 à 2 jours.
Chaque entrée de votre liste de blocage se compose d'un blockPhrase
et d'un matchOperator
:
blockPhrase
: saisissez une chaîne comme terme de la liste de blocage. Les termes ne sont pas sensibles à la casse.matchOperator
: accepte les valeurs suivantes :EXACT_MATCH
: empêche une correspondance exacte du terme de la liste de blocage d'apparaître en tant que requête suggérée.CONTAINS
: empêche l'affichage de toute suggestion contenant le terme de la liste de blocage.
Voici un exemple de liste de blocage avec quatre entrées:
{ "entries": [ {"blockPhrase":"Oranges","matchOperator":"CONTAINS"}, {"blockPhrase":"bAd apples","matchOperator":"EXACT_MATCH"}, {"blockPhrase":"Cool as A Cucumber","matchOperator":"EXACT_MATCH"}, {"blockPhrase":"cherry pick","matchOperator":"CONTAINS"} ] }
Avant d'importer une liste de blocage, vérifiez que les contrôles d'accès nécessaires sont définis pour l'accès des éditeurs du moteur de découverte.
Les listes de blocage peuvent être importées à partir de données JSON locales ou de Cloud Storage. Pour supprimer une liste de blocage d'un datastore, purgez-la.
Importer une liste de blocage à partir de données JSON locales
Pour importer une liste de blocage à partir d'un fichier JSON local contenant votre liste de blocage, procédez comme suit :
Créez votre liste de blocage dans un fichier JSON local au format suivant. Marque que chaque entrée de la liste de blocage se trouve sur une nouvelle ligne sans saut de ligne.
{ "inlineSource": { "entries": [ { "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" }, { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" } ] } }
Envoyez une requête POST à
suggestionDenyListEntries:import
, en indiquant le nom de votre fichier .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: chemin d'accès local du fichier JSON contenant les termes de la liste de blocage.
- PROJECT_ID : numéro ou ID de votre projet Google Cloud.
- LOCATION : emplacement de votre entrepôt de données :
us
,eu
ouglobal
. - DATA_STORE_ID: ID du data store associées à votre application.
Une fois votre liste de blocage importée, il faut compter un à deux jours pour commencer à filtrer les suggestions.
Importer une liste de blocage depuis Cloud Storage
Pour importer une liste de blocage à partir d'un fichier JSON dans Cloud Storage, procédez comme suit :
Créez votre liste de blocage dans un fichier JSON au format suivant, puis importez-la dans un bucket Cloud Storage. Assurez-vous que chaque entrée de la liste de blocage figure sur une nouvelle ligne, sans saut de ligne.
{ "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" } { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" }
Créez un fichier JSON local contenant l'objet
gcsSource
. Utilisez pour qu'il pointe vers l'emplacement de votre fichier de liste de blocage dans un bucket.{ "gcsSource": { "inputUris": [ "DENYLIST_STORAGE_LOCATION" ] } }
- DENYLIST_STORAGE_LOCATION: emplacement de votre liste de blocage dans
Cloud Storage. Vous ne pouvez saisir qu'un seul URI. L'URI doit être saisi dans
ce format:
gs://BUCKET/FILE_PATH
- DENYLIST_STORAGE_LOCATION: emplacement de votre liste de blocage dans
Cloud Storage. Vous ne pouvez saisir qu'un seul URI. L'URI doit être saisi dans
ce format:
Envoyez une requête POST à la méthode
suggestionDenyListEntries:import
, y compris l'objetgcsSource
.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: chemin d'accès local du fichier contenant
l'objet
gcsSource
qui pointe vers votre liste de blocage. - PROJECT_ID: numéro ou ID de projet projet Google Cloud.
- LOCATION : emplacement de votre entrepôt de données :
us
,eu
ouglobal
. - DATA_STORE_ID: ID du data store associées à votre application.
- GCS_SOURCE_FILE: chemin d'accès local du fichier contenant
l'objet
Une fois la liste de blocage importée, le filtrage des suggestions commence dans un délai d'un à deux jours.
Supprimer définitivement une liste de blocage
Pour supprimer définitivement une liste de blocage de votre data store, procédez comme suit:
Envoyez une requête POST à la méthode
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: numéro ou ID de projet projet Google Cloud.
- LOCATION : emplacement de votre entrepôt de données :
us
,eu
ouglobal
. - DATA_STORE_ID : ID du magasin de données associé à votre application.
Modèle de données de document avancé
Vertex AI Agent Builder fournit un modèle de données avancé pour la saisie semi-automatique. Basée sur des documents que vous importez, ce modèle de données génère une fonction de saisie semi-automatique de haute qualité à l'aide des grands modèles de langage (LLM) de Google.
Cette fonctionnalité n'est pas disponible actuellement. Si cette fonctionnalité vous intéresse, contacter l'équipe chargée de votre compte Google Cloud et lui demander de l'ajouter à la liste d'autorisation.
Cette fonctionnalité n'est pas disponible pour la recherche dans le secteur de la santé ni dans les ensembles multirégionaux des États-Unis et de l'UE.