0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Databricks Free Editionでagent-langgraph-advancedを動かす

0
Posted at

はじめに

Databricks Free EditionでLakebaseが利用できるようになっていました。

まだオフィシャルなアナウンスを見つけれてないのですが、たぶんこのまま利用できると思っています。有難い限り。

せっかくならということで、Databricks Appsのテンプレートに含まれている以下のリポジトリをDatabricks Free Editionで動かしてみます。

このリポジトリはUIからは直接利用できないようなので、ローカルにクローンした上でデプロイする流れを解説してみます。

Databricks Free Editionでの動作確認をしたのちにこの記事を書いていますが、今後agent-langgraph-advancedを更新した後は動作に差異が出る場合があります。ご了承ください。


agent-langgraph-advancedとは

LangGraphをベースにしたDatabricks Appsデプロイ用のエージェントテンプレートのひとつです。

主な特徴は以下の通りです:

  • ロングラン対応: Databricks Appsは120秒でHTTPタイムアウトする制限がありますが、これを超えるエージェント処理にも対応
  • 短期メモリ: AsyncCheckpointSaverによるスレッド内の会話履歴保持
  • 長期メモリ: Databricks LakebaseとLangGraphのStoreを使ったユーザーごとの記憶永続化
  • MLflow統合: トレーシング・実験管理が最初から組み込まれている

特にロングラン対応は複雑な処理を行うエージェントでは重要です。

このテンプレートでは databricks_ai_bridge の LongRunningAgentServer を使ってこの制限を回避しています。

仕組みはこうなっています:

  1. ユーザーがリクエスト送信 → バックエンドがタスクをバックグラウンドで開始し、すぐに task_id を返す(HTTPタイムアウトを踏まない)
  2. フロントエンドがポーリング → task_id を使って処理完了まで定期的に結果を問い合わせる
  3. 完了したら結果を返す → ストリーミングレスポンスとしてフロントエンドに届く

この構成のおかげで、エージェントの処理時間がHTTPタイムアウトを超えても問題ありません。

検証環境

デプロイ環境:

  • Databricks Free Edition

ローカル環境:

  • Databricks CLI v0.298.0
  • uv
  • Node 20(nvm経由)

Step1. テンプレートのクローン

まず、ローカル環境でリポジトリをクローンします。

git clone https://github.com/databricks/app-templates
cd app-templates/agent-langgraph-advanced

Step2. LLMエンドポイントの変更

Databricks Free Editionでも動作するように、agent_server/agent.py内のLLMエンドポイントの設定を変更します。
Databricksワークスペースの「AIゲートウェイ」画面で使えるモデルを確認し、適切なエンドポイント名に書き換えてください。

agent_server/agent.py
LLM_ENDPOINT_NAME = "databricks-gemma-3-12b"

Step3. langchainのバージョン確認

リポジトリのlanggraphのバージョンでは正常に動作しなかったので、pyproject.tomlの依存関係を変更します。

pyproject.toml
dependencies = [
    ...
    "langchain>=1.2.15",
    ...
]

Step4. quickstartでセットアップ

認証や実験の作成、Lakebaseの設定まで、quickstart スクリプトが一括でやってくれます。

uv run quickstart

完了すると .env が作成され、必要なセットアップが自動で実行されます。

Step5. ローカルで動作確認

uv run start-app

ブラウザで http://localhost:3000 を開くと、チャットUIが起動します。
agent_server/agent.py の変更が正しいか、この段階で確認しておくと後が楽です。

Step6. Databricks Appsにデプロイ

# デプロイ前のバリデーション
databricks bundle validate

# バンドルのデプロイ(ファイルのアップロード・リソース作成)
databricks bundle deploy

# アプリの起動(これをしないと古いコードのまま)
databricks bundle run agent_langgraph_advanced

Databricks CLIのバージョンに注意してください。
新しいものでないとlakebaseのリソースに対応していなかったりします。

動作確認

Databricks Appsのコンソールを確認し、アプリが正常に動作されていたら成功です。

image.png

アプリのURLを開くと、ロングラン対応のチャットができます。
また、履歴やチェックポイントはlakebaseに保管されます。

image.png

まとめ

agent-langgraph-advanced テンプレートを使って、Databricks Free Editionでロングラン・Lakebase長期メモリ対応のLangGraphエージェントアプリを動かしました。
これをベースにdeepagentsなどのエージェントハーネスを動かすなど、様々な対応ができるのではないかと思います。

Free Editionでも様々なことができるようになってきましたので、Appsの学習により利用できる状態になってきましたね。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?