> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 保存済みビューを作成・管理する

> トレースされた関数の Call と評価の操作方法をカスタマイズします

Weave の *保存済みビュー* を使用すると、トレースされた関数の Call と評価の操作方法をカスタマイズできます。保存済みビューでフィルター、並べ替え、列の表示を設定しておけば、必要なデータにすばやくアクセスできます。また、毎回設定をやり直さなくても、自分やチームのメンバーが同じ条件で絞り込んだトレースや評価をいつでも表示できます。

ビューは、UI から、または Weave Python SDK から直接作成、変更、保存できます。UI では **Traces** タブと **Evals** タブでさまざまな表の設定を試して保存できます。一方、Python SDK では、プログラムによるフィルタリングやクエリをきめ細かく制御できます。ワークフローに合ったタブを選択してください。

<Tabs>
  <Tab title="UI">
    Weights & Biases の UI では、保存済みビューの作成、読み込み、リネーム、編集を行えます。その場で調整した表の設定を再利用可能なビューとして取得するには、UI を使用するのが最も手軽です。プログラムで制御する場合は、**Python** タブを選択してください。

    <h3 id="create-a-saved-view">
      保存済みビューを作成する
    </h3>

    1. **Traces** タブまたは **Evals** タブにアクセスします。
    2. 表の設定で、次のいずれかの項目を調整します。
       * フィルター
       * 並べ替えの順序
       * ページサイズ
       * 列の可視性
       * 列の固定
    3. 次のいずれかの方法でビューを保存します。
       * 右上にある **Save view** をクリックします。
       * **Save view** の左にある **menu** (<Icon icon="menu" iconType="solid" />) ボタンをクリックし、ドロップダウンメニューで **+ Save as new view** をクリックします。

    <h3 id="load-a-saved-view">
      保存済みビューを読み込む
    </h3>

    1. **Traces** タブまたは **Evals** タブにアクセスします。
    2. タブのタイトルの左にある **menu** (<Icon icon="menu" iconType="solid" />) ボタンをクリックします。すべての保存済みビューを一覧表示するドロップダウンメニューが表示されます。
    3. 開きたいビューをクリックします。**Traces** タブまたは **Evals** タブに保存済みビューが表示されます。

    <h3 id="rename-a-saved-view">
      保存済みビューをリネームする
    </h3>

    1. [保存済みビューを読み込む](#load-a-saved-view) の手順に従います。
    2. **Traces** タブまたは **Evals** タブの左上にあるビュー名をクリックします。
    3. ビューの新しい名前を入力します。
    4. **Enter** キーを押して、新しいビュー名を保存します。

    <h3 id="edit-a-saved-view">
      保存済みビューを編集する
    </h3>

    1. [保存済みビューを読み込む](#load-a-saved-view) の手順に従います。
    2. 表の設定を調整します。
    3. 右上にある **Save view** をクリックします。

    <h3 id="delete-a-saved-view">
      保存済みビューを削除する
    </h3>

    <Warning>
      自分やチームにとって不要になったビューは削除できます。この操作は元に戻せません。
    </Warning>

    1. **Traces** タブまたは **Evals** タブにアクセスします。
    2. 削除するビューを[読み込みます](#load-a-saved-view)。
    3. **Save view** の左にある **menu** (<Icon icon="menu" iconType="solid" />) ボタンをクリックします。
    4. ドロップダウンメニューで **Delete view** をクリックします。
    5. ポップアップモーダルで **Delete view** をクリックして確定します。削除を中止する場合は、**Cancel** をクリックします。

    <h3 id="return-to-the-default-view">
      デフォルトのビューに戻す
    </h3>

    1. **Traces** タブまたは **Evals** タブにアクセスします。
    2. **Traces** タブまたは **Evals** タブの右にある **menu** (<Icon icon="menu" iconType="solid" />) ボタンをクリックします。すべての保存済みビューを一覧表示するドロップダウンメニューが表示されます。
    3. メニューの下部にある **Traces** または **Evals** をクリックします。デフォルトのビューが表示されます。
  </Tab>

  <Tab title="Python">
    Weave の `SavedView` クラスを使用すると、トレースデータや評価データのビューを保存、フィルター、並べ替え、カスタマイズできます。以下のセクションでは、ビューの初期化、列とフィルターの設定、そして条件に一致する Call を後で取得できるようにするためのビューの永続化について、順を追って説明します。

    <h3 id="initialize-a-savedview">
      `SavedView` を初期化する
    </h3>

    Weave プロジェクトで `SavedView` インスタンスを初期化します：

    ```python lines theme={"system"}
    import weave
    client = weave.init("[MY_PROJECT]")

    view = weave.SavedView()
    ```

    <h3 id="visualize-the-savedview-as-a-grid">
      `SavedView` をグリッド形式で可視化する
    </h3>

    `.to_grid()` を使用すると、保存済みビューをグリッド形式で表示できます。表示する最大行数は `limit` で指定します。

    ```python lines theme={"system"}
    view.to_grid(limit=5)
    ```

    `.show()` を使用して、グリッド表現を表示します。

    ```python lines theme={"system"}
    view.to_grid().show()
    ```

    <h3 id="set-displayed-columns">
      表示する列を設定する
    </h3>

    `.set_columns()` を使用して、ビューに表示する列を設定します。表示する列を 1 つ以上指定します。

    ```python lines theme={"system"}
    view.set_columns("id", "op_name")
    ```

    <h3 id="add-columns">
      列を追加する
    </h3>

    ビューに新しい列を追加するには、`.add_column()` を使用します。追加する列を 1 つ以上指定します。

    ```python lines theme={"system"}
    # フィールド指定子とラベルが "Created" の列を追加します
    view.add_column("Created")
    # 必要に応じて 2 番目の引数を渡すと、新しい列に別のラベル名を指定できます。デフォルトでは、フィールド指定子がラベルとして使用されます。
    ```

    <h3 id="sort-columns">
      列を並べ替える
    </h3>

    特定の列を基準に結果を並べ替えるには、`.sort_by()` を使用します。並べ替えの対象とする列名と、並べ替えの順序 (`asc` または `desc`) を指定します。

    ```python lines theme={"system"}
    view.sort_by("started_at", "desc")
    ```

    <h3 id="filter-by-operation-name">
      操作名でフィルターする
    </h3>

    Weave では、すべてのトレースと評価が操作名に関連付けられています。
    `.filter_op()` を使用すると、`SavedView` をフィルターして、特定の操作が実行された Call のみに絞り込むことができます。

    ```python lines theme={"system"}
    view.filter_op("Evaluation.predict_and_score")
    ```

    <h3 id="filter-by-operator-and-condition">
      オペレーターと条件でフィルターする
    </h3>

    `.add_filter()` を使用して、ビューにカスタムフィルターを適用します。フィルターは、[サポートされるフィルターオペレーター](#filter-operators)のいずれかと条件を組み合わせて定義します。

    ```python lines theme={"system"}
    view.add_filter("output.model_latency", ">=", 5)
    ```

    <h4 id="filter-operators">
      フィルターのオペレーター
    </h4>

    | オペレーター | 説明 | 例 |
    | - | - | - |
    | `"contains"` | string に部分文字列が含まれているかを確認します。 | `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)` |

    <h3 id="remove-filters">
      フィルターを削除する
    </h3>

    `.remove_filter()` を使用すると、インデックスまたはフィールド名を指定して、ビューから特定のフィルターを削除できます。

    ```python lines theme={"system"}
    view.remove_filter("output.model_latency")
    ```

    すべてのフィルターを削除するには、`.remove_filters()` を使用します。

    ```python lines theme={"system"}
    view.remove_filters()
    ```

    <h3 id="save-the-savedview">
      `SavedView` を保存する
    </h3>

    `.save()` を使用して、保存済みビューを Weave にパブリッシュします。

    ```python lines theme={"system"}
    view.save()
    ```

    <h3 id="retrieve-function-calls">
      関数の Call を取得する
    </h3>

    `.get_calls()` を使用すると、保存済みビューのフィルターに一致する関数の Call を取得できます。`limit` や `offset` などの任意のパラメーターも指定できます。

    ```python lines theme={"system"}
    calls = view.get_calls(limit=10)
    ```
  </Tab>
</Tabs>


## Related topics

- [評価で動的 Leaderboard を作成する](/ja/products/wandb/weave/guides/evaluation/dynamic_leaderboards.md)
