DatabricksのAI Builder

マニュアルができてました。

https://docs.databricks.com/aws/ja/generative-ai/ai-builder/

:::note info
**注意**
本機能はベータ版です。
:::

# AI Builderとは

[マニュアル](https://docs.databricks.com/aws/ja/generative-ai/ai-builder/#ai-builder-%E3%81%A8%E3%81%AF)にも記載がありますが、あるユースケース向けのAIエージェントを構築、最適化できるノーコードソリューションです。

# AI Builderのウォークスルー

ベータ版時点では**情報抽出**のみがサポートされています。構造化されていないテキストから指定された情報を抽出するエージェントを構築することができます。

https://docs.databricks.com/aws/ja/generative-ai/ai-builder/key-info-extraction

## 準備

使うには以下の準備が必要です。

- 情報を抽出するファイル。サポートされている形式は[こちら](https://docs.databricks.com/aws/ja/generative-ai/ai-builder/key-info-extraction#%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E5%BD%A2%E5%BC%8F)。今回は自分のQiita記事をAPIで取得して、マークダウン形式でボリュームに保存しています。

今回は動かすのが目的なので100文書にしています。

![Screenshot 2025-03-28 at 11.32.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/a2673d68-2cd1-40fa-abd4-d3189776cf49.png)


## エージェントの構築

(ベータ版を利用できる場合、)**機械学習**セクションに**AI Builder**が表示されます。

![Screenshot 2025-03-28 at 11.06.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/3fb1bf5d-976a-4bf1-9c61-eff1d9201f01.png)

**Information Extraction**のみ利用できるのでこちらを選択します。

![Screenshot 2025-03-28 at 11.06.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/908067f1-0985-4746-9a41-e8051ea0070d.png)

設定画面に遷移します。ここでは、情報を抽出するドキュメントを格納しているボリューム、抽出する情報を指定するJSON文字列、エージェントの名前を指定します。

![Screenshot 2025-03-28 at 11.07.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/219a9994-f76a-4375-aa1e-2e16593cf593.png)

**Show an example**をクリックするとタスクや入出力の例を確認できます。

![Screenshot 2025-03-28 at 11.07.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/eea081e1-4647-4a5e-9e28-92b2c02473e4.png)

以下のように設定します。

![Screenshot 2025-03-28 at 11.41.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/e6cc2c4b-3154-4c1f-a9b7-15b7545a1c37.png)

構築画面に移動します。ここでも出力スキーマを指定できます。あと、**指示**が指定できるので、ここでプロンプトを調整する感じですね。

![Screenshot 2025-03-28 at 11.42.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/ad0fbe02-fcc3-4bdd-80a5-d68a2779c683.png)

このまま抽出に進むこともできるのですが、ファインチューンを通じて最適化を行うこともできます。最適化してみます。

![Screenshot 2025-03-28 at 11.43.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/db394da8-d884-463d-9798-080c31de33d7.png)

## エージェントの最適化

最適化を選択すると、ハイパーパラメータ含めたチューニングが実行されます。1時間くらいかかります。

![Screenshot 2025-03-28 at 11.49.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/3f6f3bde-e267-4fa6-8467-6d4106d7ae51.png)

最適化が完了するとメトリクスや評価結果を確認できます。

![Screenshot 2025-03-28 at 13.08.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/c687d62a-fe00-4775-a1c8-e77e3e6df575.png)
![Screenshot 2025-03-28 at 13.08.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/a3564d17-5fc3-4074-a098-d8a1a9e7d1be.png)

## エージェントの利用

エージェントはモデルサービングエンドポイントにデプロイされるので、[ai_query](https://docs.databricks.com/gcp/ja/large-language-models/ai-functions#-%E6%B1%8E%E7%94%A8%E6%A9%9F%E8%83%BD-ai_query)などから利用できます。

```sql
%sql
WITH query_results AS (
  SELECT
    value AS input,
    ai_query(
      'qiita-info-extractor',
      input,
      failOnError => false
    ) AS response
  FROM (
    SELECT value
    FROM read_files('/Volumes/taka_yayoi_catalog/ai_builder/articles/', wholeText => true, format => 'text')  -- Customize the path to your text corpus
    LIMIT 20
  )
)
SELECT
  input,
  response.result AS response,
  response.errorMessage AS error
FROM query_results
```

![Screenshot 2025-03-28 at 13.12.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/ef4f24a3-6fd7-4ccf-8ac6-0466f83ab8a8.png)

今後のアップデートをお待ちください！

### はじめてのDatabricks

[はじめてのDatabricks](https://qiita.com/taka_yayoi/items/8dc72d083edb879a5e5d)

### Databricks無料トライアル

[Databricks無料トライアル](https://databricks.com/jp/try-databricks)