Cortex Analystのルーティングモード

ルーティングモードは、セマンティック SQL を優先して、必要な場合にのみ標準 SQL にフォールバックするクエリ生成戦略です。SQL のよりシンプルなバージョンとして機能しますが、セマンティックビューからのガードレールを使用します。ルーティングモードでは、セマンティックビューを使用して、より高い精度と一貫性を実現します。その結果、メトリック、結合、フィルターはセマンティックビューの管理された定義に従います。

Cortex Analystは、セマンティックビューに基づく生成時に、自動的にルーティングモードを使用します。Text-To-SQLの品質が向上することを除いて、ワークフローに変更はありません。

注釈

ルーティングモードは権限を変更しません。セマンティックビューは、標準の権限を持つSnowflakeオブジェクトです。アクセスは、テーブルやビューと同じ方法で強制されます。

ルーティングモードの利点

ルーティングモードには、次の利点があります。

  • 一貫性のあるメトリック: クエリは SQL ではなく、セマンテックビューからの定義を使用します。

  • 安全なデフォルト: ディメンション、メトリック、および結合は、管理されたメタデータから取得します。

  • LLM フレンドリー: SQL が短いほど、LLM が正しく生成しやすくなります。

ルーティングモードは、次の状況で有益な場合があります。

  • 主要なビジネスエンティティとメトリックを定義する1つ以上のセマンティックビューがあります。

  • 一般的な質問に対する一貫した回答と、エッジケースに対応する柔軟性が必要です。

たとえば、次のシナリオと、ルーティングモードがそれらのシナリオをどのように処理するかを考えます。

  • 管理されたメトリックをビジネスディメンション別に求める

    • ユーザーの意図: 「顧客セグメントごとの平均注文値」。

    • ルーティングの動作: まず、セマンティック SQL を試すので、結合とメトリック計算はビューに由来します。

      SELECT *
      FROM SEMANTIC_VIEW(
        tpch_analysis
        DIMENSIONS customer.customer_market_segment
        METRICS orders.order_average_value
      )
      ORDER BY customer_market_segment;
      
      Copy
    • 利点: 手動結合やメトリック式はありません。結果は BI 定義と一致します。

  • 複数の管理されたメトリックと1つのディメンション

    • ユーザーの意図: 「年ごとの総売上と注文数を表示する」。

      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はプレイグラウンド、API、およびすべての製品のサーフェスでルーティングモードを使用します。

  2. Cortex Analystは、セマンティック SQL の生成を試みます。

    SELECT  FROM SEMANTIC_VIEW(...).
    
    Copy
  3. Cortex Analystが、タイムアウト内に質問に回答する有効なセマンティック SQL クエリを生成できない場合、Cortex Analystは物理テーブルでの標準 SQL にルーティングします。

注釈

ルーティングモードでは、セマンティック SQL になるのは、合計でクエリの約10%のみです。この数値は、セマンティックビューで定義されたメトリックの適用範囲によって異なります。

考慮事項

  • セマンティックビューでは質問を満たせない場合、Cortex Analystは標準 SQL にフォールバックします。時間とともにフォールバックを減らすために、セマンティックビューを展開する必要があります。