Assistance pour la base de connaissances générative

L'assistance de connaissances génératives fournit des réponses aux questions de vos agents en se basant sur les informations contenues dans les documents que vous fournissez. Vous pouvez spécifier le nom de votre domaine ou importer des documents pour un agent de data store basé sur des flux ou un agent de data store basé sur des playbooks. L'assistance basée sur l'IA générative synthétise ces informations avec la conversation en cours et les métadonnées client disponibles pour fournir une réponse plus pertinente et plus rapide à votre agent.

Avant de commencer

À moins que vous ne soyez le propriétaire du projet, vous avez besoin des rôles suivants pour créer un agent de data store :

- Dialogflow API Admin
- Discovery Engine Admin

Créer un agent de data store basé sur un flux

  1. Activez l'API AI Applications dans la console Vertex AI.

  2. Pour créer l'agent, suivez les étapes décrites dans Agents de data store basés sur les flux.

Créer un agent de data store basé sur un playbook

  1. Activez l'API AI Applications dans la console Vertex AI.

  2. Pour créer l'agent, suivez les étapes décrites dans Agents de data store basés sur des playbooks.

  3. Pour connecter l'agent à un data store, créez un outil de datastore. Pour en savoir plus, consultez Exemples d'outils de data store de playbook.

Répondre aux questions de vos agents humains

L'agent de data store basé sur un flux ou un playbook peut répondre aux questions de vos agents humains en s'appuyant sur les documents que vous avez fournis.

Étape 1 : Créer un profil de conversation

Créez un profil de conversation à l'aide de la console Agent Assist ou de l'API.

Créer à partir de la console

  1. Vous devez activer le type de suggestion d'assistance base de connaissances générative et l'associer à l'agent de data store basé sur un flux ou un playbook de l'étape précédente.
  2. Facultatif : Cochez la case Désactiver la journalisation des requêtes de recherche de l'agent pour indiquer si vous souhaitez que Google collecte et stocke les requêtes de recherche masquées afin d'améliorer potentiellement la qualité.
  3. Vous pouvez cocher la case Activer la requête augmentée par la conversation pour indiquer si vous souhaitez prendre en compte le contexte de la conversation entre l'agent humain et l'utilisateur lors de la génération de la réponse à la requête de recherche.

Créer à partir d'une API

Les étapes suivantes montrent comment créer un ConversationProfile avec un objet HumanAgentAssistantConfig. Vous pouvez également effectuer ces actions à l'aide de la console Agent Assist.

Pour créer un profil de conversation, appelez la méthode create sur la ressource ConversationProfile.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :
  • PROJECT_ID : ID de votre projet
  • LOCATION_ID : ID de votre établissement
  • AGENT_ID : ID de votre agent de data store basé sur un flux ou un playbook obtenu à l'étape précédente
Voici un exemple JSON :
  {
    "displayName": "my-conversation-profile-display-name",
    "humanAgentAssistantConfig": {
      "humanAgentSuggestionConfig": {
        "featureConfigs": [
          {
            "suggestionFeature": {
              "type": "KNOWLEDGE_SEARCH"
            },
            "queryConfig": {
              "dialogflowQuerySource": {
                "humanAgentSideConfig": {
                  "agent": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID"
                }
              }
            },
            "disableAgentQueryLogging": false,
            "enableConversationAugmentedQuery": false,
          }
        ]
      }
    }
  }
      

Lorsque vous créez un profil de conversation dans la console Agent Assist, Agent Assist active automatiquement l'assistance basée sur les connaissances génératives.

Étape 2 : Utilisez un agent de data store

Vous pouvez éventuellement utiliser l'API SearchKnowledge pour obtenir les réponses de l'agent de data store. Vous pouvez également utiliser les configurations suivantes dans votre requête SearchKnowledge :

  • querySource : définissez ce champ pour indiquer si un agent a saisi la requête ou si l'assistance IA pour les connaissances l'a suggérée automatiquement.
  • exactSearch : définissez ce champ pour indiquer s'il faut rechercher la requête saisie exactement, sans réécriture de la requête.
  • endUserMetadata : définissez ce champ pour inclure des informations supplémentaires sur l'utilisateur final afin d'améliorer la réponse générée. Pour en savoir plus, consultez la page Personnalisation des performances de l'agent Data Store.
  • searchConfig : définissez ce champ pour mieux contrôler l'amplification et le filtrage des documents de connaissances. Pour en savoir plus, consultez la page Configuration de la recherche sur les performances de l'agent Data Store.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet
  • LOCATION_ID : ID de votre établissement
  • CONVERSATION_PROFILE_ID : ID de votre profil de conversation obtenu à l'étape précédente
  • SESSION_ID : votre ID de session de recherche
  • L'historique des recherches de la même session peut avoir un impact sur les résultats de recherche. Vous pouvez utiliser l'ID de conversation suivant pour l'ID de session.
  • CONVERSATION_ID : conversation (entre un agent humain et un utilisateur final) dans laquelle la demande de recherche est déclenchée.
  • MESSAGE_ID : dernier message de la conversation lorsque la requête de recherche est déclenchée

