Configurer la saisie semi-automatique avancée

Cette page décrit la fonctionnalité avancée de saisie semi-automatique de Gemini Enterprise.

Comme la saisie semi-automatique de base, la saisie semi-automatique avancée génère des suggestions de requêtes en fonction des premiers caractères saisis.

Avant de lire cette page, familiarisez-vous avec la saisie semi-automatique de base de Gemini Enterprise. Consultez Configurer la saisie semi-automatique.

Principales fonctionnalités de la saisie semi-automatique avancée

Les principales fonctionnalités de la saisie semi-automatique avancée qui la distinguent de la saisie semi-automatique de base sont les suivantes :

  • Recherche combinée : la saisie semi-automatique avancée peut être utilisée avec des applications connectées à plusieurs data store.

  • Contrôle des accès : la saisie semi-automatique avancée respecte les contrôles des accès. (Les contrôles des accès sont également appelés LCA, listes de contrôle des accès.) La saisie semi-automatique avancée ne suggère que des requêtes de recherche liées à des documents auxquels l'utilisateur a accès. Pour en savoir plus sur le contrôle des accès, consultez Identité et autorisations.

  • Optimisation de la langue : la saisie semi-automatique avancée peut être configurée pour optimiser les suggestions dans une ou plusieurs langues. Par exemple, si la langue du navigateur est le néerlandais, les suggestions de saisie semi-automatique dans cette langue peuvent être optimisées. Pour en savoir plus, consultez Envoyer une requête de saisie semi-automatique avec optimisation de la langue.

Avant de commencer

Avant de commencer à utiliser la saisie semi-automatique avancée, procédez comme suit :

  • Vérifiez et modifiez éventuellement les paramètres de saisie semi-automatique de votre application. Consultez Modifier les paramètres de saisie semi-automatique.

  • Pour les datastores plus petits, définissez Activer la saisie semi-automatique sur Maintenant. Nous vous recommandons de le faire, car les petits datastores peuvent ne pas contenir suffisamment de données pour fournir des suggestions précises.

  • Si vos datastores contiennent des informations permettant d'identifier personnellement l'utilisateur ou si vous utilisez le modèle de suggestions de requêtes d'historique de la Recherche ou d'événements utilisateur, consultez Protéger contre les fuites d'informations permettant d'identifier personnellement l'utilisateur et configurez les mesures de protection contre la perte de données qui peuvent être nécessaires pour éviter les fuites d'informations permettant d'identifier personnellement l'utilisateur.

  • Si vous prévoyez d'utiliser des suggestions de recherche récentes (RECENT_SEARCH), assurez-vous d'enregistrer les événements utilisateur de recherche. Gemini Enterprise ne remplit pas automatiquement l'index de recherche récente lorsque des recherches sont effectuées à l'aide de la SearchService.Search méthode. Pour renvoyer des requêtes récentes, vous devez enregistrer les événements utilisateur de recherche à l'aide de la userEvents.write méthode. Pour en savoir plus sur les requêtes récentes, consultez Avant de commencer.

Envoyer des requêtes de saisie semi-automatique

Vous trouverez ci-dessous la procédure à suivre pour envoyer des requêtes de saisie semi-automatique avancée à l'aide de la completionConfig.completeQuery méthode.

REST

Pour envoyer une requête de saisie semi-automatique à l'aide de l'API, procédez comme suit :

  1. Trouvez l'ID de votre application. Si vous disposez déjà de l'ID de votre application, passez à l'étape suivante.

    1. Dans la Google Cloud console, accédez à la Gemini Enterprise page.

      Accédez à "Applications".

    2. Sur la page Applications, recherchez le nom de votre application et retrouvez son ID dans la colonne ID.

  2. Appelez la completionConfig.completeQuery méthode.

    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/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING"
        }'
    

    Remplacez les éléments suivants :

    • PROJECT_ID : par l'ID du projet.

    • APP_ID : par l'ID de l'application.

    • QUERY_STRING: par l'entrée de saisie anticipée utilisée pour récupérer les suggestions.

Envoyer une requête de saisie semi-automatique avec optimisation de la langue

Vous pouvez optimiser ou enterrer les suggestions de saisie semi-automatique en fonction du code de langue. Par exemple, vous pouvez faire en sorte que les suggestions de saisie semi-automatique dans certaines langues soient plus ou moins susceptibles d'apparaître.

La valeur d'optimisation doit être comprise entre -1 et 1. Définir un nombre négatif "enterre" les suggestions de saisie semi-automatique dans cette langue, tandis qu'un nombre positif optimise la langue.

Utilisez des codes de langue à deux lettres définis par BCP 47, par exemple en, fr, hi et zh.

REST

