Snowflake

Snowflake Cortex AI完全解説|LLM・ML関数の使い方

2026-03-21
更新: 2026-03-27
NicheeLab編集部

Snowflake Cortex AIは、SQL文から直接LLM推論・翻訳・要約・データ抽出・時系列予測を実行できるマネージドAI基盤です。 外部APIキーの管理やインフラ構築は不要で、Snowflakeのガバナンスとアクセス制御の中でAI機能を利用できます。 本記事では、LLM関数・ML Functions・Cortex Search・Document AIの4つの柱を、SQL実行例とともに解説します。

Cortex AIの全体像

Cortex AIはSnowflakeのネイティブAI/MLプラットフォームで、以下の4つの主要機能群で構成されています。

機能群用途呼び出し方式
LLM Functionsテキスト生成・翻訳・要約・抽出SQL関数
ML Functions時系列予測・異常検知・分類SQL関数
Cortex Searchハイブリッド検索(キーワード+セマンティック)サービスオブジェクト
Document AI非構造化ドキュメントからのデータ抽出モデルオブジェクト

LLM Functions(SNOWFLAKE.CORTEX名前空間)

LLM FunctionsはSQLのSELECT文から呼び出せるビルトイン関数です。すべてSNOWFLAKE.CORTEX スキーマに属し、ウェアハウスではなくSnowflakeのサーバーレスコンピュートで実行されます。

COMPLETE — テキスト生成

指定したLLMモデルでプロンプトに基づくテキスト生成を行います。チャット形式(メッセージ配列)とシンプルなテキスト入力の2つの呼び出し方法があります。

-- シンプルなテキスト生成
SELECT SNOWFLAKE.CORTEX.COMPLETE(
  'llama3.1-70b',
  'Snowflakeのマイクロパーティションの利点を3つ挙げてください'
) AS response;

-- チャット形式(system / user ロール)
SELECT SNOWFLAKE.CORTEX.COMPLETE(
  'mistral-large2',
  [
    {'role': 'system', 'content': 'あなたはSnowflakeエキスパートです。'},
    {'role': 'user', 'content': 'クラスタリングキーの選定基準を教えてください'}
  ],
  {'temperature': 0.3, 'max_tokens': 1024}
) AS response;

TRANSLATE — 翻訳

テキストを指定言語に翻訳します。ソース言語は省略すると自動検出されます。

SELECT SNOWFLAKE.CORTEX.TRANSLATE(
  'Snowflake decouples storage and compute for elastic scaling.',
  'en', 'ja'
) AS translated;
-- → Snowflakeは弾力的なスケーリングのためにストレージとコンピュートを分離しています。

SUMMARIZE — 要約

長文テキストを自動的に要約します。テーブル内のドキュメントカラムに対してバッチ要約が可能です。

SELECT
  doc_id,
  SNOWFLAKE.CORTEX.SUMMARIZE(content) AS summary
FROM support_tickets
WHERE created_at >= DATEADD(day, -7, CURRENT_DATE());

EXTRACT_ANSWER — 質問応答型の抽出

テキストから特定の質問に対する回答を抽出します。RAGパイプラインの後処理やFAQ自動生成に有効です。

SELECT SNOWFLAKE.CORTEX.EXTRACT_ANSWER(
  'Snowflake was founded in 2012 by Benoit Dageville, Thierry Cruanes, and Marcin Zukowski.',
  'Who founded Snowflake?'
) AS answer;
-- → [{"answer": "Benoit Dageville, Thierry Cruanes, and Marcin Zukowski", "score": 0.95}]

SENTIMENT — 感情分析

テキストの感情スコアを-1(ネガティブ)から1(ポジティブ)の範囲で返します。

SELECT
  review_text,
  SNOWFLAKE.CORTEX.SENTIMENT(review_text) AS score
FROM product_reviews
ORDER BY score ASC
LIMIT 10;  -- 最もネガティブなレビュー上位10件

利用可能モデル一覧

Cortex AI LLM Functionsで利用できる主要モデルの比較です。リージョンによって利用可否が異なります。

モデル名提供元パラメータ規模主な用途
llama3.1-405bMeta405B高精度な推論・複雑なタスク
llama3.1-70bMeta70B汎用テキスト生成・分析
llama3.1-8bMeta8B低レイテンシ処理・分類
mistral-large2Mistral AI123B多言語・コード生成
mistral-7bMistral AI7B軽量タスク・リアルタイム
snowflake-arcticSnowflakeMoE 480BSQL生成・エンタープライズ向け
jamba-1.5-largeAI21 Labs398B長文コンテキスト処理
gemma-7bGoogle7B軽量推論・研究用途

