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

アプリのインストルメント化: トレース アプローチ

生成AI アプリケーションにトレースを追加するためのさまざまな方法について説明します。 MLflow Tracing は、アプリの動作の全体像を把握するためのエンドツーエンドのインストルメンテーションを提供します。

トレースの概要

MLflow には、トレースに対する 3 つのアプローチがあります。

  • 自動 - 1 行の mlflow.<library>.autolog() を追加して、サポートされている 20+ ライブラリのアプリ ロジックを自動的にキャプチャします。
  • 手動 - カスタムロジックとcoplexワークフロー用に設計されており、 高レベルの APIs または 低レベルの APIsを使用してトレースするものを制御します。
  • 組み合わせ - 両方のアプローチを組み合わせて、完全にカバーします。

どのアプローチを使用すべきですか?

自動トレースから始めます。これは、トレースを機能させる最速の方法です。後で手動トレースを追加すると、さらに制御が必要になります。

たとえば、OpenAI の SDK の自動トレースと手動トレースを使用して、複数の LLM 呼び出しを、アプリケーションのエンドツーエンド ロジックを表す 1 つのトレースに結合できます。

ユースケースに最適なトレースアプローチを決定するには、アプリケーションのコードをどのように記述しているかに基づいてください。

1つのGenAIライブラリ( LangGraph、 CrewAI、OpenAI Agents、Bedrock Agentsなど)を使用する

  • 選択したライブラリの自動 トレース を使用します。 mlflow.<library>.autolog()

LLM SDK を直接使用する (OpenAI SDK、Anthropic SDK、Bedrock SDK など)

  • API ライブラリ の自動トレース を使用する
  • 手動トレース デコレーターを追加して、複数の LLM 呼び出しを 1 つのトレース に結合 します

複数の GenAI ライブラリまたは SDK ( 例: LangGraph と OpenAI SDK) の使用

  • 各フレームワーク/SDK の自動トレース を有効にする
  • 手動トレースデコレータを追加して、複数のフレームワークまたは SDK への呼び出しを 1 つのトレース に結合 します

他のすべてのアプローチ、またはより多くの制御が必要です

  • 手動トレースを使用する
    • 制御と使いやすさのバランスを提供する高レベルのAPI (@mlflow.traceデコレータと流暢なコンテキストマネージャー)から始めます
    • 低レベルのAPIは、高レベルのAPIで十分な制御が得られない場合にのみ使用してください

次のステップ

リファレンスガイド

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