本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 CloudWatch 日志在 Connect 中监控 Amazon Q
要了解 Amazon Q in Connect 向您的代理提供的实时建议,以及它通过自然语言理解检测到的客户意图,您可以查询 CloudWatch 日志。 CloudWatch 日志可以让你了解整个联系历程:对话、触发因素、意图、推荐。您也可以使用此信息进行调试,或者在联系他们寻求帮助 支持 时将其提供给他们。
本主题介绍如何为 Amazon Q 的 Connect 启用日志记录。
所需的 IAM 权限
在 Connect 助手中启用 Amazon Q 的登录功能之前,请检查您是否具有以下 AWS Identity and Access Management 权限。登录 Amazon Connect 控制台的用户账户需要这些信息:
-
wisdom:AllowVendedLogDeliveryForResource
:要求允许为助理资源传送日志。
要查看具有特定日志记录目标所需全部权限的 IAM 角色示例,请参阅需要额外权限的日志记录 [V2]。该主题包含不同日志记录目标的示例,例如发送到日志的 CloudWatch 日志和发送到 Amazon S3 的日志。这些示例展示了如何允许更新您的特定日志目标资源。
启用 Amazon Q 的 Connect 的日志记录
要在 Connect 中启用 Amazon Q 的日志记录,你可以使用 CloudWatch API。完成以下步骤。
-
获取 Amazon Q 的 Connect 助理的 ARN(也称为其域)。创建助手后,您可以从 A mazon Connect 控制台或通过调用 API 来获取它的 ARN。GetAssistantARN 遵循以下格式:
arn:aws:wisdom:
your-region
:your-account-id
:assistant/assistant-id
-
调用 PutDeliverySource:使用此 CloudWatch API 为助手创建传送来源。将助理的 ARN 作为
resourceArn
传输。对于logType
,指定EVENT_LOGS
从助理收集日志。{ "logType": "EVENT_LOGS", "name": "
your-assistant-delivery-source
", "resourceArn": "arn:aws:wisdom:your-region
:your-account-id
:assistant/assistant_id
} -
调用 PutDeliveryDestination:使用此 CloudWatch API 配置日志的存储位置。您可以选择 CloudWatch 日志、Amazon S3 或 Amazon Data Firehose 作为存储日志的目标。您必须为日志的存储位置指定其中一个目标选项的 ARN。您可以选择日志的
outputFormat
作为以下选项之一:json
、plain
、w3c
、raw
、parquet
。以下示例说明如何将日志配置为以 JSON 格式存储在 Amazon CloudWatch 日志组中。
{ "deliveryDestinationConfiguration": { "destinationResourceArn": "arn:aws:logs:
your-region
:your-account-id
:log-group:your-log-group-name
:*" }, "name": "string", "outputFormat": "json", "tags": { "key": "value" } } -
调用 CreateDelivery:使用此 CloudWatch API 将传送源链接到您在之前的步骤中创建的配送目的地。此 API 操作将发送源与最终目的地关联起来。
{ "deliveryDestinationArn": "string", "deliverySourceName": "string", "tags": { "string": "string" } }
支持的日志类型
Amazon Q 的 Connect 支持以下日志类型:
-
EVENT_LOGS
:用于在通话、聊天和发送电子邮件期间跟踪 Amazon Q in Connect 助手的事件的日志。
检查 CloudWatch 日志配额
我们建议您查看 Amazon CloudWatch Logs 终端节点和配额,以查看是否存在与 CloudWatch 日志传输相关的 API 调用的配额。配额设置了您可以调用 API 或创建资源的最大次数。超过限制会导致 ServiceQuotaExceededException
错误。
使用交互式处理程序记录 CloudWatch 事件
事件类型定义
下表描述了每种事件类型。请注意,不同的事件类型包含不同的字段。有关每个字段的详细信息,请参阅字段定义部分。
EventType | 定义 |
---|---|
转录创建会话 | 创建新的 Amazon Q in Connect 会话时已登录。这标志着对话的开始。 |
转录意图触发引用 | 在对话中检测到特定的客户意图时记录,这可能会触发自动回复或工作流程。 |
TRANSCRIPT_LARGE_LANGUAGE_MODEL_INV | 当调用大型语言模型 (LLM) 来生成响应或处理对话内容时会记录。记录 LLM 的输入和输出。 |
成绩单查询助手 | 在 Connect 中对 Amazon Q 进行手动搜索或直接查询时已记录 |
成绩单推荐 | 当系统向代理或客户提供建议(可能包括知识文章、生成的回复或建议的操作)时记录。 |
成绩单_结果_反馈 | 在提供有关搜索或查询结果的实用性或相关性的反馈时记录。 |
TRANSCRIPT_SELF_SERVIC | 当客户在 Connect 中与 Amazon Q 的自助服务组件进行互动时已登录 |
笔录_会话_民意调查 | 当系统检测到代理已连接到会话时记录(调用 GetRecommendations API 后会对会话进行轮询) |
转录_触发器_检测_模型_调用 | 当调用触发器检测模型来确定对话是否有意图时会记录 |
转录_话语 | 当对话中的任何参与者发送消息时记录,记录实际的对话内容。 |
字段定义
下表描述了每个字段。
字段 | 定义 |
---|---|
ai_agent_id | Amazon Q in Connect 人工智能代理资源的唯一标识符。 |
助手_id | Amazon Q in Connect 助手资源的唯一标识符。 |
completion | 由 LLM 返回或为消息生成的原始完成文本。 |
connect_user_arn | 访问会话的 Connect 用户的亚马逊资源名称 (ARN)。 |
event_timestamp | 事件发生时的 Unix 时间戳(以毫秒为单位)。 |
event_type | 事件的类型,表示系统中发生了什么操作或进程。 |
世代_id | AI 生成的特定 AI 响应的唯一标识符。 |
intent | 意图文字或描述。 |
意图_点击 | 表示推荐是否由点击意图触发的布尔值。 |
意图_id | 检测到的意图的唯一标识符。 |
问题_概率 | 对话中检测到问题的数值概率 (0.0—1.0)(大于 0.5 的概率将调用意图生成) |
_推荐_有用吗 | 表示用户认为结果是否有用的布尔值。 |
is_valid_trigger | 布尔值,表示检测模型分析是否产生了有效的触发器。 |
型号_id | 用于调用 LLM 的 AI 模型的标识符。 |
已解析的响应 | 语言模型响应的 processed/parsed 版本,通常采用结构化格式。 |
提示 | 用于调用 LLM 的输入提示。 |
提示类型 | 用于处理消息或查询的 Amazon Q in Connect 提示的类型。 |
建议 | 提供给用户的实际推荐文字内容 |
推荐_id | 推荐的唯一标识符。 |
响应 | 处理后为用户生成的最终响应文本。 |
会话_事件_ID | 会话中特定事件的唯一标识符。 |
会话_事件_ID | 会话事件标识符列表。 |
session_id | Amazon Q in Connect 会话的唯一标识符。 |
会话_消息_ID | 会话中自助服务消息的唯一标识符。 |
会话名称 | 会话的名称。 |
言语 | 对话中交换的实际消息文本。 |
助理日志示例
以下是每种事件类型的不同事件日志的示例。有关每种事件类型的详细说明,请参阅事件类型定义部分。
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
查询重新配方
{ "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" }
意图检测
{ "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" }
生成意图答案
{ "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" }
手动搜索生成
{ "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" }
建议
{ "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" }
表达
{ "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" }
调试助理日志的常见查询示例
您可以使用查询与日志进行交互。例如,您可以使用 SESSION_NAME
查询会话中的所有活动。
以下是返回特定会话生成的所有日志的两个常用查询。
-
filter session_name = "
SessionName
" -
filter session_id = "
SessionId
"