生成AI アプリのトレース (IDE)
このクイックスタートは、開発環境としてローカル IDE を使用している場合に、生成AI アプリを MLflow Tracing と統合するのに役立ちます。Databricks ノートブックを使用している場合は、代わりに Databricks ノートブックのクイックスタート を使用してください。
達成できること
このチュートリアルを終了すると、次のことができるようになります。
- 生成AIアプリのための MLflow エクスペリメント
- MLflow に接続されたローカル開発環境
- MLflow Tracing でインストルメント化されたシンプルな 生成AI アプリケーション
- そのアプリからのトレースを MLflow エクスペリメントに
前提 条件
- Databricks Workspace : Databricksワークスペースへのアクセス。
手順 1: MLflow をインストールする
ローカル IDE で作業する場合は、Databricks 接続を使用して MLflow をインストールする必要があります。
pip install --upgrade "mlflow[databricks]>=3.1" openai
ステップ 2: 新しい MLflow エクスペリメントを作成する
MLflow エクスペリメントは、生成AI アプリケーションのコンテナです。エクスペリメントとその内容の詳細については、 データ モデルの セクションを参照してください。
- Databricks ワークスペースを開く
- 左側のサイドバーの [Machine Learning ]の下にある [エクスペリメント ]に移動します
- エクスペリメントページの上部にある 新規生成AIエクスペリメント をクリックします
手順 3: 環境を MLflow に接続する
このクイックスタートでは、Databricks 個人用アクセス トークンの使用について説明します。MLflow は、 Databricks でサポートされている他の認証方法とも連携します。
- Use environment variables
- Use a .env file
-
[Generate API Key ] をクリックします
-
生成されたコードをコピーしてターミナルで実行します。
Bashexport DATABRICKS_TOKEN=<databricks-personal-access-token>
export DATABRICKS_HOST=https://<workspace-name>.cloud.databricks.com
export MLFLOW_TRACKING_URI=databricks
export MLFLOW_EXPERIMENT_ID=<experiment-id>
-
[Generate API Key ] をクリックします
-
生成されたコードをプロジェクト ルートの
.env
ファイルにコピーしますBashDATABRICKS_TOKEN=<databricks-personal-access-token>
DATABRICKS_HOST=https://<workspace-name>.cloud.databricks.com
MLFLOW_TRACKING_URI=databricks
MLFLOW_EXPERIMENT_ID=<experiment-id> -
python-dotenv
パッケージをインストールするBashpip install python-dotenv
-
コードに環境変数を読み込む
Python# At the beginning of your Python script
from dotenv import load_dotenv
# Load environment variables from .env file
load_dotenv()
ステップ 4: アプリケーションを作成して計測可能にする
Databricks は、一般的なフロンティアおよびオープンソースの基礎 LLM へのアクセスをすぐに提供しました。このクイックスタートを実行するには、次の操作を行います。
- Databricks でホストされている LLM を使用する
- LLM プロバイダーから独自の API キーを直接使用する
- 外部モデルを作成して、LLM プロバイダーの API キーへの管理されたアクセスを有効にします
次のクイックスタート例では、OpenAI SDK を使用して、Databricks でホストされている LLM に接続します。独自のOpenAIキーを使用する場合は、 client = OpenAI(...)
行を更新します。
がサポートする他の20+LLM SDK (Anthropic 、Bedrock など) または 生成AI オーサリング フレームワーク (LangGraph など)MLflowMLflowのいずれかを使用する場合は、前の手順の エクスペリメント UI の指示に従ってください。
-
プロジェクトディレクトリに
app.py
という名前のPythonファイルを作成します。ここでは、任意の Python アプリケーションを簡単にトレースできる
@mlflow.trace
デコレータと OpenAI 自動インストルメンテーションを組み合わせて、OpenAI SDK への呼び出しの詳細をキャプチャします。次のコード スニペットは、Anthropic の Claude Sonnet LLM を使用しています。サポートされている基本モデルのリストから別の LLM を選択できます。
Pythonimport mlflow
from openai import OpenAI
# Enable MLflow's autologging to instrument your application with Tracing
mlflow.openai.autolog()
# Connect to a Databricks LLM via OpenAI using the same credentials as MLflow
# Alternatively, you can use your own OpenAI credentials here
mlflow_creds = mlflow.utils.databricks_utils.get_databricks_host_creds()
client = OpenAI(
api_key=mlflow_creds.token,
base_url=f"{mlflow_creds.host}/serving-endpoints"
)
# Use the trace decorator to capture the application's entry point
@mlflow.trace
def my_app(input: str):
# This call is automatically instrumented by `mlflow.openai.autolog()`
response = client.chat.completions.create(
model="databricks-claude-sonnet-4", # This example uses a Databricks hosted LLM - you can replace this with any AI Gateway or Model Serving endpoint. If you provide your own OpenAI credentials, replace with a valid OpenAI model e.g., gpt-4o, etc.
messages=[
{
"role": "system",
"content": "You are a helpful assistant.",
},
{
"role": "user",
"content": input,
},
],
)
return response.choices[0].message.content
result = my_app(input="What is MLflow?")
print(result) -
アプリケーションを実行する
Bashpython app.py
手順 5: MLflow でトレースを表示する
- MLflow エクスペリメント UI に戻る
- 生成されたトレースが [トレース ] タブに表示されます
- トレースをクリックすると、その詳細が表示されます
トレースの理解
作成したトレースには、次の情報が表示されます。
-
ルート スパン :
my_app(...)
関数への入力を表します- Child Span : OpenAI 完了リクエストを表します
-
属性 : モデル名、トークン数、タイミング情報などのメタデータが含まれます
-
入力 : モデルに送信されたメッセージ
-
出力 : モデルから受信した応答
この単純なトレースは、次のようなアプリケーションの動作に関する貴重な知見をすでに提供しています。
- 質問されたこと
- どのようなレスポンスが生成されたか
- リクエストにかかった時間
- 使用されたトークンの数 (コストに影響)
RAGシステムやマルチステップエージェントのようなより複雑なアプリケーションの場合、 MLflow Tracing は各コンポーネントとステップの内部動作を明らかにすることで、さらに多くの価値を提供します。
次のステップ
これらの推奨アクションとチュートリアルで旅を続けてください。
- アプリの品質を評価する - MLflow の評価機能を使用して、生成AI アプリの品質を測定し、改善します
- 人間によるフィードバックの収集 - ユーザーやドメインの専門家からフィードバックを収集する方法を学びます
- ユーザーとセッションの追跡 - トレースにユーザーと会話のコンテキストを追加します
リファレンスガイド
このガイドで説明されている概念と機能の詳細なドキュメントをご覧ください。
- トレースの概念 - MLflow Tracingの基本を理解する
- トレース データ モデル - トレース、スパン、MLflow が観測可能性データをどのように構造化するかについて学習します
- 手動トレースAPIs - カスタムインストゥルメンテーションの高度なトレース手法を探る