🙌

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

https://docs.snowflake.com/user-guide/snowflake-cortex/aisql#complete-function

プレビュー段階でもテスト範囲になっちゃう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となっているそうです。
https://docs.snowflake.com/sql-reference/functions/ai_complete

✅ 利用例

SELECT AI_COMPLETE('こんにちは、元気ですか?') AS 応答;

えっめっちゃ簡単じゃない?

そういえば、最近このようなポストを見たばかりでした。
https://x.com/baihebu/status/1937023806713012668

AI/SQL 関数:TRANSLATE

AIを使って、ある言語から別の言語に翻訳してくれる関数です。
ChatGPTみたいなAIが、SQLだけで翻訳してくれます。

✅ 利用例

SELECT CORTEX.TRANSLATE('I love bananas', 'en', 'ja') AS 翻訳結果;

AI/SQL 関数:PARSE_DOCUMENT

https://docs.snowflake.com/ja/user-guide/snowflake-cortex/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