类别:

表函数 (Cortex Agent)

GET_AI_OBSERVABILITY_EVENTS (SNOWFLAKE.LOCAL)

LOCAL 模式 中的 AI_OBSERVABILITY_EVENTS 表返回 AI 可观察性事件。对于 Cortex Agent,请传入 CORTEX AGENT 作为 agent_type;对于与 AI 可观察性 一起使用的外部代理对象,请传入 EXTERNAL AGENT``(请参阅 :doc:`/sql-reference/commands-external-agent`)。每一行都遵循 :doc:`事件表的列结构 </developer-guide/logging-tracing/event-table-columns>`(包括 ``RECORDRECORD_ATTRIBUTESVALUE 以及跟踪字段)。事件可以表示对话活动、跨度(规划、工具、响应生成)、日志、用户反馈以及为该代理或应用程序写入的其他遥测数据。

有关 Snowsight 工作流程和筛选事件(包括反馈)示例,请参阅 监控 Cortex Agent 请求。有关 AI 可观察性如何在事件表中存储数据,请参阅 可观察性数据

另请参阅:

GET_AI_OBSERVABILITY_LOGS (SNOWFLAKE.LOCAL)GET_AI_RECORD_TRACE (SNOWFLAKE.LOCAL)GET_AI_EVALUATION_DATA (SNOWFLAKE.LOCAL)

语法

SNOWFLAKE.LOCAL.GET_AI_OBSERVABILITY_EVENTS( <database>, <schema>, <agent_name>, <agent_type> )

实参

database

包含代理的数据库的名称。

schema

包含代理的架构的名称。

agent_name

您要检索其可观察性事件的代理名称。

agent_type

代理类型字符串。对于 Cortex Agent,请使用 ``CORTEX AGENT``(请参阅 监控 Cortex Agent 请求);对于外部代理对象,请使用 ``EXTERNAL AGENT``(请参阅 外部代理命令)。此值不区分大小写。

返回

一个包含可观察性事件的表。列定义遵循 事件表模式。请使用标准 SQL 进行筛选和投影(例如对 RECORD:nameRECORD_ATTRIBUTESRECORD 内部的严重性字段),以缩小到特定的事件类型。

访问控制要求

用于执行此操作的 角色 必须至少具有以下 权限

权限

对象

备注

CORTEX_USER

数据库角色

USAGE

Cortex Agent 或外部代理

agent_name 所标识的对象是必需的。对于 EXTERNAL AGENT,拥有该外部代理的 USAGE 权限即可调用此函数(MONITOR 不适用)。

MONITOR

Cortex Agent

agent_typeCORTEX AGENT 时,对 agent_name 所标识的 Cortex Agent 是必需的。当 agent_typeEXTERNAL AGENT 时,此权限不适用。

对架构中的对象进行操作至少需要父数据库的一项权限和父架构的一项权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

agent_typeEXTERNAL AGENT 时,调用此函数仅需对该对象具有 USAGE 权限。而使用 ALTER EXTERNAL AGENTDROP EXTERNAL AGENT 修改或移除外部代理对象,则需要对该外部代理具有 OWNERSHIP 权限。

针对典型的 Cortex Agent 监控设置(包括对未来代理的授权),请参阅 监控 Cortex Agent 请求。有关外部代理对可观察性数据的访问,请参阅 可观察性数据

示例

返回某个代理的可观察性事件:

SELECT *
  FROM TABLE(SNOWFLAKE.LOCAL.GET_AI_OBSERVABILITY_EVENTS(
    'my_database',
    'my_schema',
    'my_agent',
    'CORTEX AGENT'
  ));

若要仅列出用户反馈事件,请按事件名称进行筛选(请参阅 View feedback provided by users):

SELECT *
  FROM TABLE(SNOWFLAKE.LOCAL.GET_AI_OBSERVABILITY_EVENTS(
    'my_database',
    'my_schema',
    'my_agent',
    'CORTEX AGENT'
  ))
  WHERE RECORD:name = 'CORTEX_AGENT_FEEDBACK';

通过传入 EXTERNAL AGENT 作为 agent_type 并在 agent_name 中传入外部代理对象名称,该函数同样适用于外部检测的应用程序(请参阅 可观察性数据)。