Cortex Analyst 的路由模式

路由模式是一种查询生成策略,优先采用语义化 SQL 查询,仅在必要时回退至标准 SQL 查询。它相当于一个更简单的 SQL 版本,其安全防护机制来源于您的语义视图。路由模式使用您的语义视图来提高准确性和一致性。因此,指标、联接和筛选器遵循语义视图中的治理定义。

当基于语义视图生成查询时,Cortex Analyst 会自动使用路由模式。除了获得更高的文本转 SQL 质量外,您的工作流程无需任何改变。

备注

路由模式不会更改权限。语义视图是具有标准权限的 Snowflake 对象;访问权限的强制执行方式与表或视图相同。

路由模式的优势

路由模式具有以下优势:

  • 一致的指标: 查询使用来自语义视图(而不是 SQL)的定义。

  • 更安全的默认值: 维度、指标和联接来自受治理的元数据。

  • 适合 LLM: 更简短的 SQL 能让 LLM 更准确地生成结果。

路由模式在以下情况下可能很有用:

  • 您有一个或多个定义核心业务实体和指标的语义视图。

  • 您希望为常见问题提供一致的答案,并为边缘情况提供灵活性。

例如,考虑以下场景以及路由模式如何处理这些场景:

  • 通过业务维度查询受治理指标

    • 用户意图:“按客户细分划分的平均订单价值。”

    • 路由行为: 先尝试语义 SQL,因此联接和指标计算来自视图。

      SELECT *
      FROM SEMANTIC_VIEW(
        tpch_analysis
        DIMENSIONS customer.customer_market_segment
        METRICS orders.order_average_value
      )
      ORDER BY customer_market_segment;
      
      Copy
    • 优势: 无需手动联接或指标公式。结果与您的 BI 定义保持一致。

  • 使用单一维度的多个受治理指标

    • 用户意图:“按年份显示总收入和订单数。”

      SELECT *
      FROM SEMANTIC_VIEW(
        tpch_analysis
        DIMENSIONS orders.order_year
        METRICS orders.total_revenue, orders.order_count
      )
      ORDER BY order_year;
      
      Copy
    • 优势: 这两个指标使用与语义视图中相同的定义和筛选器。

  • 未覆盖请求的回退

    • 用户意图:“显示未在视图中建模的原始列或转换。”

    • 路由行为: 如果语义视图无法满足请求,Cortex Analyst 会自动路由到基于基表的标准 SQL。

    • 优势: 在不阻塞用户的前提下提供了灵活性。

工作原理

以下过程概述了 Cortex Analyst 在使用路由模式时执行的步骤。

  1. Cortex Analyst 在 Playground、API 和所有产品界面中使用路由模式。

  2. Cortex Analyst 尝试生成语义 SQL。

    SELECT  FROM SEMANTIC_VIEW(...).
    
    Copy
  3. 如果 Cortex Analyst 在超时时间内无法生成能够回答问题的有效语义 SQL 查询,则会路由到基于物理表的标准 SQL。

备注

总体而言,路由模式仅在大约 10% 的查询中会生成语义 SQL。此比例会根据语义视图中定义的指标所覆盖的业务范围而变化。

注意事项

  • 如果语义视图无法满足某个问题,Cortex Analyst 将回退到标准 SQL。您应该扩展语义视图,以逐步减少回退的发生。

语言: 中文