Snowflake Cortex入門|AI関数・Cortex Search・Cortex Analyst・料金と注意点を解説

Snowflake Cortex入門のアイキャッチ図解。AI関数、Cortex Search、Cortex Analystといった主要機能の全体像に加え、利用料金体系や導入時の注意点までを俯瞰的にまとめたビジュアルイメージ Snowflake
この記事をシェアする𝕏B!FacebookLINEPocket

はじめに:SnowflakeでAIを使える時代に

Snowflake Cortexは、Snowflake上のデータに対してAI処理を実行できる機能群です。SQLからLLMを呼び出す AI_COMPLETE、文書や画像から情報を抽出する AI_EXTRACT、レビューを感情分析する AI_SENTIMENT、RAGの検索基盤になるCortex Search、自然言語でデータ分析できるCortex Analystなどが含まれます。外部APIキーや別のAI基盤を用意せず、Snowflake上でAI活用を始められるのが大きな特徴です。

本記事ではSnowflake Cortexの全体像、Cortex AI Functions・Cortex Search・Cortex Analyst・Cortex Agentsの位置づけ、料金、権限、注意点を初心者向けに整理します。各機能の詳細は個別記事へ進める「ハブ記事」として活用してください。

Snowflake Cortexとは?

Snowflake Cortexは、Snowflakeが提供するAI / 機械学習機能の総称です。Snowflakeにすでに保存されているテーブル・ステージ・文書ファイルなどに対して、SQLや専用APIから直接AI処理を実行できます。データを外部のAIサービスに転送する必要がないため、ガバナンスを保ったままAI活用を進めやすいのが特徴です。

  • Snowflakeのロール・行レベルセキュリティ・マスキングがそのまま効く
  • SQLでAIを呼び出せるので、データエンジニアやアナリストが扱いやすい
  • RAGやエージェントもSnowflake内で完結できる

Snowflake Cortexでできること

  • SQLでLLMに質問して回答を生成する
  • レビューや問い合わせを感情分析する
  • 多言語のテキストを翻訳する
  • 長文や複数行データを要約・洞察抽出する
  • PDF、画像、Officeファイルから情報を抽出する
  • テキストや画像を分類する
  • テキストを埋め込み(ベクトル)化して類似度検索する
  • 社内文書のRAG検索基盤を作る
  • 自然言語で構造化データを分析する
  • 複数ツールを組み合わせたAIエージェントを構築する

Cortex全体像:主な機能マップ

機能できること主な用途
Cortex AI Functions / AISQLSQLからAI関数を呼び出す要約、翻訳、分類、抽出、感情分析
Cortex Search意味検索・ハイブリッド検索RAG、社内文書検索、問い合わせ検索
Cortex Analyst自然言語からSQL分析BI、ダッシュボード、データ分析支援
Cortex Agents複数ツールを組み合わせたAIエージェントSearchやAnalystを組み合わせた対話型AI
Cortex REST APIアプリケーションからCortexを呼び出すWebアプリ、外部サービス連携
Document / Multimodal系PDF、画像、音声などの非構造化データ処理文書抽出、OCR、文字起こし、画像分析

初心者の方は、まずSQLから使いやすいCortex AI Functionsから入り、必要に応じてCortex Search / Analyst / Agentsへ広げていくのがおすすめです。

Cortex AI Functionsとは?

Cortex AI Functions / AISQL:SQLでAI処理を実行する

以前は SNOWFLAKE.CORTEX.COMPLETE などのCortex LLM関数として紹介されることが多かったですが、現在は AI_COMPLETEAI_EXTRACTAI_TRANSLATEAI_SENTIMENT などのCortex AI Functions / AISQLとして整理されています。SQLの関数として呼び出せるため、データエンジニアやアナリストがSnowflakeの中だけでAIを試しやすくなっています。

各関数のまとめはSnowflake Cortex AI関数まとめもあわせてご覧ください。

旧Cortex LLM関数と現在のAI関数の違い

過去記事や旧コードでは SNOWFLAKE.CORTEX.* 形式の関数が登場します。これらは現在も利用できる場合がありますが、新規実装では AI_* 関数を中心に検討するのがおすすめです。代表的な対応関係を整理しておきます。