Voici un exemple de requête JSON :

{
  "parent": "projects/PROJECT_ID/locations/LOCATION_ID"
  "query": {
    "text": "What is the return policy?"
  }
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID"
  "sessionId": "SESSION_ID
  "conversation": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID"
  "latestMessage": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID
  "querySource": AGENT_QUERY
  "exactSearch": false
  "searchConfig": {
    "filterSpecs": {
      "filter": "category: ANY(\"persona_B\")"
    }
  }
  "endUserMetadata": {
    "deviceOwned": "Google Pixel 7"
  }
}

Vous pouvez également fournir les noms de ressources conversation et latest_message si la recherche de l'agent a lieu lors d'une conversation avec un utilisateur. Ces deux champs sont obligatoires si vous activez l'option enable_conversation_augmented_query et que vous préférez améliorer l'expérience de réponse aux requêtes grâce au contexte conversationnel entre votre agent et l'utilisateur.

Simulateur

Testez votre agent de data store basé sur des playbooks ou des flux dans le simulateur Agent Assist.

Dans l'exemple précédent, l'agent de data store basé sur le flux répond à la requête utilisateur What is the refund processing time? avec les informations suivantes :

  • Réponse générée par l'IA générative : Une fois le colis arrivé au centre de retours du marchand, son traitement peut prendre jusqu'à sept jours ouvrés supplémentaires. Vérifiez l'état de votre remboursement à l'aide du numéro de suivi du retour indiqué sur la page de vos commandes.
  • Titre du document de connaissances concerné : Retours et remboursements.

Envoyer des commentaires

Pour savoir comment envoyer des commentaires, consultez Envoyer des commentaires à Agent Assist.

Répondre aux questions de l'agent

Voici un exemple de requête JSON pour envoyer des commentaires sur les questions de l'agent de réponse.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/answerRecords/ANSWER_RECORD_ID",
  "answerFeedback": {
    "displayed": true
    "clicked": true
    "correctnessLevel": "FULLY_CORRECT"
    "agentAssistantDetailFeedback": {
      "knowledgeSearchFeedback": {
        "answerCopied": true
        "clickedUris": [
          "url_1",
          "url_2",
          "url_3",
        ]
      }
    }
  }
}

Métadonnées

Si vous configurez des métadonnées pour un document de connaissances, Generative Knowledge Assist et Proactive Generative Knowledge Assist renverront les métadonnées du document avec la réponse.

Par exemple, vous pouvez utiliser des métadonnées pour indiquer si un document de connaissances est un article interne privé ou un article externe public. Dans le simulateur Agent Assist et les modules d'UI, l'assistance base de connaissances générative et l'assistance base de connaissances générative proactive affichent automatiquement une valeur de métadonnée de document pour certaines clés.

  • gka_source_label : la valeur s'affiche directement dans la fiche de suggestion.
  • gka_source_tooltip : lorsque la valeur est de type struct, le lien source se développe et affiche la valeur dans un info-bulle lorsque vous pointez dessus.

Si vous disposez des métadonnées suivantes pour un document de connaissances, la fiche de suggestion indique External Doc comme source et l'info-bulle ajoute doc_visibility: public doc.

Métadonnées : None { "title": "Public Sample Doc", "gka_source_label": "External Doc", "gka_source_tooltip": { "doc_visibility": "public doc" } }

Métadonnées de l'utilisateur final

Joignez des métadonnées d'utilisateur final pour améliorer et personnaliser la réponse générée par l'agent Datastore. Pour l'assistance base de connaissances générative, vous pouvez joindre des métadonnées d'utilisateur final au champ end_user_metadata ou les ingérer dans une conversation avec l'API IngestContextReferences. Vous pouvez utiliser les métadonnées utilisateur final ingérées pour l'assistance base de connaissances générative et l'assistance base de connaissances générative proactive.

Exemple 1 : Ajouter des métadonnées d'utilisateur final

{
  "query": {
     "text": "test query"
  },
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "sessionId": "SESSION_ID",
  "conversation": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID",
  "querySource": "AGENT_QUERY",
  "endUserMetadata": {
    "Name": "Jack",
    "Age": 33,
    "City": "Tokyo"
  }
}

Exemple 2 : Ingérer les métadonnées des utilisateurs finaux

{
  "conversation": "projects/PROJECT_ID/locations/global/conversations/CONVERSATION_ID",
  "contextReferences": {
   "gka_end_user_metadata": {
      "contextContents": [{
"content": "{\"Name\":\"Jack\",\"Age\":33,\"city\":\"Tokyo\"}",
        "contentFormat": "JSON"
      }],
      "updateMode": "OVERWRITE",
      "languageCode": "en-US"
    }
  }
}

Pour en savoir plus sur les métadonnées des utilisateurs finaux dans Datastore, consultez les informations sur la personnalisation de Dialogflow.

Langues acceptées

Consultez la liste complète des langues disponibles.