View a markdown version of this page

Surveillez les agents Connect AI à l'aide CloudWatch des journaux - Amazon Connect

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Surveillez les agents Connect AI à l'aide CloudWatch des journaux

Pour avoir une meilleure visibilité sur les recommandations en temps réel que les agents Connect AI fournissent à vos agents, ainsi que sur les intentions des clients qu'ils détectent grâce à la compréhension du langage naturel, vous pouvez interroger CloudWatch Logs. CloudWatch Les journaux vous donnent une visibilité sur l'ensemble du parcours de contact : la conversation, les déclencheurs, les intentions, les recommandations. Vous pouvez également utiliser ces informations pour le débogage ou les fournir Support lorsque vous les contactez pour obtenir de l'aide.

Cette rubrique explique comment activer la journalisation pour les agents Connect AI.

Autorisations IAM requises

Avant d'activer la journalisation pour un assistant Connect, vérifiez que vous disposez des Gestion des identités et des accès AWS autorisations suivantes. Elles sont obligatoires pour le compte utilisateur connecté à la console Amazon Connect :

  • wisdom:AllowVendedLogDeliveryForResource : Nécessaire pour autoriser la livraison des journaux pour la ressource d’assistant.

Pour afficher un exemple de rôle IAM avec toutes les autorisations requises pour votre destination de journalisation spécifique, consultez la section Journalisation nécessitant des autorisations supplémentaires [V2]. Cette rubrique contient des exemples pour différentes destinations de journalisation, telles que les journaux envoyés à CloudWatch Logs et les journaux envoyés à Amazon S3. Les exemples montrent comment autoriser les mises à jour de votre ressource de destination de journalisation spécifique.

Activer la journalisation pour les agents Connect AI