ML Functions — コードレスML

ML FunctionsはSQLだけで時系列予測や異常検知を実行できるビルトイン機能です。モデル訓練・推論がすべてSnowflake内で完結し、外部ツールは不要です。

FORECAST — 時系列予測

-- 予測モデルの作成
CREATE OR REPLACE SNOWFLAKE.ML.FORECAST sales_forecast(
  INPUT_DATA => SYSTEM$REFERENCE('TABLE', 'daily_sales'),
  TIMESTAMP_COLNAME => 'sale_date',
  TARGET_COLNAME => 'revenue'
);

-- 30日先の予測を実行
CALL sales_forecast!FORECAST(
  FORECASTING_PERIODS => 30,
  CONFIG_OBJECT => {'prediction_interval': 0.95}
);

ANOMALY_DETECTION — 異常検知

-- 異常検知モデルの作成
CREATE OR REPLACE SNOWFLAKE.ML.ANOMALY_DETECTION sensor_anomaly(
  INPUT_DATA => SYSTEM$REFERENCE('TABLE', 'sensor_readings'),
  TIMESTAMP_COLNAME => 'reading_time',
  TARGET_COLNAME => 'temperature',
  LABEL_COLNAME => ''  -- 教師なし
);

-- 新しいデータに対して異常判定
CALL sensor_anomaly!DETECT_ANOMALIES(
  INPUT_DATA => SYSTEM$REFERENCE('TABLE', 'new_sensor_readings'),
  TIMESTAMP_COLNAME => 'reading_time',
  TARGET_COLNAME => 'temperature'
);

Cortex Search

Cortex Searchはキーワード検索とセマンティック検索を組み合わせたハイブリッド検索サービスです。CREATE CORTEX SEARCH SERVICEで検索インデックスを作成し、REST APIまたはPythonクライアントからクエリを実行します。RAGパイプラインのリトリーバとして利用するのが主要なユースケースです。

Document AI

Document AIは請求書・契約書・フォームなどの非構造化ドキュメントから構造化データを抽出する機能です。Snowsight UIでモデルを作成し、抽出する値(フィールド)を定義します。内部的にはOCRとLLMを組み合わせて解析しており、Snowflake内でデータが処理されるためセキュリティ要件を満たしやすい点が特徴です。

-- Document AIモデルの利用例
SELECT
  invoice!PREDICT(
    GET_PRESIGNED_URL(@docs_stage, 'invoice_001.pdf')
  ):vendor_name::STRING AS vendor,
  invoice!PREDICT(
    GET_PRESIGNED_URL(@docs_stage, 'invoice_001.pdf')
  ):total_amount::NUMBER(10,2) AS amount
FROM DUAL;

権限とガバナンス

Cortex AI関連の権限設計は以下のように整理されます。

操作必要な権限備考
LLM関数の呼び出しSNOWFLAKE.CORTEX_USERデータベースロールSNOWFLAKE共有DBへのアクセスが必要
ML Functionsモデル作成CREATE SNOWFLAKE.ML.FORECAST等スキーマ上のCREATE権限
Cortex Searchサービス作成CREATE CORTEX SEARCH SERVICEスキーマ上のCREATE権限
Document AIモデル作成CREATE SNOWFLAKE.ML.DOCUMENT_INTELLIGENCESnowsight UIで管理

アーキテクチャ上の位置づけ

Cortex AI機能はすべてSnowflakeのサービスレイヤーまたはサーバーレスコンピュートで実行されます。ユーザーのウェアハウスリソースを消費しないLLM関数と、ウェアハウスが必要なML Functionsの違いを理解することが試験対策上重要です。

クエリ実行フロー:

[ユーザーSQL]
     │
     ├─ LLM Functions ──→ サーバーレスコンピュート(WH不要)
     │                      └─ 課金: トークン数ベース
     │
     ├─ ML Functions ───→ ユーザーウェアハウス(WH必要)
     │                      └─ 課金: クレジット消費
     │
     └─ Cortex Search ──→ サーバーレスコンピュート(WH不要)
                            └─ 課金: サーバーレスクレジット

