Snowflake Cortex AISQL (LLM 関数を含む)¶
Snowflake の Cortex AISQL を使用して、 OpenAI、Anthropic、Meta、Mistral AI、 DeepSeek の業界をリードする LLMs を使用して、テキストと画像に対して非構造化分析を実行します。Cortex AISQL は、以下のような場合をサポートします。
メタデータとストリームラインを充実させ、検証を合理化するためのエンティティの抽出
顧客チケット全体のインサイトを集約
自然言語によるコンテンツのフィルターと分類
サービス改善のためのセンチメントとアスペクトに基づく分析
多言語コンテンツの翻訳とローカライズ
アナリティクスと RAG パイプラインのためのドキュメントの解析
すべてのモデルはSnowflakeで完全にホスティングされ、パフォーマンス、スケーラビリティ、セキュリティガバナンスを確保しながら、データを安全に保持します。
利用可能な関数¶
Snowflake Cortexの特徴量は SQL 関数として提供され、 Python でも利用可能です。Cortex AISQL 関数は以下のカテゴリーに分類できます。
AISQL 関数¶
タスク固有の関数とは、カスタマイズを必要としない、簡単な要約やクィック翻訳などのルーチンタスクを自動化するために、目的に応じて構築され管理される関数のことです。
AI_COMPLETE: 選択された LLM を使用して、指定された文字列または画像の補完を生成します。生成的な AI タスクのほとんどにこの関数を使用します。
これは COMPLETE (SNOWFLAKE.CORTEX) のアップデートバージョンです。
AI_CLASSIFY: テキストや画像をユーザー定義のカテゴリに分類します。
これは、マルチラベルと画像分類をサポートした CLASSIFY_TEXT (SNOWFLAKE.CORTEX) のアップデートバージョンです。
AI_FILTER: イメージやテキストの入力に対してTrueかFalseを返し、
SELECT
,WHERE
,JOIN ... ON
句で結果をフィルターできます。AI_AGG: テキスト列を集約し、ユーザー定義のプロンプトに基づいて複数の行にわたる洞察を返します。この関数はコンテキストウィンドウの制限を受けません。
AI_SUMMARIZE_AGG: テキスト列を集約し、複数行にわたるサマリーを返します。この関数はコンテキストウィンドウの制限を受けません。
AI_SIMILARITY: 2つの入力間の埋め込み類似度を計算します。
PARSE_DOCUMENT (SNOWFLAKE.CORTEX): 内部または外部ステージからテキストを抽出 (OCR モードを使用)、又はテキストをレイアウト情報とともに抽出 (LAYOUT モードを使用)。
TRANSLATE: サポートされている言語間のテキストを翻訳します。
SENTIMENT (SNOWFLAKE.CORTEX): テキストからセンチメントスコアを抽出します。
EXTRACT_ANSWER (SNOWFLAKE.CORTEX): 構造化されていないデータから質問の答えを抽出します。
SUMMARIZE (SNOWFLAKE.CORTEX): 指定したテキストの要約を返します。
注釈
以前は"LLM 関数"とリファレンスされていた関数は、"SNOWFLAKE.CORTEX" 名前空間にリストされています。
ヘルパー関数¶
ヘルパー関数は、他の AISQL 関数を実行する際に失敗するケースを減らす目的で構築され、管理される関数です。たとえば、入力プロンプトのトークン数を取得して、呼び出しがモデルの制限を超えないようにします。
COUNT_TOKENS (SNOWFLAKE.CORTEX): 入力テキストが与えられると、指定されたモデルまたはCortex関数に基づいてトークン数を返します。
TRY_COMPLETE (SNOWFLAKE.CORTEX): COMPLETE 関数と同様に動作しますが、関数を実行できなかった場合、エラーコードの代わりに NULL を返します。
Cortex Guard¶
Cortex Guardは、 COMPLETE 関数のオプションで、言語モデルから安全でない可能性のある有害な応答をフィルタリングするように設計されています。Cortex Guardは現在、MetaのLlama Guard 3で構築されています。Cortex Guardは、出力がアプリケーションに返される前に言語モデルの応答を評価することで機能します。Cortex Guardを起動すると、暴力犯罪、憎悪、性的コンテンツ、自傷行為などに関連する可能性のある言語モデルの反応が自動的にフィルタリングされます。構文と例については、 COMPLETE 引数 をご参照ください。
注釈
Cortex Guardの使用には、 処理された入力トークンの数 に基づく計算料金が発生します。
パフォーマンスの考慮事項¶
Cortex AISQL 関数はスループットのために最適化されています。SQL の大容量テーブルからのテキストなど、多数の入力を処理するには、これらの関数を使用することをお勧めします。バッチ処理は通常、 AISQL 関数に適しています。レイテンシが重要な、よりインタラクティブなユースケースには、 REST API を使用します。これらは、単純推論(Complete API)、埋め込み(Embed API)、エージェントアプリケーション(Agent API) に可用性を持っています。
必要な権限¶
SNOWFLAKE データベースの CORTEX_USER データベースロールには、ユーザーがSnowflake Cortex AI 関数を呼び出すことを許可する権限が含まれています。デフォルトでは、CORTEX_USERロールはPUBLICロールに付与されます。PUBLICロールはすべてのユーザーとロールに自動的に付与されるため、アカウント内のすべてのユーザーがSnowflake Cortex AI関数を使用できるようになります。
すべてのユーザーにこの権限を与えたくない場合は、PUBLICロールのアクセス権を取り消し、特定のロールにアクセス権を与えることができます。
PUBLIC ロールから CORTEX_USER データベースロールを取り消すには、 ACCOUNTADMIN ロールを使用して以下のコマンドを実行します。
REVOKE DATABASE ROLE SNOWFLAKE.CORTEX_USER
FROM ROLE PUBLIC;
REVOKE IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE
FROM ROLE PUBLIC;
そして、特定のロールに選択的にアクセスを提供することができます。SNOWFLAKE.CORTEX_USER データベースロールをユーザーに直接付与することはできません。詳細については、 SNOWFLAKE データベースロールの使用 をご参照ください。ロールを持つユーザーは、 ACCOUNTADMIN ロールをカスタムロールに付与することで、ユーザーがCortex AI 関数にアクセスできるようにすることができます。以下の例では、 ACCOUNTADMIN ロールを引き受けて、この目的のために作成したアカウントロール cortex_user_role
を介して、ユーザー some_user
に CORTEX_USER データベースロールを付与します。
USE ROLE ACCOUNTADMIN;
CREATE ROLE cortex_user_role;
GRANT DATABASE ROLE SNOWFLAKE.CORTEX_USER TO ROLE cortex_user_role;
GRANT ROLE cortex_user_role TO USER some_user;
また、特定のユーザーグループが一般的に使用する既存のロールを使用して、Snowflake Cortex AI の機能へのアクセスを付与することもできます。(ユーザーのロール を参照。)例えば、組織内のアナリストが既定のロールとして使用する analyst
ロールを作成した場合、これらのユーザーにSnowflake Cortex AISQL 関数へのアクセスを GRANT ステートメント1つで簡単に付与することができます。
GRANT DATABASE ROLE SNOWFLAKE.CORTEX_USER TO ROLE analyst;
モデルアクセスの制御¶
Snowflake Cortexのモデルへのアクセス制御には2つの方法があります。一方または両方の方法を併用することで、広範なアクセス制御ときめ細かなアクセス制御を混在させることができます。
モデル許容リスト
ロールベースのアクセス制御
モデルのallowlistは、アカウント内のすべてのユーザーに対して、モデルへのアクセスのデフォルトレベルを提供します。このレベルは、 CORTEX_MODELS_ALLOWLIST
パラメーターを用いてカスタマイズすることができます。ロールベースのアクセス制御では、アプリケーションのロールを通じて特定のモデルオブジェクトにアクセス制御権限を付与したり取り消したりすることで、きめ細かなアクセス管理が可能になります。
モデル アクセス制御は以下のサービスで利用可能です。
以下のサービスでは、きめ細かなアクセス制御はできません。
Cortex Search
Cortex Analyst
Cortex Copilot
Cortex Agents
ドキュメント AI
モデル許容リスト¶
アカウント内の全ユーザーにモデル・アクセスをセットするには、 ALTER ACCOUNT SET
コマンドの CORTEX_MODELS_ALLOWLIST
パラメーターを使用します。許可リストで指定した以上のアクセスを特定のユーザーに提供する必要がある場合は、代わりにロールベースのアクセス制御を使うべきです。ロールベースのアクセス制御の詳細情報については、 ロールベースのアクセス制御 をご参照ください。
ユーザーがリクエストを行うと、Snowflake Cortex はパラメーターを評価し、ユーザーがそのモデルにアクセスできるかどうかを判断します。
CORTEX_MODELS_ALLOWLIST
パラメーターでは、以下の値をセットできます。
CORTEX_MODELS_ALLOWLIST = 'All'
全モデルへのアクセスを提供します。次のコマンドは、全モデルへのユーザーアクセスを提供します。
ALTER ACCOUNT SET CORTEX_MODELS_ALLOWLIST = 'All';
CORTEX_MODELS_ALLOWLIST = 'model1,model2,...'
カンマ区切りのリストで指定されたモデルへのアクセスをユーザーに提供します。
次のコマンドは、
mistral-large2
およびllama3.1-70b
モデルへのアクセスをユーザーに提供します。ALTER ACCOUNT SET CORTEX_MODELS_ALLOWLIST = 'mistral-large2,llama3.1-70b';
CORTEX_MODELS_ALLOWLIST = 'None'
ユーザーがモデルにアクセスできないようにします。次のコマンドは、どのモデルへのユーザーアクセスも禁止します。
ALTER ACCOUNT SET CORTEX_MODELS_ALLOWLIST = 'None';
ロールベースのアクセス制御¶
Snowflake Cortex の各モデルは、 SNOWFLAKE.MODELS スキーマ内の一意のオブジェクトで、関連するアプリケーションロールを持ちます。モデルオブジェクトとアプリケーションロールを使って、モデルオブジェクトへのアクセスを管理することができます。
以下のコマンドで最新モデルにアクセスできます。
CALL SNOWFLAKE.MODELS.CORTEX_BASE_MODELS_REFRESH();
次に、次のコマンドを使用して、Snowflakeアカウントで使用可能なモデルをリストします。
SHOW MODELS IN SNOWFLAKE.MODELS;
コマンドは以下のようなモデルのリストを返します。
created_on |
name |
model_type |
database_name |
schema_name |
owner |
---|---|---|---|---|---|
2025-04-22 09:35:38.558 -0700 |
CLAUDE-3-5-SONNET |
CORTEX_BASE |
SNOWFLAKE |
MODELS |
SNOWFLAKE |
2025-04-22 09:36:16.793 -0700 |
LLAMA3.1-405B |
CORTEX_BASE |
SNOWFLAKE |
MODELS |
SNOWFLAKE |
2025-04-22 09:37:18.692 -0700 |
SNOWFLAKE-ARCTIC |
CORTEX_BASE |
SNOWFLAKE |
MODELS |
SNOWFLAKE |
これらのモデルのアプリケーション・ロールをリストするには、以下のコマンドを使用します。
SHOW APPLICATION ROLES IN APPLICATION SNOWFLAKE;
コマンドは、以下のようなアプリケーション・ロールのリストを返します。
created_on |
name |
owner |
comment |
owner_role_type |
---|---|---|---|---|
2025-04-22 09:35:38.558 -0700 |
CORTEX-MODEL-ROLE-ALL |
SNOWFLAKE |
MODELS |
APPLICATION |
2025-04-22 09:36:16.793 -0700 |
CORTEX-MODEL-ROLE-LLAMA3.1-405B |
SNOWFLAKE |
MODELS |
APPLICATION |
2025-04-22 09:37:18.692 -0700 |
CORTEX-MODEL-ROLE-SNOWFLAKE-ARCTIC |
SNOWFLAKE |
MODELS |
APPLICATION |
重要
モデルや関連するアプリケーション・ロールが表示されない場合は、 CALL SNOWFLAKE.MODELS.CORTEX_BASE_MODELS_REFRESH()
で最新モデルへのアクセスを確認してください。
特定のモデルへのアクセスを 付与するには、そのモデルのアプリケーション・ロールをユーザー・ロールに付与します。例えば、 CORTEX-MODEL-ROLE-LLAMA3.1-70B
のアプリケーション・ロール SNOWFLAKE.MODELS."LLAMA3.1-70B"
をユーザー・ロールに付与することができます。以下のコマンドは、 CORTEX-MODEL-ROLE-LLAMA3.1-70B
アプリケーション・ロールを MY_ROLE
ユーザー・ロールに付与します。
GRANT APPLICATION ROLE SNOWFLAKE."CORTEX-MODEL-ROLE-LLAMA3.1-70B" TO ROLE MY_ROLE;
推論を呼び出すには、完全修飾モデル名を使用します。以下は、ユーザーが発信できる通話の例です。
SELECT AI_COMPLETE('SNOWFLAKE.MODELS."LLAMA3.1-70B"', 'Hello');
重要
ユーザーがリクエストを行うと、Snowflake Cortexはまずロールベースのアクセス制御を使用して、ユーザーがそのモデルにアクセスできるかどうかを判断します。ユーザーにアクセスがない場合、Snowflake Cortex は CORTEX_MODELS_ALLOWLIST を評価し、モデルへのアクセスを判断します。モデルがallowlistに含まれている場合(あるいはallowlistの値が 'All'
にセットされている場合)、ユーザーにモデルへのアクセスが許可されます。モデルへのきめ細かなアクセスを可能にするには、 CORTEX_MODELS_ALLOWLIST からモデル名を削除するか、 'None'
にセットします。
可用性¶
Snowflake Cortex AI 関数は、現在以下のリージョンで利用可能です。リストにないリージョンから LLMs にアクセスするには、 クロスリージョン推論パラメーター を使用。
注釈
TRY_COMPLETE 関数は COMPLETE と同じ地域で利用できます。
COUNT_TOKENS 関数は全リージョンで利用可能ですが、モデル推論はテーブルにあるようにリージョン固有です。
関数
(モデル)
|
AWS US
(リージョン横断)
|
AWS US西部2
(オレゴン)
|
AWS US東部1
(N.バージニア)
|
AWSヨーロッパ中部1
(フランクフルト)
|
AWS ヨーロッパ西部1
(アイルランド)
|
AWS AP 南東部2
(シドニー)
|
AWS AP 北東部1
(東京)
|
AWSUS 東部
(商用Gov - N.バージニア北部)
|
Azure東部 US 2
(バージニア)
|
Azure西ヨーロッパ
(オランダ)
|
AWS EU
(リージョン横断)
|
AWS AWS_APJ
(リージョン横断)
|
Azure US
(リージョン横断)
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
COMPLETE
(
claude-4-sonnet ) |
✔ |
||||||||||||
COMPLETE
(
claude-4-opus ) |
プレビュー中 |
||||||||||||
COMPLETE
(
claude-3-7-sonnet ) |
✔ |
||||||||||||
COMPLETE
(
claude-3-5-sonnet ) |
✔ |
✔ |
✔ |
||||||||||
COMPLETE
(
llama4-maverick ) |
✔ |
✔ |
|||||||||||
COMPLETE
(
llama4-scout ) |
✔ |
✔ |
|||||||||||
COMPLETE
(
llama3.2-1b ) |
✔ |
✔ |
|||||||||||
COMPLETE
(
llama3.2-3b ) |
✔ |
✔ |
|||||||||||
COMPLETE
(
llama3.1-8b ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
COMPLETE
(
llama3.1-70b ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
COMPLETE
(
llama3.3-70b ) |
✔ |
✔ |
|||||||||||
COMPLETE
(
snowflake-llama-3.3-70b ) |
✔ |
✔ |
|||||||||||
COMPLETE
(
llama3.1-405b ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
|||||||
COMPLETE
(
openai-gpt-4.1 ) |
プレビュー中 |
プレビュー中 |
|||||||||||
COMPLETE
(
openai-o4-mini ) |
プレビュー中 |
プレビュー中 |
|||||||||||
COMPLETE
(
snowflake-llama-3.1-405b ) |
✔ |
✔ |
|||||||||||
COMPLETE
(
snowflake-arctic ) |
✔ |
✔ |
✔ |
✔ |
|||||||||
COMPLETE
(
deepseek-r1 ) |
✔ |
✔ |
|||||||||||
COMPLETE
(
reka-core ) |
✔ |
✔ |
✔ |
||||||||||
COMPLETE
(
reka-flash ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
|||||||
COMPLETE
(
mistral-large2 ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
|
COMPLETE
(
mixtral-8x7b ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
COMPLETE
(
mistral-7b ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
COMPLETE
(
jamba-instruct ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
||||||
COMPLETE
(
jamba-1.5-mini ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
||||||
COMPLETE
(
jamba-1.5-large ) |
✔ |
✔ |
✔ |
||||||||||
COMPLETE
(
gemma-7b ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
||||
EMBED_TEXT_768
(
e5-base-v2 ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
||
EMBED_TEXT_768
(
snowflake-arctic-embed-m ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
|
EMBED_TEXT_768
(
snowflake-arctic-embed-m-v1.5 ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
|
EMBED_TEXT_1024
(
snowflake-arctic-embed-l-v2.0 ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
|
EMBED_TEXT_1024
(
nv-embed-qa-4 ) |
✔ |
✔ |
|||||||||||
EMBED_TEXT_1024
(
multilingual-e5-large ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
|
EMBED_TEXT_1024
(
voyage-multilingual-2 ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
|
AI_CLASSIFY TEXT
|
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
AI_CLASSIFY IMAGE
|
✔ |
✔ |
✔ |
✔ |
|||||||||
AI_FILTER TEXT
|
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
AI_FILTER IMAGE
|
✔ |
✔ |
✔ |
✔ |
|||||||||
AI_AGG
|
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
AI_SIMILARITY TEXT
|
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
AI_SIMILARITY IMAGE
|
✔ |
✔ |
✔ |
✔ |
|||||||||
AI_SUMMARIZE_AGG
|
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
EXTRACT_ANSWER |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
SENTIMENT |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
ENTITY_SENTIMENT |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
||
SUMMARIZE |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
TRANSLATE |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
Snowflake Cortex AI 関数は、現在以下のリージョンで利用可能です。
関数
(モデル)
|
AWS US 東部2
(オハイオ)
|
AWS CA 中央部1
(中央部)
|
AWS SA東部1
(サンパウロ)
|
AWS ヨーロッパ西部2
(ロンドン)
|
AWSヨーロッパ中部1
(フランクフルト)
|
AWS ヨーロッパ北部1
(ストックホルム)
|
AWS AP 北東部1
(東京)
|
AWS AP 南部1
(ムンバイ)
|
AWS AP 南東部2
(シドニー)
|
AWS AP 南東部3
(ジャカルタ)
|
Azure南中央部 US
(テキサス)
|
Azure西部 US 2
(ワシントン)
|
Azure UK 南部
(ロンドン)
|
Azure北部ヨーロッパ
(アイルランド)
|
Azureスイス北部
(チューリッヒ)
|
Azure中部インド(プネー)
(プネー)
|
Azure日本東日本
(東京、埼玉)
|
Azure東南アジア
(シンガポール)
|
Azureオーストラリア東部
(ニューサウスウェールズ)
|
GCP ヨーロッパ西部2
(ロンドン)
|
GCP ヨーロッパ西部4
(オランダ)
|
GCP US 中央部1
(アイオワ)
|
GCP US 東部4
(N.バージニア)
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EMBED_TEXT_768
(
snowflake-arctic-embed-m-v1.5 ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
EMBED_TEXT_768
(
snowflake-arctic-embed-m ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
EMBED_TEXT_1024
(
multilingual-e5-large ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
次の表は、レガシーモデルの一覧です。まだ始めたばかりなら、前の表のモデルから始めましょう。
関数
(モデル)
|
AWS US西部2
(オレゴン)
|
AWS US東部1
(N.バージニア)
|
AWSヨーロッパ中部1
(フランクフルト)
|
AWS ヨーロッパ西部1
(アイルランド)
|
AWS AP 南東部2
(シドニー)
|
AWS AP 北東部1
(東京)
|
Azure東部 US 2
(バージニア)
|
Azure西ヨーロッパ
(オランダ)
|
---|---|---|---|---|---|---|---|---|
COMPLETE
(
llama2-70b-chat ) |
✔ |
✔ |
✔ |
✔ |
✔ |
|||
COMPLETE
(
llama3-8b ) |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
||
COMPLETE
(
llama3-70b ) |
✔ |
✔ |
✔ |
✔ |
✔ |
|||
COMPLETE
(
mistral-large ) |
✔ |
✔ |
✔ |
✔ |
✔ |
コストの考慮事項¶
Snowflake Cortex AI 関数は、処理されたトークンの数に基づいてコンピュートコストが発生します。100万トークンあたりのクレジット単位での各コストについては、 Snowflakeサービス利用テーブル をご参照ください。
トークンは、Snowflake Cortex AI 関数で処理されるテキストの最小単位でのことで、テキストの4文字に相当します。トークンに相当する生の入力または出力テキストは、モデルによって異なる場合があります。
応答で新しいテキストを生成する関数 (AI_COMPLETE、 AI_CLASSIFY、 AI_FILTER、 AI_AGG、 AI_SUMMARIZE、および TRANSLATE) では、入力と出力の両方のトークンがカウントされます。
CORTEX GUARD では、入力トークンのみがカウントされます。入力トークンの数は、 COMPLETE 関数で使用される LLM モデルごとの出力トークンの数に基づいています。
AI_SIMILARITY EMBED_* 関数では、入力トークンだけがカウントされます。
EXTRACT_ANSWER の場合、請求可能トークン数は
from_text
フィールドとquestion
フィールドのトークン数の合計です。AI_CLASSIFY, AI_FILTER, AI_AGG, AI_SUMMARIZE_AGG, SUMMARIZE, TRANSLATE, EXTRACT_ANSWER, ENTITY_SENTIMENT や, SENTIMENT がレスポンスを生成するために、入力テキストにプロンプトを追加します。その結果、入力トークン数は、入力されたテキストのトークン数よりも多くなります。
AI_CLASSIFY ラベル、説明、例は、 AI_CLASSIFY の呼び出しごとに 1 回だけでなく、処理される記録ごとに入力トークンとしてカウントされます。
PARSE_DOCUMENT (SNOWFLAKE.CORTEX) の場合、請求は処理されたドキュメントのページ数に基づいて行われます。
TRY_COMPLETE(SNOWFLAKE.CORTEX) はエラー処理にコストがかかりません。つまり、 TRY_COMPLETE(SNOWFLAKE.CORTEX) 関数が NULL を返せば、コストは発生しません。
COUNT_TOKENS(SNOWFLAKE.CORTEX) は関数を実行するための計算コストしか発生しません。トークンに基づく追加コストは発生しません。
Snowflake では、Snowflake Cortex AISQL 関数または Cortex PARSE_DOCUMENT 関数を呼び出すクエリは、小さいウェアハウス (MEDIUM 以下)で実行することを推奨しています。ウェアハウスを大きくしてもパフォーマンスは向上しないからです。ウェアハウスをアクティブに保つことに関連するコストは、Snowflake Cortex LLM 関数を呼び出すクエリを実行するときにも適用されます。コンピューティングコストに関する一般情報については、 コンピューティングコストについて をご参照ください。
AIサービスのコストを追跡する¶
お客様のアカウントで LLM 関数を含む AI サービスに使用されたクレジットを追跡するには、 METERING_HISTORY ビュー を使用します。
SELECT *
FROM SNOWFLAKE.ACCOUNT_USAGE.METERING_DAILY_HISTORY
WHERE SERVICE_TYPE='AI_SERVICES';
AISQL 関数のクレジット消費を追跡する¶
各 AISQL 関数呼び出しのクレジットとトークンの消費量を表示するには、 CORTEX_FUNCTIONS_USAGE_HISTORY ビュー を使用します。
SELECT *
FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FUNCTIONS_USAGE_HISTORY;
Snowflakeアカウント内で各クエリのクレジットとトークンの消費量を表示することもできます。各クエリのクレジットとトークンの消費量を表示することで、最もクレジットとトークンを消費しているクエリを特定することができます。
以下のクエリ例では、 CORTEX_FUNCTIONS_QUERY_USAGE_HISTORY ビュー を使用して、アカウント内のすべてのクエリについてクレジットとトークンの消費量を表示しています。
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FUNCTIONS_QUERY_USAGE_HISTORY;
同じビューを使って、特定のクエリのクレジットとトークンの消費量を確認することもできます。
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FUNCTIONS_QUERY_USAGE_HISTORY
WHERE query_id='<query-id>';
注釈
REST API で行われたリクエストの使用状況の詳細情報を得ることはできません。
クエリの使用履歴は、クエリで使用されたモデルごとにグループ分けされています。例えば、次を実行したとします。
SELECT AI_COMPLETE('mistral-7b', 'Is a hot dog a sandwich'), AI_COMPLETE('mistral-large', 'Is a hot dog a sandwich');
クエリの使用履歴には、 mistral-7b
と mistral-large
の2行が表示されます。
使用量のクォータ¶
すべてのSnowflake顧客がLLM関数にアクセスできるようにするため、Snowflake Cortex AI関数は、使用率が高い時間帯にスロットルの対象となることがあります。利用クォータはアカウントレベルでは適用されません。
スロットルされたリクエストは エラーの応答 を受け取るため、後で再試行する必要があります。
注釈
有効な支払い方法のないオンデマンドSnowflakeアカウント(トライアルアカウントなど)では、Snowflake Cortex LLM 関数の使用は1日あたりおよそ1クレジットに制限されます。この制限を解除するには、 トライアルアカウントを有料アカウントに変更 してください。
コスト管理とスロットリング¶
このプレビュー期間中、SnowflakeではSnowflake Cortex AISQL関数を呼び出す際に、MEDIUM以下のウェアハウスサイズを使用することを推奨します。必要以上に大規模なウェアハウスを使用してもパフォーマンスは向上しませんが、不必要なコストがかかり、スロットリングのリスクも高くなります。この推奨事項は、今後の製品アップデートにより適用されなくなる可能性があります。
モデルの制限¶
Snowflake Cortexで使用されるモデルには、以下の表に示すようにサイズに制限があります。サイズはトークンで表示されています。トークンは一般的に約4文字のテキストを表すので、制限に対応する単語数はトークンの数よりも少なくなります。制限値を超える入力はエラーになります。
モデルが出力できる最大サイズは、以下のように制限されています:
モデルの出力トークン制限。
モデルが入力トークンを消費した後のコンテキストウィンドウの利用可能スペース。
例えば、 claude-3-5-sonnet
には、20万トークンのコンテキストウィンドウがあります。入力に100,000トークンを使用した場合、モデルは最大8,192トークンを生成できます。しかし、195,000個のトークンが入力として使用された場合、モデルは合計200,000個のトークンのうち、5,000個までしか生成できません。
重要
AWS AP 南東2(シドニー)リージョン:
llama3-8b
とmistral-7b
のコンテキストウィンドウは 4,096 トークンです。llama3.1-8b
のコンテキストウィンドウは 16,384 トークンです。SUMMARIZE 関数からのSnowflake管理モデルのコンテキストウィンドウは4,096トークンです。
AWS ヨーロッパ西1(アイルランド)リージョン:
llama3.1-8b
のコンテキストウィンドウは 16,384 トークンです。mistral-7b
のコンテキストウィンドウは 4,096 トークンです。
関数 |
モデル |
コンテキストウィンドウ(トークン) |
最大出力 AISQL 関数(トークン) |
---|---|---|---|
COMPLETE |
|
128,000 |
8,192 |
|
128,000 |
8,192 |
|
|
4,096 |
8,192 |
|
|
32,768 |
8,192 |
|
|
200,000 |
32,000 |
|
|
200,000 |
64,000 |
|
|
200,000 |
8,192 |
|
|
200,000 |
8,192 |
|
|
32,000 |
8,192 |
|
|
128,000 |
8,192 |
|
|
1,047,576 |
32,768 |
|
|
200,000 |
100,000 |
|
|
100,000 |
8,192 |
|
|
32,000 |
8,192 |
|
|
256,000 |
8,192 |
|
|
256,000 |
8,192 |
|
|
256,000 |
8,192 |
|
|
32,000 |
8,192 |
|
|
4,096 |
8,192 |
|
|
8,000 |
8,192 |
|
|
8,000 |
8,192 |
|
|
128,000 |
8,192 |
|
|
128,000 |
8,192 |
|
|
128,000 |
8,192 |
|
|
8,000 |
8,192 |
|
|
128,000 |
8,192 |
|
|
8,000 |
8,192 |
|
|
128,000 |
8,192 |
|
|
128,000 |
8,192 |
|
|
32,000 |
8,192 |
|
|
8,000 |
8,192 |
|
EMBED_TEXT_768 |
|
512 |
なし |
|
512 |
なし |
|
EMBED_TEXT_1024 |
|
512 |
なし |
|
512 |
なし |
|
|
32,000 |
なし |
|
AI_FILTER |
Snowflake管理モデル |
128,000 |
なし |
AI_CLASSIFY / CLASSIFY_TEXT |
Snowflake管理モデル |
128,000 |
なし |
AI_AGG |
Snowflake管理モデル |
128,000/行
複数行に渡って使用可能
|
8,192 |
AI_SUMMARIZE_AGG |
Snowflake管理モデル |
128,000/行
複数行に渡って使用可能
|
8,192 |
ENTITY_SENTIMENT |
Snowflake管理モデル |
2,048 |
なし |
EXTRACT_ANSWER |
Snowflake管理モデル |
2,048のテキスト
64の質問
|
なし |
SENTIMENT |
Snowflake管理モデル |
512 |
なし |
SUMMARIZE |
Snowflake管理モデル |
32,000 |
4,096 |
TRANSLATE |
Snowflake管理モデル |
4,096 |
なし |
モデルの選択¶
Snowflake Cortex COMPLETE 関数は、能力、遅延、コストの異なる複数のモデルをサポートしています。これらのモデルは、一般的な顧客のユースケースに合わせて慎重に選択されています。 クレジットあたりのパフォーマンス で最高の状態を達成するには、コンテンツのサイズとタスクの複雑さに適したモデルを選択します。以下は、利用可能なモデルの簡単な概要です。
大規模モデル¶
どこから始めたらよいかわからない場合は、まず最も高性能なモデルを試して、他のモデルを評価するためのベースラインを確立してください。 claude-3-7-sonnet
、 reka-core
、および mistral-large2
は、Snowflake Cortexが提供する最も高性能なモデルで、最先端のモデルで何ができるかを知ることができます。
Claude 3-7 Sonnet
は、一般的な推論とマルチモーダル機能のリーダーです。異なるドメインやモダリティにまたがる推論を必要とするタスクにおいて、先行製品を凌駕します。構造化クエリでも非構造化クエリでも、その大容量出力を使ってより多くの情報を得ることができます。推論機能と大容量ウィンドウにより、Agenticなワークフローに適しています。deepseek-r1
は、教師あり微調整 (SFT) を行わず、大規模強化学習 (RL) を用いて学習された基礎モデルです。数学、コード、推論の各タスクで高いパフォーマンスを発揮します。モデルにアクセスするには、 クロスリージョン推論パラメーター をAWS_US
にセットします。mistral-large2
は、Mistral AIの最も高度な大規模言語モデルで、トップクラスの推論機能を備えています。mistral-large
と比較すると、コード生成、数学、推論において格段に能力が高く、多言語サポートもはるかに強力です。合成テキスト生成、コード生成、多言語テキスト分析など、大規模な推論能力を必要とする複雑なタスクや、高度に専門化されたタスクに最適です。llama3.1-405b
はMeta社のllama3.1
モデルファミリーのオープンソースモデルで、128Kの大きなコンテキストウィンドウを持ちます。長文の文書処理、多言語サポート、合成データ生成、モデルの蒸留に優れています。snowflake-llama3.1-405b
はオープンソースのllama3.1から派生したモデルです。Snowflake AI 研究チームによって開発された<SwiftKV optimizations https://www.snowflake.com/en/blog/up-to-75-lower-inference-cost-llama-meta-llm/>
を使用し、推論コストを最大75%削減します。SwiftKV は、精度の低下を最小限に抑えながら、より高いスループットパフォーマンスを実現します。
中規模モデル¶
llama3.1-70b
は、チャットアプリケーション、コンテンツ作成、およびエンタープライズアプリケーションに理想的な最先端のパフォーマンスを提供するオープンソースモデルです。128Kのコンテキストウィンドウで多様なユースケースを可能にする、高いパフォーマンスとコスト効率を備えたモデルです。llama3-70b
は現在もサポートされており、コンテキストウィンドウは8Kです。snowflake-llama3.3-70b
はオープンソースのllama3.3モデルから派生したモデルです。Snowflake AI 研究チームによって開発された<SwiftKV optimizations https://www.snowflake.com/en/blog/up-to-75-lower-inference-cost-llama-meta-llm/>
を使用し、推論コストを最大75%削減します。SwiftKV は、精度の低下を最小限に抑えながら、より高いスループットパフォーマンスを実現します。snowflake-arctic
は、Snowflakeのエンタープライズ向けトップクラスの LLM です。Arcticは、SQLの生成、コーディング、ベンチマークに従った命令などのエンタープライズタスクを得意としています。mixtral-8x7b
は、テキスト生成、分類、質問回答などに最適です。Mistralのモデルは、低レイテンシ、低メモリ要件に最適化されており、企業のユースケースにおいて高いスループットを実現します。jamba-Instruct
モデルは AI21 Labsによって構築され、企業の要件を効率的に満たします。256kトークンコンテキストウィンドウを低コスト、低遅延で提供するように最適化されており、要約やQ&A、また長いドキュメントや広範なナレッジベース上のエンティティ抽出などのタスクに最適です。AI21 Jamba 1.5モデルファミリーは基盤モデルに従属する、最先端のハイブリッド SSM トランスフォーマーインストラクションです。コンテキスト長が256Kの
jamba-1.5-mini
とjamba-1.5-large
は、構造化出力(JSON)やグラウンディング生成などのユースケースをサポートしています。
小規模モデル¶
llama3.2-1b
、llama3.2-3b
のモデルは、128Kトークンのコンテキスト長をサポートし、要約、命令追従、書き換えタスクなどのユースケースにおいて、このクラスでは最先端です。Llama 3.2モデルは、英語、ドイツ語、フランス語、イタリア語、ポルトガル語、ヒンディー語、スペイン語、タイ語に対応し、多言語機能を提供します。llama3.1-8b
は、低~中程度の推論を必要とするタスクに最適です。軽量で超高速のモデルで、コンテキストウィンドウは128Kです。llama3-8b
とllama2-70b-chat
は現在もサポートされているモデルで、より小さいコンテキストウィンドウと比較的低い精度を提供します。mistral-7b
は、最も単純な要約、構造化、質問に対する回答など、素早く行う必要のあるタスクに最適です。32Kのコンテキストウィンドウにより、複数ページのテキストを低レイテンシで高スループットに処理します。gemma-7b
は、単純なコードやテキストの補完タスクに適しています。コンテキストウィンドウのトークンは8,000ですが、その制限内で驚くほどの能力を発揮し、費用対効果もかなり高いです。
以下のテーブルは、人気モデルが各種ベンチマークでどのようなパフォーマンスを発揮するかについての情報を示しており、Snowflake Cortex COMPLETEが提供するモデルや他のいくつかの人気モデルが含まれています。
モデル |
コンテキストウィンドウ
(トークン)
|
MMLU
(推論)
|
HumanEval
(コーディング)
|
GSM8K
(算術推論)
|
Spider 1.0
(SQL)
|
---|---|---|---|---|---|
128,000 |
88.7 |
90.2 |
96.4 |
- |
|
200,000 |
88.3 |
92.0 |
96.4 |
- |
|
128,000 |
88.6 |
89 |
96.8 |
- |
|
32,000 |
83.2 |
76.8 |
92.2 |
- |
|
128,000 |
86 |
80.5 |
95.1 |
- |
|
128,000 |
84 |
92 |
93 |
- |
|
100,000 |
75.9 |
72 |
81 |
- |
|
128,000 |
73 |
72.6 |
84.9 |
- |
|
32,000 |
70.6 |
40.2 |
60.4 |
- |
|
256,000 |
68.2 |
40 |
59.9 |
- |
|
256,000 |
69.7 |
- |
75.8 |
- |
|
256,000 |
81.2 |
- |
87 |
- |
|
4,096 |
67.3 |
64.3 |
69.7 |
79 |
|
128,000 |
49.3 |
- |
44.4 |
- |
|
128,000 |
69.4 |
- |
77.7 |
- |
|
8,000 |
64.3 |
32.3 |
46.4 |
- |
|
32,000 |
62.5 |
26.2 |
52.1 |
- |
|
GPT 3.5 Turbo* |
4,097 |
70 |
48.1 |
57.1 |
- |
旧モデルバージョン¶
Snowflake Cortex COMPLETE 関数は、以下の旧バージョンもサポートしています。この表にリストされているバージョンではなく、最新モデルのバージョンを使用することをお勧めします。
モデル |
コンテキストウィンドウ
(トークン)
|
MMLU
(推論)
|
HumanEval
(コーディング)
|
GSM8K
(算術推論)
|
Spider 1.0
(SQL)
|
---|---|---|---|---|---|
32,000 |
81.2 |
45.1 |
81 |
81 |
|
4,096 |
68.9 |
30.5 |
57.5 |
- |
エラー条件¶
Snowflake Cortex AI 関数は以下のエラーメッセージを生成する可能性があります。
メッセージ |
説明 |
---|---|
|
システム負荷が高すぎるため、リクエストは拒否されました。もう一度リクエストしてください。 |
|
関数に渡された |
|
モデルの消費予算を超えました。 |
|
指定されたモデルは存在しません。 |
|
指定された言語は TRANSLATE 関数ではサポートされていません。 |
|
リクエストはモデルがサポートするトークンの最大数を超えました(モデルの制限 を参照)。 |
|
使用レベルが高いため、リクエストはスロットルされました。後でもう一度お試しください。 |
|
指定されたカテゴリー数は、 AI_CLASSIFY の制限を超えています。 |
|
指定されたカテゴリーのタイプは AI_CLASSIFY でサポートされていません。 |
|
AI_CLASSIFY への入力は空文字列かNULLです。 |
PythonでSnowflake Cortex AISQL を使用します。¶
Snowflake Cortex AISQL 関数は、Snowpark Python API で使用できます。API では、関数を使用して、テキストと画像の両方のデータを分類、要約、フィルターすることができます。
これらの関数には次のようなものがあります:
ai_agg()
- 自然言語の指示を使用してテキストの列を集約します。詳細については、 AI_AGG をご参照ください。ai_classify()
- テキストや画像をカスタムカテゴリに分類します。詳細については、 AI_CLASSIFY をご参照ください。ai_filter()
- 自然言語を使ってデータをフィルターします。詳細については、 AI_FILTER をご参照ください。
ai_agg()
関数は、グループ化されたデータまたはグループ化されていないデータから調査結果を要約または抽出するようアナリストに依頼するのと同様の方法で、自然言語の指示を使用してテキストの列を集約します。
次の例では、 ai_agg()
関数を使用して、各製品のカスタマーレビューを要約しています。この関数は、テキストの列と自然言語命令を受け取り、レビューを要約します。
from snowflake.snowpark.functions import ai_agg, col
df = session.create_dataframe([
[1, "Excellent product!"],
[1, "Great battery life."],
[1, "A bit expensive but worth it."],
[2, "Terrible customer service."],
[2, "Won’t buy again."],
], schema=["product_id", "review"])
# Summarize reviews per product
summary_df = df.group_by("product_id").agg(
ai_agg(col("review"), "Summarize the customer reviews in one sentence.")
)
summary_df.show()
注釈
ユースケースを中心とした詳細なタスク記述を使用してください。例えば、「投資家向け報告書のために顧客からのフィードバックを要約する」など。
ai_classify()
関数は、テキストや画像を受け取り、定義したカテゴリに分類します。
次の例では、旅行レビューを「旅行」や「料理」などのカテゴリに分類しています。この関数は、テキストの列と、テキストを分類するカテゴリのリストを受け取ります。
from snowflake.snowpark.functions import ai_classify
df = session.create_dataframe([
["I dream of backpacking across South America."],
["I made the best pasta yesterday."],
], schema=["sentence"])
df = df.select(
"sentence",
ai_classify("sentence", ["travel", "cooking"]).alias("classification")
)
df.show()
注釈
カテゴリは最大500個まで提供できます。テキストと画像の両方を分類できます。
ai_filter()
関数は自然言語の条件を評価し、 TRUE
または FALSE
を返します。行のフィルターやタグ付けに使用できます。
from snowflake.snowpark.functions import ai_filter, prompt, col
df = session.create_dataframe(["Canada", "Germany", "Japan"], schema=["country"])
filtered_df = df.select(
"country",
ai_filter(prompt("Is {0} in Asia?", col("country"))).alias("is_in_asia")
)
filtered_df.show()
注釈
文字列とファイルの両方でフィルターをかけることができます。動的なプロンプトにはprompt()関数を使用します。詳細情報については、 Snowpark Python リファレンス をご参照ください。
既存のSnowpark ML 関数は、 Snowpark ML バージョン1.1.2以降でもサポートされています。Snowpark ML の設定方法については、 Snowflake ML をローカルで使用する をご参照ください。
PythonスクリプトをSnowflakeの外で実行する場合、これらの関数を使用するにはSnowparkセッションを作成する必要があります。手順については、 Snowflakeへの接続 をご参照ください。
次のPythonの例では、単一の値に対してSnowflake Cortex AI 関数を呼び出しています。
from snowflake.cortex import Complete, ExtractAnswer, Sentiment, Summarize, Translate
text = """
The Snowflake company was co-founded by Thierry Cruanes, Marcin Zukowski,
and Benoit Dageville in 2012 and is headquartered in Bozeman, Montana.
"""
print(Complete("llama2-70b-chat", "how do snowflakes get their unique patterns?"))
print(ExtractAnswer(text, "When was snowflake founded?"))
print(Sentiment("I really enjoyed this restaurant. Fantastic service!"))
print(Summarize(text))
print(Translate(text, "en", "fr"))
COMPLETE 関数を使用する際に、モデルのハイパーパラメーターに影響を与えるオプションを渡すことができます。次の Python の例では、モデルが生成できる出力トークンの最大数を変更して COMPLETE 関数を呼び出しています。
from snowflake.cortex import Complete,CompleteOptions
model_options1 = CompleteOptions(
{'max_tokens':30}
)
print(Complete("llama3.1-8b", "how do snowflakes get their unique patterns?", options=model_options1))
以下のように、テーブルの列に対して AI 関数を呼び出すこともできます。この例では、セッションオブジェクト(session
に格納)と、テキスト列 abstract_text
を含むテーブル articles
を必要とし、要点の抜粋を含む新しい列 abstract_summary
を作成します。
from snowflake.cortex import Summarize
from snowflake.snowpark.functions import col
article_df = session.table("articles")
article_df = article_df.withColumn(
"abstract_summary",
Summarize(col("abstract_text"))
)
article_df.collect()
注釈
COMPLETE の高度なチャットスタイル(マルチメッセージ)形式は、Pythonでは現在サポートされていません。
Snowflake CLI でのSnowflake Cortex AI 関数の使用¶
Snowflake Cortex AISQL は、 Snowflake CLI バージョン 2.4.0 以降で利用可能。 Snowflake CLI の使用の詳細については Snowflake CLI の紹介 をご覧ください。
次の例は、単一の値に対して snow cortex
コマンドを使用する例です。 -c
パラメーターは、使用する接続を指定します。
注釈
COMPLETE の高度なチャット形式(マルチメッセージ)は、現在 Snowflake CLI ではサポートされていません。
snow cortex complete "Is 5 more than 4? Please answer using one word without a period." -c "snowhouse"
snow cortex extract-answer "what is snowflake?" "snowflake is a company" -c "snowhouse"
snow cortex sentiment "Mary had a little Lamb" -c "snowhouse"
snow cortex summarize "John has a car. John's car is blue. John's car is old and John is thinking about buying a new car. There are a lot of cars to choose from and John cannot sleep because it's an important decision for John."
snow cortex translate herb --to pl
コマンドに使いたいテキストを含むファイルを使用することもできます。この例では、ファイル about_cortex.txt
に以下の内容が含まれていると仮定します。
Snowflake Cortex gives you instant access to industry-leading large language models (LLMs) trained by researchers at companies like Anthropic, Mistral, Reka, Meta, and Google, including Snowflake Arctic, an open enterprise-grade model developed by Snowflake.
Since these LLMs are fully hosted and managed by Snowflake, using them requires no setup. Your data stays within Snowflake, giving you the performance, scalability, and governance you expect.
Snowflake Cortex features are provided as SQL functions and are also available in Python. The available functions are summarized below.
COMPLETE: Given a prompt, returns a response that completes the prompt. This function accepts either a single prompt or a conversation with multiple prompts and responses.
EMBED_TEXT_768: Given a piece of text, returns a vector embedding that represents that text.
EXTRACT_ANSWER: Given a question and unstructured data, returns the answer to the question if it can be found in the data.
SENTIMENT: Returns a sentiment score, from -1 to 1, representing the detected positive or negative sentiment of the given text.
SUMMARIZE: Returns a summary of the given text.
TRANSLATE: Translates given text from any supported language to any other.
次のように、 --file
パラメーターを使ってファイル名を渡すことで snow cortex summarize
コマンドを実行できます。
snow cortex summarize --file about_cortex.txt
Snowflake Cortex offers instant access to industry-leading language models, including Snowflake Arctic, with SQL functions for completing prompts (COMPLETE), text embedding (EMBED\_TEXT\_768), extracting answers (EXTRACT\_ANSWER), sentiment analysis (SENTIMENT), summarizing text (SUMMARIZE), and translating text (TRANSLATE).
これらのコマンドの詳細については、 snow cortexコマンド をご参照ください。
法的通知¶
インプットとアウトプットのデータ分類は以下の表の通りです。
入力データの分類 |
出力データの分類 |
指定 |
---|---|---|
Usage Data |
Customer Data |
一般的に利用可能な関数は、カバーされている AI 機能です。プレビュー関数は、 AI 機能をプレビューします。 [1] |
詳細については、 Snowflake AI と ML をご参照ください。