目的現在おすすめの関数旧関数・関連関数用途
自由なAI回答生成AI_COMPLETESNOWFLAKE.CORTEX.COMPLETEプロンプトに対する回答生成
翻訳AI_TRANSLATESNOWFLAKE.CORTEX.TRANSLATE多言語翻訳
感情分析AI_SENTIMENTSNOWFLAKE.CORTEX.SENTIMENTレビューや問い合わせのポジネガ分析
単一テキスト要約SNOWFLAKE.CORTEX.SUMMARIZE長文を短く要約
複数行の要約AI_SUMMARIZE_AGGレビュー一覧や問い合わせ一覧の集約要約
複数行から洞察抽出AI_AGG複数行データから傾向や論点を抽出
文書・画像から情報抽出AI_EXTRACTEXTRACT_ANSWERPDF、画像、テキストから項目抽出
分類AI_CLASSIFYCLASSIFY_TEXTテキストや画像のカテゴリ分類
フィルターAI_FILTER条件に合う行だけをAIで判定
埋め込みAI_EMBEDEMBED_TEXT_768 / EMBED_TEXT_1024ベクトル検索、類似度検索
トークン数確認AI_COUNT_TOKENSCOUNT_TOKENSコスト・上限の事前確認

旧関数も急に廃止されるわけではありませんが、新規実装は AI_* 関数を中心に検討しておくと、ドキュメントや今後の機能拡張にも追随しやすくなります。

まず覚えたい主要AI関数

  • AI_COMPLETE:プロンプトをLLMに渡して自由な文章を生成
  • AI_TRANSLATE:多言語翻訳
  • AI_SENTIMENT:テキストのポジティブ / ネガティブを判定
  • AI_EXTRACT:テキスト・PDF・画像から構造化情報を抽出
  • AI_AGG / AI_SUMMARIZE_AGG:複数行データの集約要約・洞察抽出
  • AI_CLASSIFY:テキスト・画像の分類
  • AI_FILTER:条件に合うかどうかをAIで判定し、行を絞り込む
  • AI_EMBED:テキスト・画像の埋め込みベクトル生成
  • AI_COUNT_TOKENS:呼び出し前にトークン数を見積もる

SUMMARIZE系の使い分け

  • 単一の英語テキストをシンプルに要約したい:SNOWFLAKE.CORTEX.SUMMARIZE
  • 日本語や要約形式を細かく指定したい:AI_COMPLETE
  • 複数行のテキストをまとめて要約したい:AI_SUMMARIZE_AGG
  • 複数行から特定観点の洞察を出したい:AI_AGG

SQLだけでAIを呼び出す基本例

AI_SENTIMENTの例

SELECT
  review_id,
  review_text,
  AI_SENTIMENT(review_text) AS sentiment_result
FROM customer_reviews
LIMIT 10;

AI_COMPLETEの例

SELECT AI_COMPLETE(
  'mistral-large2',
  'Snowflakeのウェアハウスを停止するSQLを初心者向けに説明してください'
) AS answer;

AI_TRANSLATEの例

SELECT AI_TRANSLATE(
  comment_text,
  'ja',
  'en'
) AS comment_en
FROM user_comments
LIMIT 10;

AI_EXTRACTの例

SELECT AI_EXTRACT(
  '契約日は2026年4月1日、契約金額は500万円です。',
  {'contract_date': '契約日はいつですか?', 'amount': '契約金額はいくらですか?'}
) AS extracted;

各関数の詳しい使い方は、Snowflake AI_COMPLETE関数入門Snowflake AI_TRANSLATE関数入門Snowflake AI_EXTRACT入門SUMMARIZE / AI_SUMMARIZE_AGGの記事もご覧ください。

Cortex Searchとは?

Cortex Searchは、Snowflake上のテキストデータに対して意味検索やハイブリッド検索を実現するマネージドサービスです。社内文書、問い合わせ履歴、FAQ、製品マニュアルなどを検索し、RAGアプリケーションの検索基盤として使えます。

  • ベクトル検索とキーワード検索を組み合わせたハイブリッド検索が使える
  • RAG(Retrieval Augmented Generation)の検索部分として活用できる
  • 社内文書検索、問い合わせ検索、FAQ検索に向く
  • AI_EMBED やチャンク分割(文書の分割)と関連が深い
  • インデックスの更新・ベクトル化はSnowflake側が管理してくれる

