Databricks の外部にデプロイされたトレース エージェント
MLflow Tracing は、実行の詳細をキャプチャして Databricks ワークスペースに送信し、MLflow UI で表示できるようにすることで、Databricks 外部にデプロイされた本番運用 GenAI エージェントに包括的な可観測性を提供します。
このページでは、トレースを有効にして Databricks の外部にエージェントをデプロイする方法について説明します。エージェントが Databricks モデルサービングを使用して展開されている場合は、「 エージェント フレームワークを使用した展開 (推奨)」を参照してください。
前提 条件
必要なパッケージをインストールします。次の表に、オプションを示します。
パッケージ | 推奨される使用例 | 利点 |
---|---|---|
| 本番運用のデプロイメント | 無駄のない迅速な展開のための最小限の依存関係 大量のトレースに最適化されたパフォーマンス 本番運用 モニタリングのクライアント側トレースに着目 |
開発と実験 | 完全な MLflow 実験機能セット (UI、LLM-as-a-judge、開発ツールなど) すべての開発ツールとユーティリティが含まれています |
## Install mlflow-tracing for production deployment tracing
%pip install --upgrade mlflow-tracing
## Install mlflow for experimentation and development
%pip install --upgrade "mlflow[databricks]>=3.1"
基本的なトレース設定
Databricks がトレースを収集できるように、Databricks ワークスペースに接続するようにアプリケーション デプロイを構成します。
次の環境変数を設定します。
# Required: Set the Databricks workspace host and authentication token
export DATABRICKS_HOST="https://your-workspace.cloud.databricks.com"
export DATABRICKS_TOKEN="your-databricks-token"
# Required: Set MLflow Tracking URI to "databricks" to log to Databricks
export MLFLOW_TRACKING_URI=databricks
# Required: Configure the experiment name for organizing traces (must be a workspace path)
export MLFLOW_EXPERIMENT_NAME="/Shared/production-genai-app"
デプロイの例
環境変数を設定したら、それらをアプリケーションに渡します。タブをクリックすると、接続の詳細をさまざまなフレームワークに渡す方法が表示されます。
- Docker
- Kubernetes
Docker デプロイの場合は、コンテナー構成を介して環境変数を渡します。
# Dockerfile
FROM python:3.11-slim
# Install dependencies
COPY requirements.txt .
RUN pip install -r requirements.txt
# Copy application code
COPY . /app
WORKDIR /app
# Set default environment variables (can be overridden at runtime)
ENV DATABRICKS_HOST=""
ENV DATABRICKS_TOKEN=""
ENV MLFLOW_TRACKING_URI=databricks
ENV MLFLOW_EXPERIMENT_NAME="/Shared/production-genai-app"
CMD ["python", "app.py"]
環境変数を使用してコンテナを実行します。
docker run -d \
-e DATABRICKS_HOST="https://your-workspace.cloud.databricks.com" \
-e DATABRICKS_TOKEN="your-databricks-token" \
-e MLFLOW_TRACKING_URI=databricks \
-e MLFLOW_EXPERIMENT_NAME="/Shared/production-genai-app" \
-e APP_VERSION="1.0.0" \
your-app:latest
Kubernetes デプロイの場合は、ConfigMaps と Secrets を使用して環境変数を渡します。
# configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: databricks-config
data:
DATABRICKS_HOST: 'https://your-workspace.cloud.databricks.com'
MLFLOW_TRACKING_URI: databricks
MLFLOW_EXPERIMENT_NAME: '/Shared/production-genai-app'
---
# secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: databricks-secrets
type: Opaque
stringData:
DATABRICKS_TOKEN: 'your-databricks-token'
---
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: genai-app
spec:
template:
spec:
containers:
- name: app
image: your-app:latest
envFrom:
- configMapRef:
name: databricks-config
- secretRef:
name: databricks-secrets
env:
- name: APP_VERSION
value: '1.0.0'
トレース収集の検証
アプリをデプロイした後、トレースが適切に収集されていることを確認します。
import mlflow
from mlflow.client import MlflowClient
import os
# Ensure MLflow is configured for Databricks
mlflow.set_tracking_uri("databricks")
# Check connection to MLflow server
client = MlflowClient()
try:
# List recent experiments to verify connectivity
experiments = client.search_experiments()
print(f"Connected to MLflow. Found {len(experiments)} experiments.")
# Check if traces are being logged
traces = mlflow.search_traces(
experiment_names=[os.getenv("MLFLOW_EXPERIMENT_NAME", "/Shared/production-genai-app")],
max_results=5
)
print(f"Found {len(traces)} recent traces.")
except Exception as e:
print(f"Error connecting to MLflow: {e}")
print(f"Check your authentication and connectivity")
次のステップ
トレース ログを使用してエージェントを Databricks MLflow サーバーにデプロイしたら、トレースを表示、拡張、分析できます。
- MLflow UI でトレースを表示する
- ユーザーまたはセッション ID、カスタム タグ、ユーザー フィードバックなどのメタデータをトレースに追加して、 デバッグ と 知見
- トークンの使用状況とコストを追跡する
- スコアラー、評価データセット、本番運用 モニタリングを使用してエージェントを評価および監視 する
機能参照
このガイドの概念と機能の詳細については、以下を参照してください。
- デプロイメントの詳細のトレース - デプロイメント・オプションのトレースの詳細
- トレース データ モデル - トレース、スパン、属性について学習します
- 評価のログ記録 - フィードバックの保存方法と使用方法を理解する