メインコンテンツまでスキップ

AIエージェントを作成し、 Databricks Appsにデプロイする

備考

実験段階

この機能は実験的なもので、変更される可能性があります。

AIエージェントを構築し、 Databricks Appsを使用してデプロイします。 Databricks Apps使用すると、エージェント コード、サーバー構成、展開ワークフローを完全に制御できます。 このアプローチは、カスタム サーバー動作、Git ベースのバージョン管理、またはローカル IDE 開発が必要な場合に最適です。

このエージェント デプロイ ワークフローは、 Databricksインフラストラクチャを管理するモデルサービング エンドポイントにエージェントをデプロイする代わりの方法です。

エージェントチャットUIプレビュー

前提条件

ワークスペースでDatabricks Apps有効にします。 Databricks Appsワークスペースと開発環境をセットアップする 」を参照してください。

エージェントアプリテンプレートのクローンを作成する

Databricks アプリ テンプレート リポジトリから事前に構築されたエージェント テンプレートを使用して開始します。

このチュートリアルでは、次の内容を含むagent-openai-agents-sdkテンプレートを使用します。

  • OpenAI Agent SDKを使用して作成されたエージェント
  • 会話型 REST API と対話型チャット UI を備えたエージェント アプリケーションのスターター コード
  • MLflowを使用してエージェントを評価するコード

テンプレートを設定するには、次のいずれかのパスを選択します。

ワークスペース UI を使用してアプリ テンプレートをインストールします。 これにより、アプリがインストールされ、ワークスペース内のコンピュート リソースにデプロイされます。 その後、アプリケーション ファイルをローカル環境に同期して、さらに開発を進めることができます。

  1. Databricks ワークスペースで、 [+ 新規] > [アプリ] をクリックします。

  2. [エージェント] > [OpenAI エージェント SDK エージェント] を選択します。

  3. openai-agents-templateという名前で新しいMLflow拡張機能を作成し、残りのセットアップを完了してテンプレートをインストールします。

  4. アプリを作成したら、アプリの URL をクリックしてチャット UI を開きます。

    エージェントチャットUIプレビュー

アプリを作成したら、ソース コードをローカル マシンにダウンロードしてカスタマイズします。

  1. ファイルの同期 の最初のコマンドをコピーします

    ファイルの同期Databricks Apps

  2. ローカル ターミナルで、コピーしたコマンドを実行します。

エージェントアプリケーションを理解する

エージェント テンプレートは、次の 3 つの主要なコンポーネントを使用して本番運用に対応したアーキテクチャを示しています。

MLflow AgentServer : 組み込みのトレースと監視機能を使用してエージェント要求を処理する非同期 FastAPI サーバー。AgentServer は、エージェントを照会するための/invocationsエンドポイントを提供し、リクエストのルーティング、ログ記録、およびエラー処理を自動的に管理します。

OpenAI Agents SDK : このテンプレートは、会話管理とツール オーケストレーションのエージェント フレームワークとして OpenAI Agents SDK を使用します。任意のフレームワークを使用してエージェントを作成できます。重要なのは、エージェントを MLflow ResponsesAgentインターフェースでラップすることです。

ResponsesAgentインターフェース : このインターフェースにより、エージェントがさまざまなフレームワークで動作し、Databricks ツールと統合されることが保証されます。OpenAI SDK 、LangGraph、 LangChain 、または純粋なPythonを使用してエージェントを構築し、それをResponsesAgentでラップするとAI Playground 、エージェント評価、およびDatabricks Appsデプロイメントとの互換性が自動的に得られます。

MCP (モデル コンテキスト プロトコル) サーバー : テンプレートは、 Databricks MCP サーバーに接続して、エージェントからツールおよびデータ ソースにアクセスします。 Databricks のモデル コンテキスト プロトコル (MCP) を参照してください。

アプリ上のエージェントの簡単な図

エージェントアプリをローカルで実行する

