🦧

【Azure Databricks】AI SQL関数を呼んでみる

2024/11/20に公開

DatabricksのAI関数

DatabricksにはAI関数なるものが存在します。
https://docs.databricks.com/ja/large-language-models/ai-functions.html
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の料金体系は、少々複雑なのでどんなクラスターが動いているかなど確認した方が良さそうです。
https://azure.microsoft.com/ja-jp/pricing/details/databricks/

また、Microsoft FabricはAzure Databricksと統合できるように設定されています。
Azure Databricksに直接データを入れてAI SQLを試しましたが、Fabricを使用してデータの統合から自動で感情分析の結果などを返してみたいな〜なんて思いました。

ヘッドウォータース

Discussion