生成AI アプリケーション用のエージェントをデプロイする
エージェント フレームワーク Python APIのdeploy()関数を使用して、Mosaic AI Model Serving に AI エージェントをデプロイします。導入により、スケーラビリティ、モニタリング、コラボレーション ツールが組み込まれたサービス エンドポイントが作成されます。
導入されたエージェントは、進行トレース、関係者フィードバック用のレビュー アプリ、モニタリングなどのMLflow 3 評価およびモニタリング機能と自動的に統合されます。
必要条件
- MLflow 3
- MLflow 2.x
- Unity Catalogにエージェントを登録します。
- MLflow 3.1.3をインストールする
databricks.agentsからdeploy()API を使用してエージェントを展開するには、バージョン 1.0 以上が必要です。 - Databricks ノートブックの外部からエージェントをデプロイするには、
databricks-agentsSDK バージョン 1.1.0 が必要ですまたはそれ以上。
前提条件をインストールします。
# Install prerequisites
%pip install mlflow>=3.1.3 databricks-agents>=1.1.0
# Restart Python to make sure the new packages are picked up
dbutils.library.restartPython()
Databricks では、MLflow 2 の一部のログ機能は非推奨になるため、エージェントのデプロイには MLflow 3 を使用することをお勧めします。詳細な展開アクションを参照してください。
- Unity Catalogにエージェントを登録します。
databricks.agentsのdeploy()API を使用してエージェントを展開するには、MLflow 2.13.1 以上をインストールします。- Databricks ノートブックの外部からエージェントをデプロイするには
databricks-agentsSDK バージョン 0.12.0 以降が必要です。
前提条件をインストールします。
# Install prerequisites
%pip install mlflow>=2.13.1 databricks-agents>=0.12.0
# Restart Python to make sure the new packages are picked up
dbutils.library.restartPython()
エージェントを展開するには deploy()
エージェントをモデルサービング エンドポイントにデプロイします。
from databricks import agents
deployment = agents.deploy(uc_model_name, uc_model_info.version)
# Retrieve the query endpoint URL for making API requests
deployment.query_endpoint
deploy() を呼び出すと、 Databricks自動的に本番運用インフラストラクチャを設定し、次の操作を実行してエージェントをMLflow gen AI機能と統合します。
Databricks Git フォルダーに保存されているノートブックからエージェントを展開する場合、MLflow 3 リアルタイム トレースはデフォルトでは機能しません。
リアルタイムトレースを有効にするには、 agents.deploy()実行する前に、 mlflow.set_experiment()を使用してエクスペリメントをGitに関連付けられていないエクスペリメントに設定します。
deploy() 関数は、デフォルトで次のアクションを実行します。
- 自動スケーリングと負荷分散を備えたエージェントをホストするための モデルビングサー エンドポイントを作成します
- エージェントが基礎となるリソースにアクセスするための 安全な認証をプロビジョニングする
- MLflowエクスペリメントのトレースと本番運用トラフィックの自動品質評価を通じて 、モニタリングを有効にします。
- フィードバック収集のためのレビュー アプリを使用して 関係者のコラボレーションを設定します
詳細については、 「詳細な展開アクション」を参照してください。
デプロイのカスタマイズ
デプロイメントをカスタマイズするには、 deploy()に追加の引数を渡します。たとえば、 scale_to_zero_enabled=Trueを渡すことで、アイドル状態のエンドポイントに対してゼロへのスケールを有効にすることができます。これによりコストは削減されますが、最初のクエリを処理する時間は長くなります。
その他のパラメーターについては、「 Databricks Agents Python API」を参照してください。
エージェントの展開を取得および削除する
既存のエージェントの展開を取得または管理します。Databricks エージェント Python API を参照してください。
from databricks.agents import list_deployments, get_deployments, delete_deployment
# Print all current deployments
deployments = list_deployments()
print(deployments)
# Get the deployment for a specific agent model name and version
agent_model_name = "" # Set to your Unity Catalog model name
agent_model_version = 1 # Set to your agent model version
deployment = get_deployments(model_name=agent_model_name, model_version=agent_model_version)
# List all deployments
all_deployments = list_deployments()
# Delete an agent deployment
delete_deployment(model_name=agent_model_name, model_version=agent_model_version)
依存リソースの認証
エージェントは、デプロイ時にタスクを完了するために他のリソースに対して認証を行う必要があることがよくあります。たとえば、エージェントは非構造化データをクエリするために、地下鉄検索インデックスにアクセスする必要がある場合があります。
認証方法(使用するタイミングや設定方法など)の詳細については、 「 AIエージェントの認証」を参照してください。
詳細な展開アクション
次の表は、 deploy()呼び出しの結果として実行される詳細なデプロイメント アクションを示しています。デプロイが完了するまでに最大 15 分かかる場合があります。
- MLflow 3
- MLflow 2
| 説明 |
|---|---|
モデルサービングエンドポイントの作成 | 自動負荷分散を使用して、ユーザー向けアプリケーションにエージェントを提供するスケーラブルな REST API エンドポイントを作成します。 |
安全な認証のプロビジョニング | エージェントが必要最小限のアクセス許可でDatabricksで管理されるリソース(一括検索インデックス、 Unity Catalog機能など) にアクセスできるようにする、有効期間の短い資格情報を自動的に提供します。 Databricks は、資格情報を発行する前にエンドポイント所有者が適切な権限を持っていることを確認し、不正アクセスを防止します。 Databricks 以外のリソースの場合は、シークレットを含む環境変数を |
レビューアプリを有効にする | 関係者がエージェントと対話し、フィードバックを提供できる Web インターフェースを提供します。「ドメイン エキスパートのフィードバックを収集する」を参照してください。 |
リアルタイムトレースを有効にする | すべてのエージェントの対話をMLflowエクスペリメントに 1 回で記録し、モニタリングとデバッグを即座に可視化します。
|
本番運用モニタリングを有効にする (ベータ版) | 本番運用トラフィックでスコアラーを実行する自動品質評価を構成します。 「本番運用モニタリング」を参照してください。 |
推論テーブルを有効にする | 監査と分析のために、要求の入力と応答を記録するテーブルを作成します。 警告: リクエスト ログと評価ログは非推奨であり、将来のリリースで削除される予定です。代わりに MLflow 3 リアルタイム トレースを使用してください。移行ガイダンスについては、リクエスト ログと評価ログの廃止を参照してください。
|
REST API 要求のログ記録とアプリのフィードバックの確認 | API 要求とフィードバックを推論テーブルに記録します。 警告: フィードバック モデルは非推奨であり、将来のリリースで削除される予定です。MLflow 3 にアップグレードし、代わりに
|
| 説明 |
|---|---|
モデルサービングエンドポイントの作成 | 自動負荷分散を使用して、ユーザー向けアプリケーションにエージェントを提供するスケーラブルな REST API エンドポイントを作成します。 |
安全な認証のプロビジョニング | エージェントが必要最小限のアクセス許可でDatabricksで管理されるリソース(一括検索インデックス、 Unity Catalog機能など) にアクセスできるようにする、有効期間の短い資格情報を自動的に提供します。 Databricks は、資格情報を発行する前にエンドポイント所有者が適切な権限を持っていることを確認し、不正アクセスを防止します。 Databricks 以外のリソースの場合は、シークレットを含む環境変数を |
レビューアプリを有効にする | 関係者がエージェントと対話し、フィードバックを提供できる Web インターフェースを提供します。「ドメイン エキスパートのフィードバックを収集する」を参照してください。 |
推論テーブルを有効にする | 監査と分析のために、要求の入力と応答を記録するテーブルを作成します。 警告: リクエスト ログと評価ログは非推奨であり、将来のリリースで削除される予定です。移行ガイダンスについては、リクエスト ログと評価ログの廃止を参照してください。
|
REST API リクエストのログ記録とアプリのフィードバックの確認(非推奨) | API 要求とフィードバックを推論テーブルに記録します。 警告: フィードバック モデルは非推奨であり、将来のリリースで削除される予定です。MLflow 3 にアップグレードし、代わりに
|