Pour envoyer une requête de saisie semi-automatique incluant une valeur d'optimisation de la langue, procédez comme suit :

  1. Trouvez l'ID de votre application. Si vous disposez déjà de l'ID de votre application, passez à l'étape suivante.

    1. Dans la Google Cloud console, accédez à la Gemini Enterprise page.

      Accédez à "Applications".

    2. Sur la page Applications, recherchez le nom de votre application et retrouvez son ID dans la colonne ID.

  2. Appelez la completionConfig.completeQuery méthode.

    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/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING",
          "boostSpec": {
             "conditionBoostSpecs": [{
               "condition": "(langCode: ANY(LANG_CODE))",
               "boost": BOOST_VALUE
             }]
          }
        }'
    
    

    Remplacez les éléments suivants :

    • PROJECT_ID : par l'ID du projet.

    • APP_ID : par l'ID de l'application.

    • QUERY_STRING : par l'entrée de saisie anticipée utilisée pour récupérer les suggestions.

    • LANG_CODE: par le code à deux lettres d'une ou plusieurs langues, entre guillemets. Par exemple, \"fr\", \"es\" pour appliquer la valeur d'optimisation à l'espagnol et au français.

    • BOOST_VALUE : par un nombre à virgule flottante compris entre -1 et 1. Lorsque la valeur est négative, les suggestions automatiques dans la langue sont rétrogradées (elles apparaissent plus bas dans la liste des suggestions). Lorsque la valeur est positive, les suggestions sont promues (elles apparaissent plus haut dans la liste).

Envoyer une requête de saisie semi-automatique et renvoyer des suggestions enrichies

La saisie semi-automatique enrichie renvoie du contenu (documents) dont les titres contiennent des mots commençant par la requête.

En plus du titre du document, la requête de saisie semi-automatique renvoie le source_type et le entity_type, ainsi que, le cas échéant, les propriétés clés : uri, create_time et update_time. Vous pouvez afficher et modifier les mappages des propriétés clés dans l'onglet Schéma de la page du data store.

Comme pour toutes les suggestions de saisie semi-automatique avancée, les LCA sont respectées pour tous les documents suggérés.

Exemple

Un employé interroge le site intranet de son entreprise pour obtenir des informations techniques sur les autorisations d'accès.

L'employé commence à saisir tec, et les documents suivants peuvent être renvoyés : Data technicians handbook, Access technology guide, et Techniques for troubleshooting access issues.

Avec les suggestions enrichies, pour chacun de ces documents suggérés, vous pouvez afficher les informations suivantes :

  • le titre du document (title), un lien vers le document (uri)

  • la date de sa dernière mise à jour (update_time)

  • la source (source_type), par exemple, si le document a été trouvé dans Confluence Cloud ou Slack.

Le fait de savoir quand un document a été mis à jour pour la dernière fois et quelle est sa source aide l'employé à choisir le document à consulter en premier.

Limites

La saisie semi-automatique enrichie ne s'applique qu'aux connecteurs tiers et uniquement à certains datastores d'entités pour ces connecteurs tiers. Le tableau suivant indique les entités compatibles avec les connecteurs.

Connecteur tiers Entités compatibles
Box Fichier
Confluence Cloud Page Espace
Dropbox Fichier
Jira Cloud Problème Espace
OneDrive Fichier
Salesforce Compte Prospect Opportunité
ServiceNow Incident Connaissances
Sharepoint Online Pièce jointe Événement Fichier Page
Slack Message

Procédure

Pour envoyer une requête de saisie semi-automatique qui renvoie une suggestion enrichie, procédez comme suit :

REST

  1. Trouvez l'ID de votre application. Si vous disposez déjà de l'ID de votre application, passez à l'étape suivante.

    1. Dans la Google Cloud console, accédez à la Gemini Enterprise page.

      Accédez à "Applications".

    2. Sur la page Applications, recherchez le nom de votre application et retrouvez son ID dans la colonne ID.

  2. Appelez la completionConfig.completeQuery méthode.

    
    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/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING",
          "suggestionTypes": ["CONTENT"]
        }'
    
    

    Remplacez les éléments suivants :

    • PROJECT_ID : par l'ID du projet.

    • APP_ID : par l'ID de l'application.

    • QUERY_STRING : par l'entrée de saisie anticipée utilisée pour récupérer les suggestions.

Envoyer une requête de saisie semi-automatique et renvoyer des requêtes récentes

Renvoyez, sous forme de suggestions, une liste des requêtes les plus récentes de l'utilisateur qui correspondent au préfixe de la requête dans la requête.

Les suggestions de requêtes correspondantes sont listées de la plus récente à la plus ancienne. Pour utiliser la recherche récente, vous devez fournir le pseudo-identifiant de l'utilisateur.

