◾️はじめに
https://dk521123.hatenablog.com/entry/2026/03/19/144903
で扱ったSnowflake Cortex AI の
SNOWFLAKE.CORTEX.AI_COMPLETE
について取り上げる
目次
【1】SNOWFLAKE.CORTEX.AI_COMPLETE
【2】構文
【3】サポートモデル
1)Anthropic: Claude シリーズ
2)OpenAI: GPT シリーズ
3)Meta: Llama シリーズ
4)Mistral & DeepSeek & Snowflake
【4】サンプル
例1:Cortexを使ったテーブル項目のコメント生成
【1】SNOWFLAKE.CORTEX.AI_COMPLETE
* サポートされている言語モデルを使用して、
テキストプロンプトに対する応答を生成
https://docs.snowflake.com/ja/sql-reference/functions/ai_complete-single-string
【2】構文
SNOWFLAKE.CORTEX.AI_COMPLETE(
<model>,
<prompt>
[ , <model_parameters>, <response_format>, <show_details> ]
)
【3】サポートモデル
1)Anthropic: Claude シリーズ
* 人間のような自然な対話と、高い安全性、プログラミング能力が特徴
| models |
memo |
| claude-4-opus |
|
| claude-4-sonnet |
|
| claude-3-7-sonnet |
|
| claude-3-5-sonnet |
|
2)OpenAI: GPT シリーズ
* Chat GPTでお馴染みのAI
| models |
memo |
| openai-gpt-4.1 |
|
| openai-o4-mini |
軽量・推論特化型。 推論(じっくり考える)能力を持ちつつ、非常に安価で高速。STEM分野の課題解決に強い。 |
* オープンソース(オープンウェイト)の代表格。
| models |
memo |
| llama3-8b |
|
| llama3-70b |
|
| llama3.1-8b |
|
| llama3.1-70b |
|
| llama3.1-405b |
|
| llama3.3-70b |
|
| llama4-maverick |
Llama 4の中核。 GPT-4oクラスの性能を持ちつつ、Mixture of Experts (MoE) 採用により効率化。推論とコーディングに強い。 |
| llama4-scout |
Llama 4の軽量版。 |
4)Mistral & DeepSeek & Snowflake
* 特定の分野(効率性、推論、企業データ)に特化
| models |
memo |
| deepseek-r1 |
格安の推論モデル。 |
| mistral-large |
|
| mistral-large2 |
欧州発の高性能モデル。 多言語対応が非常に強力で、日本語も得意。効率的な設計で、商用利用でもコストパフォーマンスが良い。 |
| mistral-7b |
|
| mixtral-8x7b |
|
| snowflake-arctic |
企業向けデータ処理特化。 SQLの生成やエンタープライズ向けのデータ分析タスクに最適化されている。 |
| snowflake-llama-3.1-405b |
|
| snowflake-llama-3.3-70b |
|
【4】サンプル
例1:Cortexを使ったテーブル項目のコメント生成
USE DATABASE YOUR_DB;
SELECT
c.TABLE_CATALOG AS database_name,
c.TABLE_SCHEMA AS schema_name,
c.TABLE_NAME AS table_name,
c.COLUMN_NAME AS column_name,
c.DATA_TYPE AS column_data_type,
c.COMMENT AS existing_column_comment,
SNOWFLAKE.CORTEX.AI_COMPLETE(
'llama3.1-8b',
'You are a data warehouse documentation assistant. ' ||
'Write a concise English column description (<= 80 chars). ' ||
'Do not guess business meaning beyond the name; state neutral meaning. ' ||
'Return only the description text without any marks. ' ||
'Table: ' || c.TABLE_SCHEMA || '.' || c.TABLE_NAME ||
', Column: ' || c.COLUMN_NAME ||
', Type: ' || c.DATA_TYPE
)::string AS column_comment
FROM
INFORMATION_SCHEMA.COLUMNS AS c
WHERE
c.TABLE_SCHEMA NOT IN ('INFORMATION_SHEMA')
LIMIT 100
;
関連記事
Snowflake ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/02/130111
Snowflake ~ 入門編 / Hello world ~
https://dk521123.hatenablog.com/entry/2021/11/22/212520
Snowflake Cortex AI ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2026/03/19/144903
PostgreSQL ~ 統計情報 ~
https://dk521123.hatenablog.com/entry/2024/11/14/174334