L'assistance basée sur l'IA générative 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 à indexer par un agent de datastore. L'assistance basée sur les connaissances génératives 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.
L'assistance proactive basée sur l'IA 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 en cours et de la réponse.
Créer un agent de data store
À 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 :
- Administrateur de l'API Dialogflow
- Administrateur Discovery Engine
Activez l'API AI Applications dans la console Vertex AI.
Pour créer l'agent, suivez la procédure décrite dans Agents de data store.
Répondre aux questions de vos agents humains
L'agent du data store peut répondre aux questions de vos agents humains en se basant 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 depuis la console
- Vous devez activer le type de suggestion d'assistance pour les connaissances génératives 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 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é.
- 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 l'agent de votre data store obtenu à 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 basée sur les connaissances génératives et l'assistance proactive basée sur les connaissances génératives. Pour désactiver l'assistance proactive basée sur l'IA générative, vous devez créer votre profil de conversation à l'aide de l'API.
É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 proactive basée sur l'IA générative 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.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 : ID de votre 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 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 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 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 base de connaissances concerné : Retours et remboursements.
Suggérer de manière proactive des questions/réponses à vos agents
L'assistance proactive et générative pour les connaissances suit une conversation en cours et fournit de manière proactive des suggestions de requêtes de recherche et des réponses.
É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 Assistance pour les connaissances génératives 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 lorsqu'aucune réponse n'est trouvée dans vos documents de connaissances. Cette fonctionnalité est destinée à 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 l'envoyer automatiquement dans le simulateur de la console Agent Assist et les modules d'UI.
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, effectuez les remplacements suivants :- PROJECT_ID : ID de votre projet.
- LOCATION_ID : ID de votre établissement
- AGENT_ID : ID de l'agent de votre data store obtenu à 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 proactive basée sur les connaissances génératives 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 en cours 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 : ID de votre 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 AI Applications Python.
Pour vous authentifier auprès des applications d'IA, 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 utilisateur participant
Ajoutez des participants utilisateur et agent à la conversation pour voir les suggestions. Commencez par ajouter le participant de l'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 : ID de votre 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 de l'utilisateur.
Python
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Python.
Pour vous authentifier auprès des applications d'IA, 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 agent
Pour ajouter un participant d'agent à la conversation :
REST
Pour créer un participant agent, 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 : ID de votre 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 l'ID du nouveau participant de votre agent humain.
Python
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Python.
Pour vous authentifier auprès des applications d'IA, 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. L'agent de data store base ses suggestions 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 AI Applications Python.
Pour vous authentifier auprès des applications d'IA, 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 puis-je obtenir le remboursement de mon retour ?" 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 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 AI Applications Python.
Pour vous authentifier auprès des applications d'IA, 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 AI Applications Python.
Pour vous authentifier auprès des applications d'IA, 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 connaissances concerné : 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 pour les suggestions. Cette option utilise Pub/Sub pour envoyer des notifications de suggestions à 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 d'assistance proactive basées sur les connaissances génératives et qu'elle les fournira via Pub/Sub.
Vous pouvez également activer cette configuration depuis la console Agent Assist.
Accéder aux données grâce aux insights tirés des conversations
Vous pouvez également laisser les requêtes et réponses générées par l'assistance proactive pour les connaissances génératives se remplir automatiquement 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 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", ] } } } }
Suggérer de manière proactive des questions/réponses
Voici un exemple de requête JSON pour 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 métadonnées pour un document de connaissances, l'assistance aux connaissances générative et l'assistance aux connaissances générative proactive 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 interne privé ou un article externe public. Dans le simulateur d'assistance à l'agent et les modules d'UI, l'assistance à la connaissance générative et l'assistance à la connaissance 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 typestruct
, le fait de pointer sur le lien source développe la valeur et l'affiche dans un info-bulle.
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"
}
}
Langues acceptées
Consultez la liste complète des langues disponibles.