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

手動トレース

MLflowの自動トレース では、サポートされているフレームワークの可観測性がすぐに提供されますが、手動トレースでは、生成AI アプリケーションを計測可能にする方法を完全に制御できます。この柔軟性は、詳細なモニタリング機能とデバッグ機能を必要とする本番運用に対応したアプリケーションを構築するために不可欠です。

手動トレースを使用する場合

手動トレースは、次の必要がある場合に最適です。

トレース構造のきめ細かな制御

  • コードのどの部分をトレースするかを正確に定義します
  • スパンのカスタム階層を作成する
  • 境界と関係にまたがる制御

カスタムフレームワークインストルメンテーション

  • インストゥルメント独自のフレームワークまたは内部フレームワーク
  • カスタム LLM ラッパーにトレースを追加する
  • 公式統合前に新しいライブラリをサポート

高度なワークフローシナリオ

  • マルチスレッドまたは非同期操作
  • カスタム集計による応答のストリーミング
  • 複雑なネストされた操作
  • カスタム・トレース・メタデータと属性

前提 条件

このページには次のパッケージが必要です:

  • mlflow[databricks]>=3.1 : 生成AI 機能と Databricks 接続を備えたコア MLflow 機能。
  • openai>=1.0.0 : (オプション) カスタムコードがOpenAIと相互作用する場合のみ。必要に応じて、他のSDKと交換します。

基本要件をインストールします。

Python
%pip install --upgrade "mlflow[databricks]>=3.1"
# %pip install --upgrade openai>=1.0.0 # Install if needed

どの API を使用すればよいですか?

ニーズに合わせて適切な手動トレースのアプローチを選択します。

機能

関数デコレータ

スパントレース

低レベルAPIs

ユースケース

1 行のデコレータを使用して関数全体をトレースします。最小限のコード変更が必要です。

きめ細かな制御のために関数内の任意のコード ブロックをトレースします。

複雑なシナリオにおけるトレースのライフサイクルを直接制御します。

自動的な親子関係

Yes

Yes

いいえ - 手動管理

例外処理

自動

自動

手動

オートトレースと連携

Yes

Yes

No

スレッドセーフ

自動

自動

手動

カスタムトレースID

No

No

Yes