L'assistance générative des connaissances fournit des réponses aux questions de vos agents 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 datastore à indexer. L'assistance par connaissances génératives synthétise ces informations avec la conversation en cours et les métadonnées client disponibles pour fournir à votre agent une réponse plus pertinente et plus rapide.
La fonctionnalité proactive de Knowledge Assist générative suit la conversation en cours entre votre agent et le client. Il fournit de manière proactive des suggestions de requêtes de recherche en fonction du contexte de la conversation et de la réponse.
Créer un agent de data store
Sauf si vous êtes le propriétaire du projet, vous avez besoin de ces rôles pour créer un agent de data store:
- Administrateur de l'API Dialogflow
- Administrateur Discovery Engine
Activez l'API Vertex AI Agent Builder dans la console Vertex AI.
Pour créer l'agent, suivez la procédure décrite dans la section Agents de datastore.
Répondre aux questions de vos agents humains
L'agent de data store peut répondre aux questions de vos agents humains en fonction des 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 depuis la console
- Vous devez activer le type de suggestion de Knowledge Assist générative et l'associer à l'agent du data store de l'étape précédente.
- Facultatif: Cochez la case Désactiver la journalisation des requêtes de recherche des agents pour indiquer si vous souhaitez que Google collecte et stocke les requêtes de recherche masquées afin d'améliorer la qualité.
- Vous pouvez utiliser la case à cocher Activer la requête enrichie 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 ci-dessous, effectuez les remplacements suivants :- PROJECT_ID : ID de votre projet.
- LOCATION_ID: ID de votre emplacement
- AGENT_ID: ID de l'agent de votre data store 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 l'assistance générative de la base de connaissances et l'assistance générative proactive de la base de connaissances. Pour désactiver l'assistance générative proactive, vous devez créer votre profil de conversation à l'aide de l'API.
Étape 2: Utiliser un agent de data store
Vous pouvez également utiliser l'API SearchKnowledge
pour obtenir les réponses de l'agent du data store. Vous pouvez également utiliser les configurations suivantes dans votre requête SearchKnowledge
:
querySource
: ce champ indique si un agent a saisi la requête ou si l'assistance proactive générative basée sur les connaissances l'a suggérée automatiquement.exactSearch
: définissez ce champ pour indiquer si vous souhaitez rechercher la requête de saisie exacte sans réécriture de la requête.endUserMetadata
: définissez ce champ pour inclure des informations supplémentaires sur l'utilisateur final qui améliorent la réponse générée. Pour en savoir plus, consultez la page Personnalisation des performances de l'agent Datastore.searchConfig
: définissez ce champ pour contrôler davantage la promotion et le filtrage des documents de base de connaissances. Pour en savoir plus, consultez la page Configuration de la recherche de 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 emplacement
- 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 une incidence sur les résultats de recherche. Vous pouvez utiliser l'ID de conversation ci-dessous pour l'ID de session.
- CONVERSATION_ID: conversation (entre un agent humain et un utilisateur final) au cours de 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 éventuellement fournir des noms de ressources conversation
et latest_message
si la recherche de l'agent se produit 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 avec le contexte de la conversation entre votre agent et l'utilisateur.
Simulateur
Testez votre agent de data store dans le simulateur Agent Assist.
Dans l'exemple précédent, l'agent du data store 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: 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 la base de connaissances pertinent: Retours et remboursements.
suggérer des questions et des réponses de manière proactive à vos agents ;
L'assistance générative proactive suit une conversation en cours et fournit des suggestions de requêtes de recherche et des réponses de manière proactive.
É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. Nous vous recommandons de créer un profil de conversation à l'aide de la console Agent Assist.
Créer depuis la console
- Activez le type de suggestion Assistant génératif de connaissances et associez-le à l'agent de data store de l'étape précédente. Cela permet à l'agent de data store de fournir de manière proactive des suggestions de requêtes et de réponses, et de répondre aux requêtes de recherche manuelles de vos agents humains.
- Facultatif: cochez la case Afficher toutes les requêtes suggérées pour la conversation pour que l'agent du data store affiche toutes ces requêtes, même si aucune réponse n'est trouvée dans vos documents de connaissances. Il permet de tester les requêtes qui peuvent être extraites de la conversation en cours.
- Facultatif: cochez la case Charger les réponses proactives de manière asynchrone pour n'obtenir que des suggestions de requêtes. Vous pouvez envoyer manuellement la requête suggérée à l'API SearchKnowledge et automatiquement dans le simulateur de console et les modules d'interface utilisateur d'Agent Assist.
Créer à partir d'une API
Les étapes suivantes permettent de 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 ci-dessous, effectuez les remplacements suivants :- PROJECT_ID : ID de votre projet.
- LOCATION_ID: ID de votre emplacement
- AGENT_ID: ID de l'agent de votre data store de l'étape précédente
{ "displayName": "my-conversation-profile-display-name", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "featureConfigs": [ { "suggestionFeature": { "type": "KNOWLEDGE_ASSIST" }, "queryConfig": { "dialogflowQuerySource": { "agent": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID" } }, "enableQuerySuggestionWhenNoAnswer": false, } ] } } }
Étape 2: Gérer les conversations lors de l'exécution
L'assistance générative proactive basée sur les connaissances traite les conversations au moment de l'exécution pour fournir de manière proactive des suggestions de requêtes de recherche en fonction du contexte de la conversation et de la réponse.
Créer une conversation
Vous devez d'abord créer une conversation:
REST
Pour créer une conversation, appelez la méthode create
sur la ressource Conversation
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Cloud
- LOCATION_ID: votre ID d'emplacement
- CONVERSATION_PROFILE_ID: ID obtenu lors de la création du profil de conversation
Méthode HTTP et URL :
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations
Corps JSON de la requête :
{ "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID", "lifecycleState": "IN_PROGRESS", "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "startTime": "2018-11-05T21:05:45.622Z" }
Le segment de chemin d'accès après conversations
contient le nouvel ID de la conversation.
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.
Créer un participant utilisateur
Ajoutez des participants utilisateur et agent à la conversation pour voir les suggestions. Commencez par ajouter le participant utilisateur à la conversation:
REST
Pour créer un participant utilisateur, appelez la méthode create
sur la ressource Participant
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Cloud
- LOCATION_ID: votre ID d'emplacement
- CONVERSATION_ID: ID de votre conversation
Méthode HTTP et URL :
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
Corps JSON de la requête :
{ "role": "END_USER", }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "END_USER" }
Le segment de chemin d'accès indiqué après participants
contient le nouvel ID de participant utilisateur.
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.
Créer un participant d'agent
Pour ajouter un participant d'agent à la conversation:
REST
Pour créer un agent-participant, appelez la méthode create
sur la ressource Participant
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Cloud
- LOCATION_ID: votre ID d'emplacement
- CONVERSATION_ID: ID de votre conversation
Méthode HTTP et URL :
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
Corps JSON de la requête :
{ "role": "HUMAN_AGENT", }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "HUMAN_AGENT" }
Le segment de chemin d'accès indiqué après participants
contient le nouvel ID de participant de votre agent humain.
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.
Ajouter et analyser un message de l'agent
Chaque fois que l'un des participants saisit un message dans la conversation, vous devez l'envoyer à l'API pour traitement. Les suggestions de l'agent de data store sont basées sur l'analyse des messages des agents humains et des utilisateurs. Dans l'exemple suivant, l'agent humain démarre la conversation en demandant "Comment puis-je vous aider ?".
Aucune suggestion n'a encore été renvoyée dans la réponse.
REST
Pour ajouter et analyser un message d'agent humain dans la conversation, appelez la méthode analyzeContent
sur la ressource Participant
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- CONVERSATION_ID: ID de votre conversation
- PARTICIPANT_ID: ID de votre participant d'agent humain
Méthode HTTP et URL :
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent
Corps JSON de la requête :
{ "textInput": { "text": "How may I help you?", "languageCode": "en-US" } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "message": { "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "content": "How may I help you?", "languageCode": "en-US", "participant": "PARTICIPANT_ID", "participantRole": "HUMAN_AGENT", "createTime": "2020-02-13T00:01:30.683Z" } }
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.
Ajouter un message de l'utilisateur pour obtenir des suggestions
En réponse à l'agent, l'utilisateur demande : "Quand pourrai-je obtenir mon remboursement ?". Cette fois, la réponse de l'API contient une requête suggérée et la réponse de l'IA générative basée sur les documents de la base de connaissances.
REST
Pour ajouter et analyser un message utilisateur pour la conversation, appelez la méthode analyzeContent
sur la ressource Participant
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- CONVERSATION_ID: ID de votre conversation
- PARTICIPANT_ID: ID du participant de l'utilisateur final
Méthode HTTP et URL :
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent
Corps JSON de la requête :
{ "textInput": { "text": "When can I get my return refund?", "languageCode": "en-US" } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "message": { "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "content": "When can I get my return refund?", "languageCode": "en-US", "participant": "PARTICIPANT_ID", "participantRole": "END_USER", "createTime": "2020-02-13T00:07:35.925Z" }, "humanAgentSuggestionResults": [ { "suggestKnowledgeAssistResponse": { "knowledgeAssistAnswer": { "suggestedQuery": { "queryText": "Refund processing time" }, "suggestedQueryAnswer": { "answerText": "After your return is processed, you receive your refund in 7 days. The refund amount should be for the full value of the items returned, but doesn't include shipping & service fees.", "generativeSource": { "snippets": [ { "title": "Returns & refunds - Help", "uri": "https://example.com/", "text": "When the package with your return arrives at the seller's return center, it may take up to 7 additional business days to process. Check the status of your refund with the return tracking number found on your orders page." } ] }, }, "answerRecord": "projects/PROJECT_ID/answerRecords/ANSWER_RECORD_ID" }, } } ] }
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.
Terminer la conversation
À la fin de la conversation, utilisez l'API pour la terminer.
REST
Pour terminer la conversation, appelez la méthode complete
sur la ressource conversations
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet GCP
- CONVERSATION_ID: ID obtenu lors de la création de la conversation
Méthode HTTP et URL :
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID", "lifecycleState": "COMPLETED", "conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "startTime": "2018-11-05T21:05:45.622Z", "endTime": "2018-11-06T03:50:26.930Z" }
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.
Simulateur
Vous pouvez tester votre agent de data store dans le simulateur Agent Assist.
Dans l'exemple précédent, l'agent du data store fournit les suggestions suivantes:
- Requête suggérée: Délai de traitement des remboursements.
- Réponse générée par l'IA générative: Une fois votre retour traité, vous êtes remboursé dans un délai de sept jours. Le montant du remboursement correspond à la valeur totale des articles retournés, mais n'inclut pas les frais de port et de service.
- Titre du document de la base de connaissances pertinent: Retours et remboursements – Aide.
Étape 3: Notifications de suggestion Pub/Sub
Vous pouvez définir le champ notificationConfig
lors de la création d'un profil de conversation pour recevoir des notifications de suggestions. Cette option utilise Pub/Sub pour envoyer des notifications de suggestion à votre application lorsque la conversation se poursuit et de nouvelles suggestions sont disponibles.
Si vous effectuez l'intégration via l'API AnalyzeContent
, vous pouvez activer la configuration disable_high_latency_features_sync_delivery
dans ConversationProfile
pour vous assurer que l'API AnalyzeContent
répondra, sans attendre les suggestions proactives de l'assistance générative de la connaissance, et qu'elle transmettra les suggestions via Pub/Sub.
Vous pouvez également activer cette configuration dans la console Agent Assist.
Accéder aux données via Conversational Insights
Vous pouvez également renseigner automatiquement les requêtes et réponses générées par votre assistant génératif proactif dans Conversational Insights. Pour y accéder, suivez les instructions de la section Activer l'intégration de l'environnement d'exécution de Dialogflow.
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 permettant d'envoyer des commentaires sur la réponse aux questions des agents.
{ "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", ] } } } }
suggérer des questions/réponses de manière proactive ;
Voici un exemple de requête JSON permettant d'envoyer des commentaires sur les suggestions proactives.
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/answerRecords/ANSWER_RECORD_ID", "answerFeedback": { "displayed": true "clicked": true "correctnessLevel": "FULLY_CORRECT" "agentAssistantDetailFeedback": { "knowledgeAssistFeedback": { "answerCopied": true "clickedUris": [ "url_1", "url_2", "url_3", ] } } } }
Métadonnées
Si vous configurez des metadata pour un document de base de connaissances, l'assistance générative et l'assistance générative proactive renvoient 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 la base de connaissances est un article privé interne ou un article public externe. Dans le simulateur d'assistance à l'agent et les modules d'interface utilisateur, l'assistance générative basée sur les connaissances et l'assistance générative proactive basée sur les connaissances 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
, maintenir le curseur sur le lien source l'étend 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"
}
}
Langues acceptées
Consultez la liste complète des langues acceptées.