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

生成AI アプリのトレース (IDE)

このクイックスタートは、開発環境としてローカル IDE を使用している場合に、生成AI アプリを MLflow Tracing と統合するのに役立ちます。Databricks ノートブックを使用している場合は、代わりに Databricks ノートブックのクイックスタート を使用してください。

達成できること

このチュートリアルを終了すると、次のことができるようになります。

  • 生成AIアプリのための MLflow エクスペリメント
  • MLflow に接続されたローカル開発環境
  • MLflow Tracing でインストルメント化されたシンプルな 生成AI アプリケーション
  • そのアプリからのトレースを MLflow エクスペリメントに

trace

前提 条件

  • Databricks Workspace : Databricksワークスペースへのアクセス。

手順 1: MLflow をインストールする

ローカル IDE で作業する場合は、Databricks 接続を使用して MLflow をインストールする必要があります。

pip install --upgrade "mlflow[databricks]>=3.1" openai

ステップ 2: 新しい MLflow エクスペリメントを作成する

MLflow エクスペリメントは、生成AI アプリケーションのコンテナです。エクスペリメントとその内容の詳細については、 データ モデルの セクションを参照してください。

  1. Databricks ワークスペースを開く
  2. 左側のサイドバーの [Machine Learning ]の下にある [エクスペリメント ]に移動します
  3. エクスペリメントページの上部にある 新規生成AIエクスペリメント をクリックします

エクスペリメント クリエーション

手順 3: 環境を MLflow に接続する

注記

このクイックスタートでは、Databricks 個人用アクセス トークンの使用について説明します。MLflow は、 Databricks でサポートされている他の認証方法とも連携します。

  1. [Generate API Key ] をクリックします

  2. 生成されたコードをコピーしてターミナルで実行します。

    Bash
    export 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>

ステップ 4: アプリケーションを作成して計測可能にする

ヒント

Databricks は、一般的なフロンティアおよびオープンソースの基礎 LLM へのアクセスをすぐに提供しました。このクイックスタートを実行するには、次の操作を行います。

  1. Databricks でホストされている LLM を使用する
  2. LLM プロバイダーから独自の API キーを直接使用する
  3. 外部モデルを作成して、LLM プロバイダーの API キーへの管理されたアクセスを有効にします

次のクイックスタート例では、OpenAI SDK を使用して、Databricks でホストされている LLM に接続します。独自のOpenAIキーを使用する場合は、 client = OpenAI(...) 行を更新します。

がサポートする他の20+LLM SDK (Anthropic 、Bedrock など) または 生成AI オーサリング フレームワーク (LangGraph など)MLflowMLflowのいずれかを使用する場合は、前の手順の エクスペリメント UI の指示に従ってください。

  1. プロジェクトディレクトリに app.py という名前のPythonファイルを作成します。

    ここでは、任意の Python アプリケーションを簡単にトレースできる @mlflow.trace デコレータOpenAI 自動インストルメンテーションを組み合わせて、OpenAI SDK への呼び出しの詳細をキャプチャします。

    次のコード スニペットは、Anthropic の Claude Sonnet LLM を使用しています。サポートされている基本モデルのリストから別の LLM を選択できます。

    Python
    import 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)
  2. アプリケーションを実行する

    Bash
    python app.py

手順 5: MLflow でトレースを表示する

  1. MLflow エクスペリメント UI に戻る
  2. 生成されたトレースが [トレース ] タブに表示されます
  3. トレースをクリックすると、その詳細が表示されます

トレースの詳細

トレースの理解

作成したトレースには、次の情報が表示されます。

  • ルート スパン : my_app(...) 関数への入力を表します

    • Child Span : OpenAI 完了リクエストを表します
  • 属性 : モデル名、トークン数、タイミング情報などのメタデータが含まれます

  • 入力 : モデルに送信されたメッセージ

  • 出力 : モデルから受信した応答

この単純なトレースは、次のようなアプリケーションの動作に関する貴重な知見をすでに提供しています。

  • 質問されたこと
  • どのようなレスポンスが生成されたか
  • リクエストにかかった時間
  • 使用されたトークンの数 (コストに影響)
ヒント

RAGシステムやマルチステップエージェントのようなより複雑なアプリケーションの場合、 MLflow Tracing は各コンポーネントとステップの内部動作を明らかにすることで、さらに多くの価値を提供します。

次のステップ

これらの推奨アクションとチュートリアルで旅を続けてください。

リファレンスガイド

このガイドで説明されている概念と機能の詳細なドキュメントをご覧ください。