Pour activer la journalisation pour les agents Connect AI, vous utilisez l' CloudWatch API. Procédez comme suit :

  1. Obtenez l'ARN de votre assistant (également appelé son domaine). Après avoir créé un assistant, vous pouvez obtenir son ARN depuis la console Amazon Connect ou en appelant l'GetAssistantAPI. L’ARN suit le format suivant :

    arn:aws:wisdom:your-region:your-account-id:assistant/assistant-id

  2. Appel PutDeliverySource: utilisez cette CloudWatch API pour créer une source de diffusion pour l'assistant. Transmettez l’ARN de l’assistant en tant que resourceArn. Pour logType, indiquez à EVENT_LOGS de collecter les journaux auprès de votre assistant.

    { "logType": "EVENT_LOGS", "name": "your-assistant-delivery-source", "resourceArn": "arn:aws:wisdom:your-region:your-account-id:assistant/assistant_id }
  3. Appel PutDeliveryDestination: utilisez cette CloudWatch API pour configurer l'endroit où les journaux doivent être stockés. Vous pouvez choisir CloudWatch Logs, Amazon S3 ou Amazon Data Firehose comme destination pour le stockage des journaux. Vous devez spécifier l’ARN de l’une des options de destination pour l’emplacement de stockage de vos journaux. Vous pouvez choisir le outputFormat des journaux parmi les suivants : json, plain, w3c, raw, parquet.

    L'exemple suivant montre comment configurer les journaux pour qu'ils soient stockés dans un groupe Amazon CloudWatch Logs et au format JSON.

    { "deliveryDestinationConfiguration": { "destinationResourceArn": "arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*" }, "name": "string", "outputFormat": "json", "tags": { "key": "value" } }
  4. Appel CreateDelivery: utilisez cette CloudWatch API pour lier la source de livraison à la destination de livraison que vous avez créée lors des étapes précédentes. Cette opération d’API associe la source de livraison à la destination finale.

    { "deliveryDestinationArn": "string", "deliverySourceName": "string", "tags": { "string": "string" } }

Types de journaux pris en charge

Les agents Connect AI prennent en charge le type de journal suivant :

  • EVENT_LOGS: journaux qui suivent les événements d'un assistant Connect pendant les appels, les discussions, les tâches et les e-mails.

Vérifiez les quotas de CloudWatch logs

Nous vous recommandons de vérifier les points de terminaison et les quotas Amazon CloudWatch Logs pour voir s'il existe des quotas pour effectuer des appels d'API liés à la diffusion CloudWatch des journaux. Les quotas définissent un nombre maximum de fois que vous pouvez appeler une API ou créer une ressource. Le dépassement de cette limite entraîne une erreur ServiceQuotaExceededException.

Documenter des CloudWatch événements à l'aide d'un gestionnaire interactif

Définitions des types d’événements

Le tableau suivant décrit chaque type d’événement. Notez que les différents types d’événements contiennent des champs différents. Reportez-vous à la section Définitions des champs pour obtenir des informations détaillées sur chaque champ.

EventType Définition
TRANSCRIPT_CREATE_SESSION Enregistré lorsqu'une nouvelle session d'agents Connect AI est créée. Cela marque le début d’une conversation.
TRANSCRIPT_INTENT_TRIGGERING_REFERENCE Journalisé lorsqu’une intention spécifique du client est détectée dans la conversation, ce qui peut déclencher des réponses ou des flux de travail automatisés.
TRANSCRIPT_LARGE_LANGUAGE_MODEL_INVOCATION Journalisé lorsqu’un grand modèle de langage (LLM) est invoqué pour générer des réponses ou traiter le contenu d’une conversation. Enregistre les entrées et les sorties du LLM.
TRANSCRIPT_QUERY_ASSISTANT Enregistré lorsque l'un des agents Connect AI suivants est invoqué : AnswerRecommendation CaseSummarization, EmailGenerativeAnswer, EmailOverview, EmailResponse, ManualSearch, NoteTaking.
TRANSCRIPT_RECOMMENDATION Journalisé lorsque le système fournit une recommandation à un agent ou à un client, qui peut inclure des articles de connaissances, des réponses générées ou des suggestions d’actions.
TRANSCRIPT_RESULT_FEEDBACK Journalisé lorsque des commentaires sont fournis sur l’utilité ou la pertinence d’une recherche ou d’un résultat de requête.
TRANSCRIPT_SELF_SERVICE_MESSAGE Enregistré lorsqu'un client interagit avec un agent SelfService Connect AI
TRANSCRIPT_SESSION_POLLED Enregistré lorsque le système détecte qu'un agent est connecté à une session (une session est interrogée lorsqu'un appel d' GetRecommendations API a été effectué)
TRANSCRIPT_TRIGGER_DETECTION_MODEL_INVOCATION Journalisé lorsque le modèle de détection du déclencheur est invoqué pour déterminer si une conversation a des intentions
TRANSCRIPT_UTTERANCE Journalisé lorsqu’un message est envoyé par un participant à la conversation, enregistrement du contenu réel de la conversation.

Définitions des champs

Le tableau suivant décrit chaque champ.

Champ Définition
ai_agent_id Identifiant unique pour la ressource de l'agent Connect AI.
assistant_id Identifiant unique pour la ressource d'assistant Connect.
completion Le texte de complétion brut renvoyé par le LLM ou généré pour le message.
connect_user_arn Amazon Resource Name (ARN) de l’utilisateur Connect accédant à la session.
event_timestamp Horodatage Unix (en millisecondes) lorsque l’événement s’est produit.
event_type Type de l’événement, indiquant l’action ou le processus qui s’est produit dans le système.
generation_id Identifiant unique pour une réponse spécifique générée par l’IA.
intent Le texte ou la description de l’intention.
intent_clicked Booléen indiquant si la recommandation a été déclenchée par une intention cliquée.
intent_id Identifiant unique de l’intention détectée.
issue_probability Probabilité numérique (0,0-1,0) qu’un problème ait été détecté dans la conversation (une probabilité supérieure à 0,5 invoquera la génération d’une intention)
is_recommendation_useful Booléen indiquant si l’utilisateur a trouvé le résultat utile.
is_valid_trigger Booléen indiquant si l’analyse du modèle de détection a abouti à un déclencheur valide.
model_id Identifiant du modèle d’IA utilisé pour invoquer le LLM.
parsed_response processed/parsed Version de la réponse du modèle de langage, souvent dans un format structuré.
prompt L’invite de saisie utilisée pour invoquer le LLM.
prompt_type Type d'invite AI utilisée pour traiter le message ou la requête.
recommendation Le contenu réel du texte de recommandation fourni à l’utilisateur
recommendation_id Identifiant unique de la recommandation.
response Le texte de réponse final généré pour l’utilisateur après traitement.
session_event_id Identifiant unique pour un événement spécifique au cours de la session.
session_event_ids Liste des identifiants d’événements de session.
session_id Identifiant unique pour la session des agents Connect AI.
session_message_id Identifiant unique pour un message en libre-service au cours d’une session.
session_name Nom de la session.
utterance Le texte réel du message échangé au cours de la conversation.

Exemples de journaux d’assistant

Vous trouverez ci-dessous des exemples de journaux d’événements différents pour chaque type d’événement. Reportez-vous à la section Définitions des types d’événements pour obtenir des explications détaillées sur chaque type d’événement.

CreateSession

{ "assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678", "event_timestamp": 1729530173612, "event_type": "TRANSCRIPT_CREATE_SESSION", "session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa", "session_name": "nabbccdd-9999-4b23-aaee-112233445566" }

IntentTriggeringReference

{ "assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678", "event_timestamp": 1729530173623, "event_type": "TRANSCRIPT_INTENT_TRIGGERING_REFERENCE", "intent": "To learn about how to autoscale DynamoDB.", "intent_id": "i78bc90-1234-4dce-8012-f0e1d2c3b4a5", "session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa" }

LargeLanguageModelInvocation

Reformulation de requêtes

{ "ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab", "assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678", "completion": "<query>The customer is asking for information on how to autoscale DynamoDB.</query>", "event_timestamp": 1729530173645, "event_type": "TRANSCRIPT_LARGE_LANGUAGE_MODEL_INVOCATION", "generation_id": "gabc1234-9def-47ff-bb88-abcdefabcdef", "intent_id": "i78bc90-1234-4dce-8012-f0e1d2c3b4a5" "model_id": "us.amazon.nova-lite-v1:0", "parsed_response": "The customer is asking for information on how to autoscale DynamoDB.", "prompt": "{\"anthropic_version\":\"bedrock-2023-05-31\",\"max_tokens\":1024,\"system\":\"You are a...\"}", "prompt_type": "BEDROCK_KB_QUERY_REFORMULATION", "session_event_id": "seaa9988-2233-4f44-8899-abcabcabcabc", "session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa" }

Détection d’intention

{ "ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab", "assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678", "completion": "no</malice>\n - Step 2. <specific>yes</specific>\n - Step 3. <intent>To learn how to autoscale DynamoDB.</intent>", "event_timestamp": 1729530173645, "event_type": "TRANSCRIPT_LARGE_LANGUAGE_MODEL_INVOCATION", "generation_id": "gabc1234-9def-47ff-bb88-abcdefabcdef", "intent_id": "i78bc90-1234-4dce-8012-f0e1d2c3b4a5" "model_id": "us.amazon.nova-lite-v1:0", "parsed_response": "To learn how to autoscale DynamoDB.", "prompt": "{\"anthropic_version\":\"bedrock-2023-05-31\",\"max_tokens\":1024,\"system\":\"You are a...\"}", "prompt_type": "GENERATIVE_INTENT_DETECTION", "session_event_id": "seaa9988-2233-4f44-8899-abcabcabcabc", "session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa" }

Génération de réponse d’intention

{ "ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab", "assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678", "completion": "{\"citations\":[{\"citation\":{\"generatedResponsePart\":{\"textResponsePart\":{\"span\":{\"end\":1065,\"start\":0},\"text\":\"\\nDynamoDB auto s\"}}}}]}", "event_timestamp": 1729530173645, "event_type": "TRANSCRIPT_LARGE_LANGUAGE_MODEL_INVOCATION", "generation_id": "gabc1234-9def-47ff-bb88-abcdefabcdef", "intent_id": "i78bc90-1234-4dce-8012-f0e1d2c3b4a5", "model_id": "us.anthropic.claude-3-7-sonnet-20250219-v1:0", "parsed_response": "DynamoDB auto scaling works by creating CloudWatch alarms that monitor your table's activity. When the...", "prompt": "{\"input\":{\"text\":\"The customer is seeking information on how to autoscale DynamoDB. Key utterance: \\\"How can \"}}", "prompt_type": "BEDROCK_KB_GENERATIVE_ANSWER", "session_event_id": "seaa9988-2233-4f44-8899-abcabcabcabc", "session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa" }

Génération de recherche manuelle

{ "ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab", "assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678", "completion": "no</malice>\n - Step 2. <specific>yes</specific>\n - Step 3. <intent>To learn how to autoscale DynamoDB.</intent>", "event_timestamp": 1729530173645, "event_type": "TRANSCRIPT_LARGE_LANGUAGE_MODEL_INVOCATION", "generation_id": "gabc1234-9def-47ff-bb88-abcdefabcdef", "intent_id": "i78bc90-1234-4dce-8012-f0e1d2c3b4a5", "model_id": "us.anthropic.claude-3-7-sonnet-20250219-v1:0", "parsed_response": "DynamoDB auto scaling works by creating CloudWatch alarms that monitor...", "prompt": "{\"anthropic_version\":\"bedrock-2023-05-31\",\"max_tokens\":1024,\"system\":\"You are a...\"}", "prompt_type": "BEDROCK_KB_GENERATIVE_ANSWER", "session_id": "******************-*****************" }

QueryAssistant

{ "assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678", "event_timestamp": 1729530173667, "event_type": "TRANSCRIPT_QUERY_ASSISTANT", "recommendation_id": "r0001112-3f4e-4fa5-9111-aabbccddeeff", "session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa" }

Recommendation

{ "assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678", "event_timestamp": 1729530173656, "event_type": "TRANSCRIPT_RECOMMENDATION", "intent_clicked": 1, "intent_id": "i78bc90-1234-4dce-8012-f0e1d2c3b4a5", "recommendation_id": "r0001112-3f4e-4fa5-9111-aabbccddeeff", "session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa" }

ResultFeedback

{ "assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678", "event_timestamp": 1729530173667, "event_type": "TRANSCRIPT_RESULT_FEEDBACK", "generation_id": "gabc1234-9def-47ff-bb88-abcdefabcdef", "is_recommendation_useful": 1, "recommendation_id": "r0001112-3f4e-4fa5-9111-aabbccddeeff" }

SelfServiceMessage

{ "assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678", "completion": "{\"citations\":[{\"generatedResponsePart\":{\"textResponsePart\":{\"span\":{\"end\":276,\"start\":0},\"text\":\"To autoscale Amazon DynamoDB...\"}}]}", "event_timestamp": 1729530173678, "event_type": "TRANSCRIPT_SELF_SERVICE_MESSAGE", "model_id": "us.amazon.nova-pro-v1:0", "parsed_response": "To autoscale Amazon DynamoDB, follow these steps:...", "prompt": "{\"input\":{\"text\":\"how to autoscale dynamodb\"},\"retrieveAndGenerateConfiguration\":...}", "prompt_type": "SELF_SERVICE_ANSWER_GENERATION", "session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa", "session_message_id": "mdee1234-5678-4eab-9333-ffeebb998877", "utterance": "[Customer] How can I autoscale DyanmoDB?" }

TranscriptSessionPolled

{ "assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678", "connect_user_arn": "arn:aws:connect:us-east-1:204585150770:instance/seaa9988-2233-4f44-8899-abcabcabcabc/agent/agbbccdd-9999-4b23-aaee-112233445566", "event_timestamp": 1729530173623, "event_type": "TRANSCRIPT_SESSION_POLLED", "session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa", "session_name": "nabbccdd-9999-4b23-aaee-112233445566" }

TriggerDetectionModelInvocation

{ "assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678", "event_timestamp": 1729530173634, "event_type": "TRANSCRIPT_TRIGGER_DETECTION_MODEL_INVOCATION", "is_valid_trigger": 1, "issue_probability": "0.87", "session_event_id": "seaa9988-2233-4f44-8899-abcabcabcabc", "session_event_ids": ["seaa9988-2233-4f44-8899-abcabcabcabc"], "session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa" }

Utterance

{ "assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678", "event_timestamp": 1729530173623, "event_type": "TRANSCRIPT_UTTERANCE", "session_event_id": "seaa9988-2233-4f44-8899-abcabcabcabc", "session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa", "utterance": "[Customer] My laptop won't connect to WiFi after the recent update" }

Exemples de requêtes courantes pour déboguer les journaux d’assistant

Vous pouvez interagir avec les journaux à l’aide de requêtes. Par exemple, vous pouvez rechercher tous les événements d’une session en utilisant SESSION_NAME.

Voici deux requêtes courantes pour renvoyer tous les journaux générés pour une session spécifique.

  • filter session_name = "SessionName"

  • filter session_id = "SessionId"