
はじめに
こんにちは。
BeeX エンタープライズソリューション本部 データインテリジェンス部の安倍です。
皆さん、データ活用にAIをうまく組み込めていますか?
SQLが難しい…AIに聞いてクエリを作成してもらってそれをコピペしているけど画面の行き来が地味に大変…
そんなお悩みを解決してくれるのが、先日パブリックプレビューになったSnowflakeのAIコーディングエージェント「Cortex Code」です!
今回は、Cortex CodeをSnowflakeのWebコンソール(Snowsight)から利用する方法をご紹介します。
CLIでも利用できるので、別の機会にご紹介いたします。
Cortex Code利用にあたっての前提条件
- クロスリージョン推論がアカウントレベルで有効化されていること
- 非ガバメント, VPS, ソブリン 以外の商用アカウントであること(トライアルアカウントでも可) ※権限については省きます
上記の前提条件をクリアする必要がありますが、通常のユーザーであればクロスリージョン推論の部分だけ意識すれば良いと思います。
なお、詳細については以下のリンクをご参照ください。
手順
では、実際にSnowsightの画面でCortex Codeを利用するまでの手順をご紹介します。
まずは、どこから触れるかを見てみましょう。
Snowsightの画面を見ると右下に小さくダイヤのようなマークが見えるので、そのマークをクリックします。

クリックすると、右側にCortex Codeの画面が表示されます。
現時点では、権限がない旨のメッセージが表示されてテキスト入力ができないようになっています。
これは、クロスリージョン推論が有効化されていないためです。

クロスリージョン推論の有効化
クロスリージョン推論の有効化を行います。
クロスリージョン推論の有効化は、アカウントレベルの操作になるので、ACCOUNTADMINを利用して行います。
今回は、ドキュメントに記載のあるAWS_USで有効化します。
ALTER ACCOUNT SET CORTEX_ENABLED_CROSS_REGION = 'AWS_US';

【参考ドキュメント】
これで、クロスリージョン推論の有効化は完了です。
なお、クロスリージョン推論の有効化時に指定可能なリージョンについては以下のドキュメントをご参照ください。
画面を再読み込みすると、テキストが入力できるようになりました。

Cortex Codeの活用
次は、実際にCortex Codeを利用して自然言語による自動クエリ作成を行っていきます。
本検証環境には、Snowflake Marketplaceでtruestar社の日本用カレンダーのデータを入れています。
このカレンダーデータを利用して、営業日を管理する独自のカレンダーテーブルを作成していきます。
(もちろんtruestarさんのカレンダーをそのまま活用するだけでもできます)
まずは、シンプルなクエリ発行から実施してみます。
自然言語による問い合わせだけでデータを抽出してくれました。

次に、抽出したデータを用いて祝日のみを管理するテーブルを作成します。
ついでにデータベースとスキーマも作成させます。
このように設定変更を伴う場合は、実行する前にクエリの表示と実行可否の確認をしてくれます。
Yesを押すと実際にクエリが実行されます。

このように若干複雑なクエリだとしても、ものの数分で実際のデータ作成まで実施することができました。
まとめ
今回は、既存のデータを利用して、新規のデータを管理するテーブル作成までを一気通貫でCortex Codeを利用して行いました。
Cortex Codeの活用例として、データマートの作成をデータアナリストが要件ベースで問い合わせることで実現性を検証できます。
また、分析に用いるデータがまだ存在しない段階でテストデータを作成し、アジャイル的なデータウェアハウス設計がしやすくなりました。
おわりに
BeeXでは、SAPをはじめとした様々なデータソースに散在するデータを統合・活用するご支援をいたします。
データ活用に関するご相談がございましたら、お気軽にお問い合わせください。