Databricks基盤モデルAPIがAWS Tokyoリージョンで利用できるようになりました！

見逃してました。

今月上旬から基盤モデルAPIのペイパートークンが日本(AWS Tokyo)を含むモデルサービングをサポートしているリージョンで利用できるようになっています！

[**Databricks基盤モデルAPIのペイパートークンが、モデルサービングをサポートする全てのリージョンで利用可能に**](https://docs.databricks.com/en/release-notes/product/2024/november.html#foundation-model-apis-pay-per-token-available-in-all-model-serving-supported-regions)

> [基盤モデルAPIのペイパートークン](https://docs.databricks.com/ja/machine-learning/foundation-models/index.html#pay-per-token-foundation-model-apis)を用いたワークロードが、Mosaic AI Model Servingを利用できる全てのリージョンでサポートされました。ワークスペースでUSやEUのリージョン以外のモデルサービングを利用している場合、ワークスペースでは[ジオ横断のデータ処理](https://docs.databricks.com/ja/resources/databricks-geos.html#enable-cross-geo-processing)が有効化されている必要があります。有効化されると、あなたのペイパートークンを用いたワークロードは、USの[Databricksジオ](https://docs.databricks.com/ja/resources/databricks-geos.html)にルーティングされます。


# ペイパートークンのDatabricks基盤モデルAPIで何ができるのか

## Pythonから生成AIモデルの活用

RAGなどの生成AIアプリを構築する際に、すぐに[生成AIモデルにアクセス](https://docs.databricks.com/ja/machine-learning/model-serving/score-foundation-models.html)することができます。

## Playgroundでのモデルとのチャット

自分でサービングエンドポイントを立てることなしに、すぐにモデルの動作確認をスタートすることができます。

![Screenshot 2024-11-17 at 7.09.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/66df344a-41c3-b4f9-35b5-4ebc96d3af21.png)

## AI関数の活用

こちらの[AI関数](https://docs.databricks.com/ja/large-language-models/ai-functions.html#ai-functions-using-databricks-foundation-model-apis)は内部でペイパートークンのDatabricks基盤モデルAPIを使っています。

# 設定の確認

上で説明されているように、日本リージョンの場合Databricksジオを用いてUSにルーティングされるようになっている必要があります。アカウントコンソールにログインし、対象のワークスペースにアクセスします。**セキュリティとコンプライアンス**タブにある、**指定サービスでワークスペース地域内でのデータ処理を強制する**が無効化されていることを確認します。

![Screenshot 2024-11-17 at 6.53.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/2e27a12d-6aa2-a42a-e439-d9796eb6a0a2.png)

# 動作確認

サイドメニューの**サービング**にアクセスします。これまでは、自分で作ったモデルサービングエンドポイントしか表示されていませんでしたが、画面上部に基盤モデルのAPIエンドポイントが！

![Screenshot 2024-11-17 at 6.55.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/de4bf12c-6313-0e33-2804-706a95f40f09.png)

GUI経由でモデルを使うにgはモデルの**Use**を展開します。AI PlaygroundやAI関数に簡単にアクセスできます。

![Screenshot 2024-11-17 at 7.15.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/8ebed4de-00be-9937-7dd1-51d7ea12c7e5.png)

## Pythonコードからの呼び出し

```py
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import ChatMessage, ChatMessageRole

w = WorkspaceClient()
response = w.serving_endpoints.query(
    name="databricks-dbrx-instruct",
    messages=[
        ChatMessage(
            role=ChatMessageRole.SYSTEM, content="あなたは有能なアシスタントです"
        ),
        ChatMessage(
            role=ChatMessageRole.USER, content="mixture of expertsモデルとはなんですか？"
        ),
    ],
    max_tokens=128,
)
print(f"レスポンス:\n{response.choices[0].message.content}")
```
```
レスポンス:
mixture of experts (MoE) モデルは、複数の専門家モデル (experts) とゲート (gate) という2つの主要なコンポーネントから構成される機械学習モデルです。

各専門家モデルは、入力データの一部を処理して予測値を出力するモデルです。一方、ゲートは、
```

お手軽すぎます。


## AI Playground

普通に動きます。

![Screenshot 2024-11-17 at 7.15.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/61a73f5c-725c-37c2-d8e1-6cc05fb6561e.png)

## AI関数

**Use > Use for batch inference**を選択します。

SQLエディタが開いてクエリーが表示されます。

![Screenshot 2024-11-17 at 7.17.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/994a8170-8f9a-d81c-da77-f18e040f4a9d.png)

`ai_query`が表示されていますが、ここでは[ペイパートークンを使うAI関数](https://docs.databricks.com/ja/large-language-models/ai-functions.html#ai-functions-using-databricks-foundation-model-apis)を使います。

```sql
SELECT
  ai_summarize(text) as summary
FROM
  takaakiyayoi_catalog.ai_functions.blog
LIMIT
  10
```

動きました！これはLLMのバッチ推論が捗る。

![Screenshot 2024-11-17 at 7.22.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/29e98d32-d90b-80bf-8f3a-4be81e2ca099.png)

ぜひご活用ください！

### はじめてのDatabricks

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

### Databricks無料トライアル

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