Skip to content

DataRobotエクスペリメントプラグイン

DataRobotエクスペリメントプラグインは、エージェントアプリケーションの開発中に、OpenTelemetryスパン用のローカルダッシュボードを提供します。 このプラグインは、dr xpとしてDataRobot CLIと統合され、スタックの他の部分でテレメトリを伝送するのと同じオープンスタンダードを採用しています。 ローカルトレースは、DataRobotプラットフォーム上にデプロイされたエージェントと同じトレースモデルに従うため、プラットフォームへのデプロイや別のUIタブへの切り替えを行うことなく、ローカルで確認した内容が、開発中にエージェントが実際に行った動作を反映します。

このプラグインは、ワークスペースにトレーシングとオブザーバビリティをもたらすことで、ローカル開発とDataRobotプラットフォームを橋渡しします。 ガードレールの結果、メトリクス、およびスパンは、それらを生成したコードを編集中に表示されるため、エージェントアプリケーションの構築における反復サイクルを短縮できます。

クイックスタート

# Install the plugin
dr plugin install xp

# Show available options
dr xp --help

# Start with a Use Case (the default entity type)
dr xp --entity-id <use-case-id>

# Start with a deployment on a custom port
dr xp --entity-type deployment --entity-id <deployment-id> --port 8091 

ローカルトレースダッシュボード

プラグインをインストールし、エージェントをローカルで起動したら(例:dr startまたはtask agent:dev)、dr xpを実行してローカルトレースダッシュボードを起動します。 デフォルトでは、ダッシュボードはhttp://localhost:8090にあります。 --portまたはDR_EXPERIMENT_PORTを使用してポートを設定します。

ダッシュボードには、セッション中にエージェントが処理したすべてのリクエストが一覧表示されます。 各行は1つのトレースに対応しています。 トレースをクリックすると、そのスパンに関する詳細な内訳が表示されます。これには以下が含まれます。

  • ツールの呼び出しとその実行順序。
  • 各スパンの所要時間とレイテンシー。
  • 計装によって報告された場合は、トークン数。
  • スパンまたはトレースが失敗した場合は、関連するエラーログ。

これは、通常はデプロイ後にしかアクセスできないクラスのオブザーバビリティです。 エクスペリメントプラグインを使用すれば、開発の初期段階からローカルマシン上でこの機能を利用できます。

トレースのフィルターと検索

リクエスト数が増加した場合は、ダッシュボードのコントロールを使用して結果を絞り込みます。

コントロール 説明
属性フィルター ツール名、モデル、またはカスタムスパン属性でトレースを絞り込みます。
ステータスフィルター 正常に完了した実行と、エラーで終了したトレースを区別します。
日付範囲 テーブルの表示範囲を特定のアクティビティ期間に限定します。
検索 リクエストまたはトレース識別子を使用して、特定のトレースに直接移動します。

使用状況

dr xp --entity-type [TYPE] --entity-id [ID] --port [PORT] 

サーバーはフォアグラウンドで実行され、ターミナルにログを出力します。 Ctrl+Cで停止します。

  • --entity-idは必須です(存在する場合、pulumi_config.json内のDATAROBOT_USE_CASE_IDにフォールバックします)。
  • --entity-typeのデフォルトはユースケース(use_case)です。 内部名experiment_containerも使用可能です。
  • 値の優先順位:フラグ > 環境変数 > 設定ファイル(.dr-xp.yaml) > pulumi_config.json > デフォルト。

環境変数のフォールバック

必要に応じて、これらの変数を.envファイルに追加します。

  • DR_EXPERIMENT_ENTITY_TYPE(デフォルト:use_case
  • DR_EXPERIMENT_ENTITY_ID
  • DR_EXPERIMENT_PORT(デフォルト:8090

サポートされているエンティティタイプ

エンティティタイプ 説明
experiment_container(エイリアス:use_case ユースケースエクスペリメントコンテナ(デフォルト)。
deployment モデルデプロイ。
custom_application カスタムアプリケーション。
workload ワークロード。

ローカルトレースを使用する理由

ローカルトレースは、次のようないくつかの方法でエージェント開発をサポートします。

  • イテレーションの高速化:ローカル環境を離れたり、開発フローを中断したりすることなく、トレース、ログ、スパンをレビューします。
  • 動作の検証:デプロイ前に、1つのデモ入力だけでなく、複数の実際のリクエストでエージェントの動作を検証します。
  • スパンレベルのデバッグ:エージェントの決定を最終的な回答から推論するのではなく、個々のスパンを検査して説明します。
  • 問題の早期検出:変更がローカルにある間、運用環境に到達する前に、エラー、ガードレール違反、およびパフォーマンスの問題をキャッチします。

ローカルおよびデプロイされたトレースに表示されるカスタムスパンと属性を追加する方法については、トレースの実装を参照してください。 デプロイ後、DataRobot UIでトレースを確認します。カスタムアプリケーションのトレースを参照してください。