SnowPro Associate資格への道 ~Part3:CORTEX関数~
はじめに
9月のSnowflake World Tour TokyoまでにSnowPro Coreをとります!
試験日8月28日までいよいよ、39日。
やばいもうすぐ1か月切っちゃう💦
閑話休題 Associate試験について
とその前に、7月にSnowflake Platform Trainingを受けました(今週開催分は満席のようです💦)。
Snowflake Platform Trainingを受講してアンケートに回答すると、SnowPro Associateのバウチャーがもらえます。
ぜひ資格試験に興味がある方やSnowflake World Tour Tokyoで資格取得者専用ラウンジに入りたい、Tシャツをゲットしたい方は次回のSnowflake Platform Trainingも要チェック!
というわけで前置きが長くなりましたが、SnowPro Coreを受ける前にAssociate試験を受けちゃおうということで、横道にそれている今日この頃です。
現在こちらのUdemyの問題を解いています。
SnowPro Associate: Platform Certification – Practice Exams
Cortex
プレビュー段階でもテスト範囲になっちゃうCORTEX LLM。
まずは、COMPLETE関数について下記記載します。
AI/SQL 関数:CORTEX.COMPLETE
| 引数 | 必須 | 型 | 説明 |
|---|---|---|---|
model |
✅ | STRING | 使用するAIモデル名(例: snowflake-arctic) |
parameters |
✅ | OBJECT | 生成時のオプション設定(以下詳細) |
parameters の中で指定できるキー
| パラメータ名 | 必須 | 型 | 説明 |
|---|---|---|---|
prompt |
✅ | STRING | モデルへの入力指示文 |
temperature |
⛔ | FLOAT | 創造性(0.0〜2.0)高いとランダム性が上がる。デフォルト: 1.0 |
max_tokens |
⛔ | INT | 返答の最大トークン数。デフォルト: 512、最大: モデル依存 |
stop |
⛔ | ARRAY | 出力を止めるトークン(例: ["\n", "###"]) |
top_p |
⛔ | FLOAT | nucleus sampling制御。0〜1。デフォルト: 1.0 |
presence_penalty |
⛔ | FLOAT | 新トピックの使用促進。-2〜2 |
frequency_penalty |
⛔ | FLOAT | 繰り返しの抑制。-2〜2 |
logit_bias |
⛔ | OBJECT | トークンごとの出現確率補正。トークンID→重みのマップ |
guardrails |
⛔ | OBJECT | 安全性フィルター(Cortex Guard)設定オブジェクト |
✅ 利用例(基本)
SELECT CORTEX.COMPLETE(
'snowflake-arctic',
OBJECT_CONSTRUCT(
'prompt', '次の文を要約してください:Snowflakeは...',
'temperature', 0.7,
'max_tokens', 100
)
);
guardrails オブジェクトのキー
| パラメータ名 | 型 | 説明 |
|---|---|---|
enable_guardrails |
BOOLEAN | trueでCortex Guardを有効(既定値: true) |
category_deny_list |
ARRAY | ブロック対象カテゴリ(例: ["hate", "violence"]) |
category_allow_list |
ARRAY | 許可カテゴリ(deny_listより優先) |
✅ 利用例(Cortex Guardつき)
SELECT CORTEX.COMPLETE(
'snowflake-arctic',
OBJECT_CONSTRUCT(
'prompt', '次のSQLは安全ですか?: DROP TABLE users;',
'temperature', 0.3,
'max_tokens', 150,
'guardrails', OBJECT_CONSTRUCT(
'enable_guardrails', true,
'category_deny_list', ARRAY_CONSTRUCT('violence', 'hate')
)
)
);
AI/SQL 関数:AI_COMPLETE
最新はAI_COMPLETEとなっているそうです。
✅ 利用例
SELECT AI_COMPLETE('こんにちは、元気ですか?') AS 応答;
えっめっちゃ簡単じゃない?
そういえば、最近このようなポストを見たばかりでした。
AI/SQL 関数:TRANSLATE
AIを使って、ある言語から別の言語に翻訳してくれる関数です。
ChatGPTみたいなAIが、SQLだけで翻訳してくれます。
✅ 利用例
SELECT CORTEX.TRANSLATE('I love bananas', 'en', 'ja') AS 翻訳結果;
AI/SQL 関数:PARSE_DOCUMENT
pdfなどからテキストを抽出する関数です。
✅ 利用例
SELECT
SNOWFLAKE.CORTEX.PARSE_DOCUMENT(
@parse_document.demo.documents,
'document_1.pdf',
{'mode': 'LAYOUT'}
) AS layout;
まとめ
CORTEX AI/SQL関数はAIがSnowflakeで使えるようになってから、
引き続き進化していきそうな期待感を感じられます。
SnowPro Associateの資格のために概要を勉強してみましたが、
自分でAIを作ってみるなど理解を深めるためにはもっと手を動かした方がよさそうです。
アウトプットしたいトピックを3点公開できたので、この後はひたすら問題を何度か解くのみ。
それでもわからない所が出てきたら、またzennブログを書こうと思います。
Discussion