Weave では、保存済みビュー を使うことで、トレースされた関数呼び出しや評価の表示・操作方法をカスタマイズできます。保存済みビューを定義すると、フィルター、並び替え、列の表示 / 非表示を設定し、必要なデータにすばやくアクセスできるようになります。
ビューは Weave Python SDK で直接作成、変更、保存できるほか、UI からも操作できます。Python SDK では、プログラムによるフィルタリングやクエリを細かく制御できます。一方、UI では トレース タブと Evals タブで、さまざまな表の設定を簡単に確認して保存できます。
このガイドでは、次の内容を扱います。
Weave の SavedView クラスを使うと、trace と evals のデータのビューを保存、フィルター、並べ替え、カスタマイズできます。
Weave のプロジェクトで SavedView インスタンスを初期化します。
import weave
client = weave.init(<my_project>)
view = weave.SavedView()
.to_grid() を使用して、保存済みビューをグリッド表示できます。表示する最大行数は limit で指定します。
.show() を使用してグリッドを表示します:
.set_columns() を使用して、ビューに表示する列を設定します。表示する列を 1 つ以上指定します。
view.set_columns("id", "op_name")
.add_column() を使用して、ビューに1つ以上の新しい列を追加します。追加する列を1つ以上指定します。
# フィールド指定子とラベル "Created" を持つ列を追加する
view.add_column("Created")
# 任意で、第2引数を指定して新しい列に別のラベル名を設定できます。デフォルトでは、フィールド指定子がラベルに使用されます。
特定の列を基準に結果を並べ替えるには、.sort_by() を使用します。並べ替える列名と、並べ替え順 (asc または desc) を指定します。
view.sort_by("started_at", "desc")
Weave では、すべての trace または eval が operation 名に関連付けられています。
.filter_op() を使用すると、特定の operation が実行された calls のみを含むように SavedView をフィルターできます。
view.filter_op("Evaluation.predict_and_score")
.add_filter() を使用して、ビューにカスタム フィルターを適用します。サポートされているフィルター演算子のいずれかと条件を使って、フィルターを定義します。
view.add_filter("output.model_latency", ">=", 5)
| 演算子 | 説明 | 例 |
|---|
"contains" | 文字列に部分文字列が含まれているかを判定します。 | view.add_filter("output.status", "contains", "error") |
"equals" | 文字列が指定した値と完全に一致するかを判定します。 | view.add_filter("input.category", "equals", "Alice") |
"in" | 文字列が値のリストに含まれているかを判定します。 | view.add_filter("category", "in", ["A", "B", "C"]) |
"=" | 数値が指定した値と等しいかを判定します。 | view.add_filter("output.score", "=", 80) |
"≠", "!=" | 数値が指定した値と等しくないかを判定します。 | view.add_filter("metrics.loss", "!=", 0.5) |
"<" | 数値が指定した値より小さいかを判定します。 | view.add_filter("age", "<", 30) |
"≤", "<=" | 数値が指定した値以下かを判定します。 | view.add_filter("metric.value", "<=", 100) |
">" | 数値が指定した値より大きいかを判定します。 | view.add_filter("output.score", ">", 90) |
"≥", ">=" | 数値が指定した値以上かを判定します。 | view.add_filter("output.model_latency", ">=", 5) |
"is" | ブール値フィールドが True または False かを判定します。 | view.add_filter("is_active", "is", True) |
"after" | 日付が指定したタイムスタンプより後かを判定します。 | view.add_filter("started_at", "after", "2024-01-01") |
"before" | 日付が指定したタイムスタンプより前かを判定します。 | view.add_filter("ended_at", "before", "2024-12-31") |
"is empty" | フィールドが空かどうか (None または "") を判定します。 | view.add_filter("comments", "is empty", None) |
"is not empty" | フィールドが空でないかを判定します。 | view.add_filter("attachments", "is not empty", None) |
.remove_filter() を使用して、インデックスまたはフィールド名を指定してビューから特定のフィルターを削除します。
view.remove_filter("output.model_latency")
.remove_filters() を使用して、すべてのフィルターを削除します。
.save() を使用して、保存済みビューを Weave に公開します。
.get_calls() を使用して、保存済みビューに設定されたフィルターに一致する関数呼び出しを取得します。limit や offset などのオプションのパラメーターを指定できます。
calls = view.get_calls(limit=10)
Weave UI では、保存済みビューを作成、読み込み、名前変更、編集できます。より細かく制御するには、Python SDK を使用してください。
- トレース または Evals タブにアクセスします。
- 表の設定で、次の項目を必要に応じて調整します。
- フィルター
- 並び順
- ページサイズ
- 列の表示
- 列の固定
- 次のいずれかの方法でビューを保存します。
- 右上にある Save view をクリックします。
- Save view の左側にある メニュー () ボタンをクリックします。ドロップダウンメニューで + Save as new view をクリックします。
- トレース または Evals タブにアクセスします。
- タブタイトルの左にある メニュー () ボタンをクリックします。保存済みビューの一覧が表示されたドロップダウンメニューが開きます。
- アクセスしたいビューをクリックします。保存済みビューが トレース または Evals タブに表示されます。
- 保存済みビューを読み込む に記載されている手順に従います。
- トレース または Evals タブの左上で、ビュー名をクリックします。
- 新しいビュー名を入力します。
- 新しいビュー名を保存するには、Enter キーを押します。
- 保存済みビューを読み込む に記載されている手順に従います。
- 表の設定を調整します。
- 画面右上にある Save view をクリックします。
自分やチームにとって不要になったビューは削除できます。この操作は元に戻せません。
- トレース または Evals タブにアクセスします。
- 削除したいビューを読み込みます。
- Save view の左側にある メニュー () ボタンをクリックします。
- ドロップダウンメニューで、ビューを削除 をクリックします。
- ポップアップモーダルで、ビューを削除 をクリックして確定します。削除を中止するには、キャンセル をクリックします。
- トレース または Evals タブにアクセスします。
- トレース または Evals タブの右側にある メニュー () ボタンをクリックします。保存済みビューがすべて表示されたドロップダウンメニューが開きます。
- メニューの下部にある トレース または Evals をクリックします。デフォルトビューが表示されます。