RAGの検索基盤を作りたいときは、Cortex Search単体の記事もあわせてご確認ください(別記事で詳しく解説しています)。

Cortex Analystとは?

Cortex Analystは、自然言語の質問をもとにSnowflake内の構造化データを分析する機能です。ユーザーが「先月の売上トップ5は?」のように質問すると、セマンティックモデルをもとにSQLを生成し、分析結果を返します。

  • 構造化データ(売上、注文、顧客テーブルなど)向け
  • セマンティックモデル(列の意味・指標定義)が品質の鍵になる
  • BIやダッシュボードの自然言語UIに向く
  • ユーザーは自然言語で質問するだけで、裏側でSQLが生成・実行される

Cortex SearchとCortex Analystの違い

機能対象データ主な用途
Cortex Search文書、問い合わせ、FAQなどの非構造化テキスト検索、RAG
Cortex Analyst売上、注文、顧客などの構造化テーブル自然言語BI、SQL生成

Cortex Agentsとは?

Cortex Agentsは、Cortex SearchやCortex Analystなどを組み合わせ、ユーザーの質問に対して検索・分析・回答生成を行うエージェント型の仕組みです。Cortexの中ではやや発展的な領域なので、初心者の方はまずCortex AI Functions、Cortex Search、Cortex Analystから学ぶのがおすすめです。

Document AI・Multimodal系でできること

Cortexには、PDF・画像・音声などの非構造化データを扱うための機能群も含まれます。

  • Document AI / PARSE_DOCUMENT:PDFやOfficeファイルからテキスト・テーブルを抽出
  • AI_EXTRACT:文書・画像から特定の項目をJSONで抽出
  • AI_CLASSIFY:画像のカテゴリ分類
  • AI_TRANSCRIBE(該当機能がある場合):音声ファイルの文字起こし

利用できる関数・モデルはリージョン・エディション・時期によって異なるため、本番利用前にSnowflake公式ドキュメントで現在の対応状況を確認してください。

Snowflake Cortexの料金体系

Snowflake Cortexの利用料は、おおまかに次のように考えるとイメージしやすくなります。

  • Cortex AI Functionsは、処理したトークン数やページ数に基づいてクレジットを消費します。
  • AI_COMPLETE入力トークンと出力トークンの両方がコストに影響します。
  • AI_TRANSLATEAI_SENTIMENTSUMMARIZE なども入力テキスト量に注意が必要です。
  • AI_EXTRACTAI_PARSE_DOCUMENT、Document AI系はページ数やファイル数がコストに大きく影響します。
  • Cortex Guard など追加のガードレール機能を使うと、追加コストが発生する場合があります。
  • 関数の実行時には通常のウェアハウスも使うため、AI関数のクレジットとウェアハウスのクレジットを分けて考える必要があります。
  • 正確な単価はSnowflake公式のService Consumption Tableを確認してください。

料金の注意点(初心者向け)

注意点理由対策
いきなり全件実行しない行数×トークン数でコストが増えるLIMIT 10 で試す
プロンプトを長くしすぎない入力トークンが増える指示文を短く明確にする
出力を長くしすぎない出力トークンも課金対象になる箇条書き・JSONなど形式を指定する
高性能モデルを最初から使わないモデルによって単価が変わる軽量モデルで試してから比較する
PDFや画像を大量処理しないページ数・ファイル数で増えやすい少量ファイルで検証する
利用状況を定期確認するAI関数は気づかないうちに増えやすいUsage Historyを確認する

Snowflakeの料金体系全体については、Snowflakeの料金体系をやさしく解説もあわせてご覧ください。

Cortex AI関数の使用量を確認するSQL

Cortex AI関数の利用量は、Account Usageの専用ビューで確認できます。まずは DESC VIEW で列構成を確認してから集計するのがおすすめです。

DESC VIEW SNOWFLAKE.ACCOUNT_USAGE.CORTEX_AI_FUNCTIONS_USAGE_HISTORY;

日別・関数別・モデル別のクレジット消費を集計する例:

SELECT
  DATE_TRUNC('day', START_TIME) AS usage_date,
  FUNCTION_NAME,
  MODEL_NAME,
  SUM(CREDITS) AS total_credits,
  COUNT(DISTINCT QUERY_ID) AS query_count
FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_AI_FUNCTIONS_USAGE_HISTORY
WHERE START_TIME >= DATEADD('day', -30, CURRENT_TIMESTAMP())
GROUP BY 1, 2, 3
ORDER BY usage_date DESC, total_credits DESC;

過去の情報や環境によっては CORTEX_FUNCTIONS_USAGE_HISTORY という名前のビューを見かけることもあります。ビュー名・列名はSnowflakeの仕様変更で変わる可能性があるため、最新の構成は公式ドキュメントとアカウントの SHOW VIEWS IN SCHEMA SNOWFLAKE.ACCOUNT_USAGE; で確認してください。

Cortexを使うための権限

Cortex AI Functionsを使うには、利用ロールにAI関数を実行するための権限が必要です。環境によっては PUBLIC ロールに広めに付与されている場合もありますが、本番環境では必要なロールに限定する方が安全です。

USE ROLE ACCOUNTADMIN;

CREATE ROLE IF NOT EXISTS cortex_ai_user_role;

GRANT USE AI FUNCTIONS ON ACCOUNT TO ROLE cortex_ai_user_role;
GRANT DATABASE ROLE SNOWFLAKE.AI_FUNCTIONS_USER TO ROLE cortex_ai_user_role;

GRANT ROLE cortex_ai_user_role TO USER your_user_name;
  • USE AI FUNCTIONS アカウント権限が必要です。
  • SNOWFLAKE.CORTEX_USER または SNOWFLAKE.AI_FUNCTIONS_USER データベースロールも必要になります。
  • CORTEX_USER はCortex系サービス全体に対して広めの権限を持つ場合があるため、最小権限で運用するなら AI_FUNCTIONS_USER を検討するのがおすすめです。
  • スカラーAI関数だけを使わせたい場合は AI_FUNCTIONS_USER で十分なケースが多いです。
  • 本番環境では PUBLIC に広く付与しすぎないように注意してください。

Cortexを使う前に知っておきたい注意点

  • リージョンによって利用できる関数・モデルが異なる場合があります。
  • 一部機能はPreviewの場合があります。
  • 本番利用前に公式ドキュメントでGA / Previewの状態を確認してください。
  • 機密情報・個人情報を扱う場合は、社内のセキュリティ・コンプライアンスルールを必ず確認してください。
  • AIの出力は必ずしも正しいとは限りません。重要な判断に使う場合は、人手確認や検証フローを入れてください。
  • 大量実行前には LIMITWHERE で対象を絞ってください。
  • コスト監視SQLを定期実行し、突発的な増加を早期に検知してください。
  • Cortex SearchやCortex Analystは、AI関数とは別の設定・権限・コストが関係する場合があります。

コストが急増した場合の調査方法はSnowflakeのクレジット急増の原因調査と削減方法、予算超過を防ぐ仕組みはSnowflake Resource Monitor入門も参考になります。

どの機能から学べばいい?

やりたいこと最初に学ぶ機能
SQLでAIに文章生成させたいAI_COMPLETE
レビューや問い合わせを感情分析したいAI_SENTIMENT
多言語翻訳したいAI_TRANSLATE
PDFや契約書から情報を抜き出したいAI_EXTRACT
複数行のレビューをまとめたいAI_AGG / AI_SUMMARIZE_AGG
社内文書検索を作りたいCortex Search
自然言語で売上分析したいCortex Analyst
AIアプリを作りたいCortex Agents / REST API

まとめ

Snowflake Cortexは、Snowflake上のデータにAIを直接適用できる強力な機能群です。まずはSQLから使いやすい AI_COMPLETEAI_TRANSLATEAI_SENTIMENTAI_EXTRACT などのCortex AI Functionsを押さえると理解しやすくなります。さらに、社内文書検索にはCortex Search、自然言語でのデータ分析にはCortex Analyst、より高度な対話型AIにはCortex Agentsというように、用途に応じて学ぶ範囲を広げていきましょう。実務利用では、権限・リージョン・Preview状態・コスト監視を必ず確認することが大切です。

参考リンク

※リンク先のパスはSnowflake側の構成変更で変わる可能性があります。最新のURLは公式ドキュメントのトップから検索してください。

関連記事

この記事をシェアする𝕏B!FacebookLINEPocket