Weave では、保存済みビュー を使って、トレースされた関数の Call や評価とのやり取りをカスタマイズできます。保存済みビューを定義すると、フィルター、並べ替え、列の表示/非表示を設定し、関連するデータにすばやくアクセスできます。保存済みビューを使うと、毎回設定し直さなくても、トレースや評価の中から整理された同じデータセットに、自分やチームですぐ戻れます。
保存済みビューは、Weave Python SDK で直接作成、変更、保存することも、UI から操作することもできます。Python SDK では、プログラムによるフィルタリングやクエリをきめ細かく制御でき、UI では トレース タブと Evals タブでさまざまな表の設定を確認して保存できます。
このガイドでは、次の内容を扱います。
Weave の SavedView クラスを使うと、トレース と evals のデータのビューを保存、フィルター、並べ替え、カスタマイズできます。以下のセクションでは、ビューを初期化し、列とフィルターを設定したうえで、後から一致する Call を取得できるように保存する方法を説明します。
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 では、すべてのトレース または eval が operation 名に関連付けられています。
.filter_op() を使用すると、特定の operation が実行された calls のみを含むように SavedView をフィルターできます。
view.filter_op("Evaluation.predict_and_score")
.add_filter() を使用して、ビューにカスタム フィルターを適用します。サポートされているフィルター演算子のいずれかと条件を使って、フィルターを定義します。
view.add_filter("output.model_latency", ">=", 5)
| 演算子 | 説明 | 例 |
|---|
"contains" | string に substring が含まれているかどうかを確認します。 | view.add_filter("output.status", "contains", "error") |
"equals" | string が指定した値と完全に一致するかどうかを確認します。 | view.add_filter("input.category", "equals", "Alice") |
"in" | string が値のリストに含まれているかどうかを確認します。 | 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 では、保存済みビューを作成、読み込み、名前変更、編集できます。UI は、アドホックな表の設定を再利用可能なビューとして保存する最も手早い方法です。プログラムによる制御には、Python SDK を使用してください。
- トレース または Evals タブにアクセスします。
- 表の設定で、次の項目を必要に応じて調整します。
- フィルター
- 並び順
- ページサイズ
- 列の表示
- 列の固定
- 次のいずれかの方法でビューを保存します。
- 右上にある Save view をクリックします。
- Save view の左側にある メニュー () ボタンをクリックします。ドロップダウンメニューで + Save as new view をクリックします。
- トレース または Evals タブにアクセスします。
- タブタイトルの左にある メニュー () ボタンをクリックします。保存済みビューの一覧が表示されたドロップダウンメニューが開きます。
- アクセスしたいビューをクリックします。保存済みビューが トレース または Evals タブに表示されます。
- 保存済みビューを読み込む に記載されている手順に従います。
- トレース または Evals タブの左上で、ビュー名をクリックします。
- 新しいビュー名を入力します。
- 新しいビュー名を保存するには、Enter キーを押します。
- 保存済みビューを読み込む に記載されている手順に従います。
- 表の設定を調整します。
- 画面右上にある Save view をクリックします。
自分やチームにとって不要になったビューは削除できます。この操作は元に戻せません。
- トレース または Evals タブにアクセスします。
- 削除したいビューを読み込みます。
- Save view の左側にある メニュー () ボタンをクリックします。
- ドロップダウンメニューで、ビューを削除 をクリックします。
- ポップアップモーダルで、ビューを削除 をクリックして確定します。削除を中止するには、キャンセル をクリックします。
- トレース または Evals タブにアクセスします。
- トレース または Evals タブの右側にある メニュー () ボタンをクリックします。保存済みビューがすべて表示されたドロップダウンメニューが開きます。
- メニューの下部にある トレース または Evals をクリックします。デフォルトビューが表示されます。