試験対策のポイント

  • LLM関数はSNOWFLAKE.CORTEX名前空間に属し、ウェアハウスなしで実行可能
  • ML Functions(FORECAST、ANOMALY_DETECTION)はウェアハウスを使用する
  • COMPLETE関数はモデル名を第1引数に取る(例: 'llama3.1-70b')
  • Cortex Searchはキーワード+セマンティックのハイブリッド検索
  • すべてのCortex AI機能はSnowflake内でデータを処理し、外部送信しない
  • Document AIはSnowsight UIからモデルを作成・管理する

サンプル問題

Cortex AI

問題 1

SnowflakeのCortex AI LLM関数について正しい記述はどれか?

  1. A. COMPLETE関数はユーザーのウェアハウスリソースを消費して実行される
  2. B. TRANSLATE関数はソース言語を必ず明示的に指定する必要がある
  3. C. LLM関数はSNOWFLAKE.CORTEX名前空間に属し、サーバーレスコンピュートで実行される
  4. D. SENTIMENT関数はテキストを「ポジティブ」「ネガティブ」の2値で分類する

正解: C

Cortex AIのLLM関数(COMPLETE、TRANSLATE、SUMMARIZE等)はすべてSNOWFLAKE.CORTEX名前空間に属し、ユーザーのウェアハウスではなくSnowflakeのサーバーレスコンピュートで実行されます。Aは誤りでウェアハウス不要、Bは誤りでソース言語は省略可(自動検出)、Dは誤りでSENTIMENTは-1〜1の連続値スコアを返します。

よくある質問

Cortex AIのLLM関数を使うとき、Snowflake外にデータが送信されますか?

いいえ。SNOWFLAKE.CORTEX名前空間のLLM関数(COMPLETE、TRANSLATE、SUMMARIZEなど)はすべてSnowflakeのインフラ内で処理されます。データが外部サービスに送信されることはなく、Snowflakeのデータガバナンスとアクセス制御がそのまま適用されます。ただし、モデルの選択によって利用可能なリージョンが異なる点には注意が必要です。

ML Functions(FORECAST / ANOMALY_DETECTION)の利用にML経験は必要ですか?

不要です。ML FunctionsはSQLインターフェースで呼び出すため、モデルのハイパーパラメータ調整やフレームワークの知識は不要です。時系列データを含むテーブルを指定するだけで、Snowflakeが自動的にモデルを訓練・推論します。必要なのはCREATE SNOWFLAKE.ML.*権限とウェアハウスのコンピュートリソースのみです。

Cortex AIで利用可能なLLMモデルはどう選べばよいですか?

用途とコストのバランスで選択します。高精度な推論や複雑なタスクにはLlama 3.1 405BやMistral Largeが適しています。低レイテンシが求められるリアルタイム処理にはLlama 3.1 8BやMistral 7Bが向いています。Snowflake Arcticはテキスト生成のコストパフォーマンスに優れ、エンタープライズ向けのSQL生成やコード生成で強みがあります。SHOW CORTEX SEARCH MODELS で利用可能モデルを確認できます。

この記事で学んだ内容を問題で確認しましょう

16,000問以上の問題で実力チェック

無料で問題を解いてみる
この記事の著者

NicheeLab編集部

データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。


関連記事
Snowflake

Snowflake資格一覧|全11試験(SnowPro)の難易度・費用

Snowflake認定資格(SnowPro)全11試験の一覧・難易度・費用・出題範囲を徹底解説。...

Snowflake

Snowflake試験の難易度ランキング|全11資格を徹底比較

Snowflake(SnowPro)認定全11試験の難易度をランキング形式で比較。学習時間・合格に必要なスキルから分析。...

Snowflake

Snowflake資格の勉強方法|効率的な学習ルートと合格のコツ

Snowflake認定資格(SnowPro)に最短で合格するための勉強方法。公式リソース・学習スケジュールを徹底ガイド。...

Snowflake

SnowPro Core試験完全解説|出題範囲・問題例・合格戦略

SnowPro Core Certification(COF-C03)を徹底解説。出題範囲・100問の試験形式・合格ライ...

Snowflake

SnowPro Platform Associate完全解説|入門試験の攻略

SnowPro Associate: Platform Certification(SOL-C01)を徹底解説。最も簡単...

Snowflakeの記事一覧 (102件)
© 2026 NicheeLab All rights reserved.