语义视图 Autopilot¶
在 Snowsight 中,您可以创建和管理语义视图,以在 Cortex Analyst 上定义逻辑表。语义视图对物理表进行抽象,为数据提供业务友好的层。您可以将语义视图与 Cortex Analyst 结合使用,以回答业务问题并进行数据分析。您可以手动创建语义视图,也可以使用一个 AI 辅助生成器语义视图 Autopilot 来创建语义视图。
备注
您也可以使用本节说明创建语义模型,但建议改用语义视图。语义视图提供以下功能:
语义视图支持派生指标等高级功能。
语义视图支持访问权限修改。默认情况下,语义视图是公开的,但您可以将其设为私有。
语义视图是架构对象,可与 Snowflake 的权限系统、共享机制及元数据目录集成。语义模型是存储在暂存区的 YAML 文件,缺少这些原生数据库集成。
生成器使用以下输入来构建视图:
查询历史记录:分析历史 SQL 查询,以识别常用模式、关系及经过验证的查询建议。
表元数据:提取描述、主键/唯一键和基数,以确定表之间关系。
上下文(强烈推荐):使用您提供的示例 SQL 查询或 Tableau 文件来验证关系并提取相关业务逻辑。
先决条件¶
要创建语义视图,必须使用具有以下权限的角色:
对创建语义视图的架构具有 CREATE SEMANTIC VIEW 权限。
数据库和架构上的 USAGE
对语义视图中使用的表和视图具有 SELECT 权限。
您可以从 Tableau 导出模型,并用它自动生成语义视图。除了上述先决条件外,Tableau 引入功能还需要:
您具有写权限的暂存区。
如果 Tableau 文件包含自定义 SQL,您还必须对架构具有 CREATE VIEW 权限,因为 SQL 会被解析为常规 Snowflake 视图。
用于提供上下文的选项¶
虽然提供上下文是可选的,但它对于创建高质量语义视图非常有用。如果没有上下文,模型仅使用数据库架构信息,可能缺少业务细微差别。我们支持以下选项来提供上下文:
选项 1:上传 Tableau 文件¶
语义视图 Autopilot 支持使用 Tableau 文件自动生成语义模型。这可将现有业务逻辑和元数据直接迁移到 Snowflake。
您可以使用 Tableau Desktop 或 Tableau Online 将文件提供给语义视图 Autopilot。语义视图 Autopilot 支持以下文件格式:
TWBTWBXTDS
文件必须满足以下约束:
文件大小:必须小于 50 MB。
无已发布数据源:目前不支持包含已发布数据源的文件。
无大型数据提取:如果使用 .twbx 文件,请确保不包含大型数据提取。如果使用 .twb 文件,请确保不包含大型筛选器或参数。
LOD 计算:不支持详细程度 (LOD) 计算。
您可以从 Tableau Desktop 获取 TWB 或 TWBX 文件。如果找不到,可访问 File | Save As 并选择另存为 TWB。
有关从 Tableau Online 获取视图或工作簿的信息,请参阅 下载视图和工作簿 (https://help.tableau.com/current/pro/desktop/en-us/export.htm)。
将 Tableau 文件提供给语义视图 Autopilot 后,Autopilot 会解析文件以提取以下元数据:
表及列
表之间的关系
Tableau 计算字段
参数和筛选器
自定义 SQL(已解析并转换为常规 Snowflake 视图)
选项 2:提供 SQL 查询¶
您可以添加示例自然语言问题及其对应的 SQL 查询。这有助于模型学习您的特定业务逻辑并创建关系。
Snowflake 在后续步骤中使用这些查询来预先选择表和列,并会在语义模型中自动将这些查询添加为“已验证的查询”。此外,如果能够推断出有效关系,这些关系将被添加到语义视图中。
创建语义视图¶
要创建语义视图,首先导航到生成器:
登录 Snowsight。
在导航菜单中,选择 AI & ML » Cortex Analyst。
在顶部,选择 Create new。
选择 Create new Semantic View。
导航到生成器后,您可以定义语义视图的基本信息:
选择 :ui:`Location`(数据库和架构)来存储视图。
为语义视图输入 Name。
输入 Description。使用清晰的业务术语,帮助 AI 理解视图的用途。
选择 Next。
若要以 Tableau 文件提供上下文和数据,请执行以下操作:
选择 Tableau Files 上传 Tableau .twb、.tds 或 .twbx 文件。
选择要上传的 Tableau 文件。
选择 Next。
现在,您已成功以 Tableau 文件的形式提供语义视图的上下文和数据。
若要以 SQL 查询提供上下文和数据,请执行以下操作:
选择 SQL Queries 手动添加黄金标准示例 SQL 查询。
输入 SQL 查询。
选择 Next。
查看从表中选择的表和列。
选择要包含的特定列。
配置 AI 选项:
Sample Values:选择使用 时默认使用的角色和仓库。选择是否添加样本值。这可以显著提升 Cortex Analyst 的准确性,因为它有助于识别特定数据值,例如特定区域名称。
AI-Generated Descriptions:选择使用 时默认使用的角色和仓库。选择是否根据表和列的名称及内容自动生成描述。这同样是一个显著提升准确性的功能。
要创建语义视图,请执行以下操作:
选择 Create and save。
选择 Save and run。
生成语义视图可能需要几分钟时间。您可以在屏幕上查看进度。
语义视图创建最佳实践¶
在创建语义视图时,请遵循以下提示,以确保高精度。
从最终用户的角度思考使用与业务用户实际使用的词汇相匹配的名称和同义词(例如,使用“Revenue”而非 AMT_TOT)。
简单开始。从小而有针对性的范围开始。例如,销售分析包含 3-5 个表,并逐步扩展。这比构建一个大型“全能”模型能够获得更高的准确性。
查看生成的内容。始终审查 AI 生成的描述和关系。确保其与您的实际业务逻辑一致。
捕获复杂逻辑。使用指标和已验证查询处理复杂计算,以免用户依赖 LLM 从原始列推导出结果。
测试并迭代。创建后,使用实际业务问题在 Cortex Analyst 中测试视图。如果答案有误,请添加已验证查询或更新描述进行修正。