Generative knowledge assist répond aux questions de votre agent en s'appuyant sur les informations contenues dans les documents que vous fournissez. Vous pouvez spécifier votre nom de domaine ou importer des documents pour un agent de data store basé sur un flux ou un agent de data store basé sur un playbook. Generative knowledge assist 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
Sauf si vous êtes 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
Activez l'API AI Applications dans la console Vertex AI.
Pour créer l'agent, suivez les étapes décrites dans Agents de data store basés sur un flux.
Créer un agent de data store basé sur un playbook
Activez l'API AI Applications dans la console Vertex AI.
Pour créer l'agent, suivez les étapes décrites dans Agents de data store basés sur un playbook.
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
- Vous devez activer le type de suggestion Generative knowledge assist et l'associer à l'agent de data store basé sur un flux ou un playbook de l'étape précédente.
- Facultatif : Cochez la case Disable agent search query logging (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 expurgées afin d'améliorer potentiellement la qualité.
- Vous pouvez cocher la case Enable conversation augmented query (Activer la requête augmentée de 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 de l'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 emplacement
- AGENT_ID : ID de votre agent de data store basé sur un flux ou un playbook de l'étape précédente
{ "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 Generative knowledge assist.
Étape 2 : Utiliser un agent de data store
Vous pouvez également utiliser l'
SearchKnowledge
API 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 Generative knowledge assist l'a suggérée automatiquement.exactSearch: définissez ce champ pour indiquer si vous souhaitez rechercher la requête d'entrée exacte sans la réécrire.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 de datastore.searchConfig: définissez ce champ pour contrôler davantage l'amplification et le filtrage des documents de connaissances. Pour en savoir plus, consultez la page Configuration de la recherche des performances de l'agent de datastore.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet
- LOCATION_ID : ID de votre emplacement
- CONVERSATION_PROFILE_ID : ID de votre profil de conversation de l'étape précédente
- SESSION_ID : ID de votre session de recherche L'historique de recherche de la même session peut avoir un impact sur le résultat de la recherche. Vous pouvez utiliser l'ID de conversation suivant pour l'ID de session.
- CONVERSATION_ID : conversation (entre l'agent humain et l'utilisateur final) dans laquelle la requête 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 à la requête avec le contexte de la conversation entre votre agent et l'utilisateur.
Simulateur
Testez votre agent de data store basé sur un flux ou un playbook dans le simulateur Agent Assist.

Dans l'exemple précédent, l'agent de data store basé sur un flux répond à la requête de l'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 pertinent : 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 la réponse aux questions de l'agent.
{ "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 le document de connaissances est un article privé interne ou un article public externe. Dans le simulateur Agent Assist et les modules d'interface utilisateur , Generative knowledge assist et Proactive generative knowledge assist affichent automatiquement une valeur de métadonnées 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 typestruct, le fait de placer le curseur sur le lien source développe et affiche la valeur dans une info-bulle.
Si vous disposez des métadonnées suivantes pour un document de connaissances, la fiche de suggestion indique la source comme External Doc 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
Associez des métadonnées d'utilisateur final pour améliorer et personnaliser la réponse générée par l'agent de datastore. Pour Generative knowledge assist, vous pouvez associer 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 d'utilisateur final ingérées pour Generative knowledge assist et Proactive generative knowledge assist.
Exemple 1 : Associer 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 des métadonnées d'utilisateur final
{
"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 d'utilisateur final dans Datastore, consultez les informations sur la personnalisation de Dialogflow.
Langues acceptées
Consultez la liste complète des langues acceptées.