🦧
【Azure Databricks】AI SQL関数を呼んでみる
DatabricksのAI関数
DatabricksにはAI関数なるものが存在します。
ai_analyze_sentiment関数> SELECT ai_analyze_sentiment('I am happy');
positive
> SELECT ai_analyze_sentiment('I am sad');
negative
ai_mask関数
> SELECT ai_mask(
'John Doe lives in New York. His email is john.doe@example.com.',
array('person', 'email')
);
"[MASKED] lives in New York. His email is [MASKED]."
> SELECT ai_mask(
'Contact me at 555-1234 or visit us at 123 Main St.',
array('phone', 'address')
);
"Contact me at [MASKED] or visit us at [MASKED]"
このようにDatabricks上には、SQL文の中でAI関数を呼ぶことができます。
今回はAzure Databricksを使用して、AI関数を呼んでみたいと思います。
Azure Databricks
以下は私が試した手順です。
①East USでDatbricksをデプロイします。
-> リージョンによってはAI SQLが組み込まれていないので、East USを選択します。
②SQLウェアハウスでServerless Starter Warehouseをデプロイします。
③ノートブックでAI SQLが使えるか確認する。
%sql
SELECT ai_analyze_sentiment("I am happy");
-> ai_analyze_sentiment(I am happy)
-> positive
簡単にAI SQLを実行することができました。
それ以外にも
ExcelやCSVを読み込んで、各行に対しても実行することができます。
message |
---|
sunny |
i am happy |
hogehoge |
query = """
SELECT
message,
ai_analyze_sentiment(message) AS sentiment
FROM
tempview
"""
res = spark.sql(query)
display(res)
message | sentiment | |
---|---|---|
1 | sunny | positive |
2 | i am happy | positive |
3 | hogehoge | neutral |
30行ほどのExcelを試したところ、30秒ほどかかりましたがちゃんと各行に対して結果を返してくれました!
さいごに
Azure Databricksの料金体系は、少々複雑なのでどんなクラスターが動いているかなど確認した方が良さそうです。
また、Microsoft FabricはAzure Databricksと統合できるように設定されています。
Azure Databricksに直接データを入れてAI SQLを試しましたが、Fabricを使用してデータの統合から自動で感情分析の結果などを返してみたいな〜なんて思いました。
Discussion