ローカル環境を設定します。

  1. uv (Python パッケージ マネージャー)、 nvm (Node バージョン マネージャー)、および Databricks CLI をインストールします。

  2. ディレクトリをagent-openai-agents-sdkフォルダーに変更します。

  3. 提供されているクイックスタート スクリプトを実行して依存関係をインストールし、環境をセットアップしてアプリを起動します。

    Bash
    ./scripts/quickstart.sh
    uv run start-app

ブラウザでhttp://localhost:8000にアクセスしてエージェントとのチャットを開始してください。

認証を構成する

エージェントは、 MLflowエクスペリメント、連続検索インデックス、サービス エンドポイント、 Unity Catalog機能などのDatabricksリソースにアクセスするために認証が必要です。

サービスプリンシパル認証(ほとんどのユースケースで推奨)または代理認証を選択します。

当然、 Databricks Appsサービスプリンシパル (SP) を使用して認証します。 SP はアプリを作成するときに自動的に作成され、アプリの ID として機能します。

トレースと評価結果をログに記録するためのMLflowエクスペリメントに対する SP Can Edit権限を付与します。 これを設定するには、アプリのホームページでeditをクリックします。MLflowエクスペリメント リソースをDatabricksアプリに追加する」を参照してください。

エージェントが、ストッパー検索インデックス、サービス提供エンドポイント、UC Functions、UC Connections、Lakebase データベース、UC Volumes、またはGenie spacesなどの他のDatabricksリソースを使用している場合は、SP にそれらへのアクセス許可を付与できます。 リソースの完全なリストとアクセス許可の構成方法については、 「Databricks アプリへのリソースの追加」を参照してください。

選択する適切な権限レベルについては、 「エージェントの自動認証」の表を参照してください。

エージェントを評価する

テンプレートにはエージェント評価コードが含まれています。詳細については、 agent_server/evaluate_agent.pyを参照してください。 ターミナルで次のコマンドを実行して、エージェントの応答の関連性と安全性を評価します。

Bash
uv run agent-evaluate

エージェントをDatabricks Appsにデプロイする

認証を構成したら、エージェントを Databricks にデプロイします。Databricks CLIがインストールされ、構成されていることを確認してください。

  1. リポジトリをローカルに複製した場合は、デプロイする前に Databricks アプリを作成します。ワークスペース UI を通じてアプリを作成した場合は、アプリとMLflowエクスペリメントがすでに構成されているため、このステップをスキップしてください。

    Bash
    databricks apps create agent-openai-agents-sdk
  2. ローカル ファイルをワークスペースに同期します。「アプリをデプロイする」を参照してください。

    Bash
    DATABRICKS_USERNAME=$(databricks current-user me | jq -r .userName)
    databricks sync . "/Users/$DATABRICKS_USERNAME/agent-openai-agents-sdk"
  3. Databricks アプリをデプロイします。

    Bash
    databricks apps deploy agent-openai-agents-sdk --source-code-path /Workspace/Users/$DATABRICKS_USERNAME/agent-openai-agents-sdk

エージェントの今後の更新については、エージェントを同期して再デプロイしてください。

デプロイされたエージェントをクエリする

ユーザーは、OAuth トークンを使用して、デプロイされたエージェントにクエリを実行します。Databricks Appsでは、パーソナル アクセスウイルス (PAT) はサポートされていません。

Databricks CLI を使用して OAuth トークンを生成します。

Bash
databricks auth login --host <https://host.databricks.com>
databricks auth token

トークンを使用してエージェントにクエリを実行します。

Bash
curl -X POST <app-url.databricksapps.com>/invocations \
-H "Authorization: Bearer <oauth token>" \
-H "Content-Type: application/json" \
-d '{ "input": [{ "role": "user", "content": "hi" }], "stream": true }'

制限事項

中および大のコンピュート サイズのみがサポートされています。 Databricksアプリのコンピュート サイズを構成する」を参照してください。