【Databricks】Databricks AppsからLLMを動かす方法
Databricks Appsでアプリを開発していると、LLMを呼び出して、組み込みたい場面は多いです。OpenAIなどの外部APIを直接叩くことも選択肢ですが、DatabricksがホストするモデルをDatabricks経由で呼び出すことでAPIのキーや認証などの管理を容易に済ませることが出来ます。
はじめに
Databricks Appsでアプリを開発していると、LLMを呼び出して、組み込みたい場面は多いです。OpenAIなどの外部APIを直接叩くことも選択肢ですが、DatabricksがホストするモデルをDatabricks経由で呼び出すことでAPIのキーや認証などの管理を容易に済ませることが出来ます。
サービングとは
Mosaic AI Model Servingは、Databricks上でAIモデルをデプロイ・制御・クエリするための統一されたインターフェースです。
提供する各モデルはREST APIとして使用でき、WebアプリケーションやクライアントアプリケーションにLLM機能を統合できます。
Mosaic AI Model Servingは、外部LLMだけでなくカスタムモデルもデプロイおよび管理することが出来ますが、今回は既存の外部基盤モデルを使用してLLMを呼び出すことを考えていきます。
出来ますが、今回は既存の外部基盤モデルを使用してLLMを呼び出すことを考えていきます。
利用できるLLM
Databricks Model APIsで利用できる主なモデルを紹介します。これらはすべて事前構成されており、ワークスペースですぐに利用可能です。
なお、以下は2026年1月現在です。
OpenAI GPTシリーズ

Google Geminiシリーズ

Meta Llamaシリーズ

Anthropic Claudeシリーズ

その他

使用方法
それでは事前構成されているGPT-5.2をモデルサービング経由でDatabricksAppsで利用する方法を見ていきます。
事前準備:
今回は他ブログで構築した、Walmartのデータを使用してPDFレポートを作成するアプリを使用します。現在のレポートではLLMによるインサイトがありませんが、モデルサービング経由でLLMを呼び出しインサイトを食えることを目的とします。
現状の挙動確認
まずは、現在のアプリの挙動を確認します。アプリを起動すると以下のような画面になります。

ここでグラフを表示ボタンを押すと、

Databricks上のデータを取得し、グラフと合計金額を算出してくれます。
さらにPDFで保存を押すとレポートがPDFとして保存されます。

今回はこのレポートにLLMによるインサイトを追加していきます。
参考:
https://blog.since2020.jp/data_analysis/databricks_streamlit/
LLMの接続方法
1,サービスエンドポイントの追加
既存のDatabricks Appsのアプリ編集画面からサービスエンドポイントを追加します。この時、今回使用するサービスエンドポイントを「databricks-gpt-5-2」としてリソースキーを「serving-endpoint」とします。

2,app.yamlの編集
続いて,Apps上からエンドポイントにアクセスできるようにyamlファイルを編集します。以下のようにserving-endpointを追加します。これによりpythonファイル内で環境変数としてエンドポイントを利用できるようになります。

3,pythonファイルの編集
まずは、先ほど設定したエンドポイントをpythonファイル内で読み込みます。
SERVING_ENDPOINT = os.getenv("serving-endpoint", "")
続いて、LLMのエンドポイントを呼び出す関数を構築します。

最後に、Databricks上から取得したデータをプロンプトに含め、LLMにリクエストを投げる関数を作成します。

さらにPDFでの表示部分をインサイトが出力されるようにし、この関数をStreamlitのUI部分で呼び出せば、準備は完了です。

デモ
それでは、先ほど作成したアプリをデプロイし、動かしてみます。
まずは、アプリを起動します。

グラフを表示ボタンを押すと、しばらく経った後にグラフとともにインサイトが出力されていることが分かります。

最後にPDFを確認すると、PDF化したレポート内でもインサイトが確認できました。

終わりに
今回はDatabricksAppsでLLMをDatabricksから呼び出す手法について解説していきました。これにより、LLMを使用した開発がよりスムーズに行えると思うので是非参考にしてみてください。
