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_IDDR_EXPERIMENT_PORT(デフォルト:8090)
サポートされているエンティティタイプ¶
| エンティティタイプ | 説明 |
|---|---|
experiment_container(エイリアス:use_case) |
ユースケースエクスペリメントコンテナ(デフォルト)。 |
deployment |
モデルデプロイ。 |
custom_application |
カスタムアプリケーション。 |
workload |
ワークロード。 |
ローカルトレースを使用する理由¶
ローカルトレースは、次のようないくつかの方法でエージェント開発をサポートします。
- イテレーションの高速化:ローカル環境を離れたり、開発フローを中断したりすることなく、トレース、ログ、スパンをレビューします。
- 動作の検証:デプロイ前に、1つのデモ入力だけでなく、複数の実際のリクエストでエージェントの動作を検証します。
- スパンレベルのデバッグ:エージェントの決定を最終的な回答から推論するのではなく、個々のスパンを検査して説明します。
- 問題の早期検出:変更がローカルにある間、運用環境に到達する前に、エラー、ガードレール違反、およびパフォーマンスの問題をキャッチします。
ローカルおよびデプロイされたトレースに表示されるカスタムスパンと属性を追加する方法については、トレースの実装を参照してください。 デプロイ後、DataRobot UIでトレースを確認します。カスタムアプリケーションのトレースを参照してください。