类别:

系统函数 (控制)

SYSTEM$CREATE_EVALUATION_DATASET

从一个现有表中为 Cortex Agent 评估 创建 Snowflake 数据集。新数据集将注册到数据集名称实参指定的数据库和模式中。

当您希望通过 SQL 创建评估数据集时(例如,按照 Cortex Agent 评估入门 指南中的步骤),可以使用此函数。您也可以在开始评估时通过 Snowsight 从表创建数据集,或者在评估 YAML 文件中定义 dataset 块。有关评估数据的表及列要求,请参阅 数据集格式

另请参阅:

EXECUTE_AI_EVALUATIONGET_AI_EVALUATION_DATA (SNOWFLAKE.LOCAL)

语法

CALL SYSTEM$CREATE_EVALUATION_DATASET(
  '<agent_dataset_type>' ,
  '<source_table_name>' ,
  '<dataset_name>' ,
  <column_mapping>
);

实参

'agent_dataset_type'

Cortex Agent 评估的数据集类型。请使用字符串 Cortex Agent。此值不区分大小写。

'source_table_name'

源表的完全限定名称,该表包含评估输入和标准答案列(例如 MY_DB.MY_SCHEMA.MY_EVAL_TABLE)。

'dataset_name'

Snowflake 创建的数据集的完全限定名称(例如 MY_DB.MY_SCHEMA.MY_EVAL_DATASET)。数据集将在您指定的数据库和模式中创建。

column_mapping

一个 SQL OBJECT,用于将评估字段映射到源表中的列名。包括:

  • query_text:选择使用 时默认使用的角色和仓库。包含输入查询的列的名称 (VARCHAR)。

  • ground_truth:选择使用 时默认使用的角色和仓库。包含每行标准答案 JSON 的 VARIANT 列的名称。

该对象中的键与 Agent Evaluation YAML 规范dataset 部分的 column_mapping 键相对应。

返回

一个字符串消息,指示数据集是否创建成功。

访问控制要求

您需要具备 从输入表创建数据集的权限,包括对数据集所在模式的 CREATE DATASET ON SCHEMA 权限。

示例

以下示例从表 MARKETING_CAMPAIGNS_DB.AGENTS.EVALS_TABLE 创建数据集 MARKETING_CAMPAIGNS_DB.AGENTS.MARKETING_CAMPAIGN_EVALSET,其中使用 INPUT_QUERY 作为查询列,使用 GROUND_TRUTH_DATA 作为标准答案列:

CALL SYSTEM$CREATE_EVALUATION_DATASET(
  'Cortex Agent',
  'MARKETING_CAMPAIGNS_DB.AGENTS.EVALS_TABLE',
  'MARKETING_CAMPAIGNS_DB.AGENTS.MARKETING_CAMPAIGN_EVALSET',
  OBJECT_CONSTRUCT(
    'query_text', 'INPUT_QUERY',
    'ground_truth', 'GROUND_TRUTH_DATA'
  )
);

确认数据集存在:

SHOW DATASETS IN SCHEMA MARKETING_CAMPAIGNS_DB.AGENTS;