Avant de commencer

Avant de pouvoir récupérer des requêtes récentes avec la saisie semi-automatique, vous devez enregistrer les recherches des utilisateurs en tant qu'événements utilisateur de recherche en appelant la userEvents.write méthode.

Si les événements utilisateur de recherche ne sont pas écrits, les requêtes adressées à completionConfig.completeQuery avec suggestionTypes: ["RECENT_SEARCH"] renvoient une liste de suggestions ({}).

Pour enregistrer un événement utilisateur de recherche, envoyez une requête POST à la userEvents.write méthode avec les valeurs suivantes :

  • eventType : défini sur "search"
  • userPseudoId : défini sur l'identifiant pseudonymisé unique de l'utilisateur
  • engine : défini sur le nom de ressource de votre moteur
  • searchInfo.searchQuery : défini sur la chaîne de requête de recherche saisie par l'utilisateur
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/LOCATION/userEvents:write" \
  -d '{
        "eventType": "search",
        "userPseudoId": "USER_PSEUDO_ID",
        "engine": "projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID",
        "searchInfo": {
          "searchQuery": "SEARCH_QUERY"
        }
      }'

Remplacez les éléments suivants :

  • PROJECT_ID : par l'ID du projet.
  • LOCATION: par l'emplacement de votre application ou de votre data store (par exemple, global ou us).
  • APP_ID : par l'ID de l'application.
  • USER_PSEUDO_ID: par un identifiant pseudonymisé de l'utilisateur. Il doit correspondre au userPseudoId transmis dans les requêtes completionConfig.completeQuery suivantes.
  • SEARCH_QUERY: par la chaîne de requête recherchée par l'utilisateur.

Pour en savoir plus, consultez Enregistrer des événements utilisateur en temps réel avec la méthode userEvents.write.

Exemple

Un employé interroge le site intranet de son entreprise pour obtenir des informations sur les congés. L'employé a effectué les requêtes suivantes, listées de la plus récente à la plus ancienne :

PTO, Vacation blackout periods, How much vacation time do I have?, Time off, Vacation policy, covering a vacant position during absences, et Can I take unpaid time off?.

Maintenant, lorsque l'employé saisit vac dans le champ de recherche, les suggestions de saisie semi-automatique sont les suivantes :

  • Vacation blackout periods
  • How much vacation time do I have?
  • Vacation policy
  • Covering a vacant position during absences

Procédure

Pour envoyer une requête de saisie semi-automatique qui renvoie les requêtes les plus récentes de l'utilisateur, procédez comme suit :

REST

  1. Trouvez l'ID de votre application. Si vous disposez déjà de l'ID de votre application, passez à l'étape suivante.

    1. Dans la Google Cloud console, accédez à la Gemini Enterprise page.

      Accédez à "Applications".

    2. Sur la page Applications, recherchez le nom de votre application et retrouvez son ID dans la colonne ID.

  2. Appelez la completionConfig.completeQuery méthode.

    
    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/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING",
          "suggestionTypes": ["RECENT_SEARCH"],
          "userPseudoId": "USER_PSEUDO_ID"
        }'
    
    

    Remplacez les éléments suivants :

    • PROJECT_ID : par l'ID du projet.

    • APP_ID : par l'ID de l'application.

    • QUERY_STRING : par l'entrée de saisie anticipée utilisée pour récupérer les suggestions.

    • USER_PSEUDO_ID : par un identifiant pseudonymisé de l'utilisateur. Vous pouvez utiliser un cookie HTTP pour ce champ, qui identifie de manière unique un visiteur sur un seul appareil. Ne définissez pas ce champ sur le même identifiant pour plusieurs utilisateurs. Cela combinerait leurs historiques de requêtes. N'incluez pas d'informations permettant d'identifier personnellement l'utilisateur dans ce champ.

Utiliser une liste de blocage de saisie semi-automatique

Vous pouvez utiliser une liste de blocage pour empêcher des termes spécifiques d'apparaître sous forme de suggestions de saisie automatique.

Bien que la saisie semi-automatique avancée soit au niveau de l'application, les listes de blocage sont au niveau du datastore. Cela est important si votre application est une application de recherche combinée. Créez une liste de blocage pour chaque data store connecté à l'application.

Pour en savoir plus sur la création et l'utilisation de listes de blocage, consultez Utiliser une liste de blocage de saisie semi-automatique.

Utiliser une liste importée de suggestions de saisie semi-automatique

Vous pouvez choisir de fournir votre propre liste de suggestions de saisie semi-automatique au lieu d'utiliser celles générées à partir d'un modèle de données de saisie semi-automatique.

Pour savoir comment importer une liste, consultez Utiliser une liste importée de suggestions de saisie semi-automatique.