> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-feature-automate-reference-docs-generation.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Saved views

Weaveでは、*保存されたビュー*を使用して、トレースされた関数呼び出しと評価の操作方法をカスタマイズできます。保存されたビューを定義することで、フィルター、ソート、列の表示を設定し、関連データに素早くアクセスできます。

Weave Python SDKまたはUI経由でビューを作成、変更、保存できます。Python SDKはプログラムによるフィルタリングとクエリのための細かい制御を提供し、UIでは**Traces**および**Evals**タブで異なるテーブル構成を簡単に探索して保存できます。

このガイドでは以下をカバーします：

* [Python SDKで保存されたビューを作成および変更する方法](#saved-views-in-the-python-sdk)。
* [Weave UIで保存されたビューを作成し操作する方法](#saved-views-in-the-ui)。

## Python SDKでの保存されたビュー

Weaveの`SavedView`クラスは、トレースと評価データのビューを保存、フィルタリング、ソート、カスタマイズする方法を提供します。

### 初期化`SavedView`

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

```python
import weave
client = weave.init(<my_project>)

view = weave.SavedView()
```

### 可視化`SavedView`をグリッドとして表示

使用`.to_grid()`で保存されたビューをグリッドとして表現します。表示する最大行数を`limit`で指定します。

```python
view.to_grid(limit=5)
```

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

```python
view.to_grid().show()
```

### 表示する列を設定

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

```python
view.set_columns("id", "op_name")
```

### 列を追加

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

```python
# Add a column with the field specifier and label "Created"
view.add_column("Created")
# Optionally, you can add a second argument to specify a different label name for the new column. By default, the field specifier is use for the label.
```

### 列をソート

使用`.sort_by()`で特定の列に基づいて結果をソートします。ソートする列名とソート順序（`asc`または`desc`）を指定します。

```python
view.sort_by("started_at", "desc")
```

### 操作名でフィルタリング

Weaveでは、すべてのトレースまたは評価は操作名に関連付けられています。
使用`.filter_op()`で`SavedView`をフィルタリングして、特定の操作が実行された呼び出しのみを含めます。

```python
view.filter_op("Evaluation.predict_and_score")
```

### 演算子と条件でフィルタリング

使用`.add_filter()`でビューにカスタムフィルターを適用します。[サポートされているフィルター演算子](#filter-operators)のいずれかと条件を使用してフィルターを定義します。

```python
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()`でインデックスまたはフィールド名によって特定のフィルターをビューから削除します。

```python
view.remove_filter("output.model_latency")
```

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

```python
view.remove_filters()
```

### 保存`SavedView`

使用`.save()`で保存されたビューをWeaveに公開します。

```python
view.save()
```

### 関数呼び出しを取得

使用`.get_calls()`で保存されたビューのフィルターに一致する関数呼び出しを取得します。`limit`や`offset`などのオプションパラメータを指定できます。

```python
calls = view.get_calls(limit=10)
```

## UIでの保存されたビュー

Weave UIで保存されたビューを作成、読み込み、名前変更、編集できます。細かい制御が必要な場合は、[Python SDK](#saved-views-in-the-python-sdk)を使用してください。

### 保存されたビューを作成

1. あなたの**Traces**または**Evals**タブに移動します。
2. テーブル構成で以下の変数を調整します：
   * フィルター
   * ソート順
   * ページサイズ
   * 列の表示
   * 列の固定
3. 次の2つのオプションのいずれかを使用してビューを保存します：
   * 右上隅で**Save view**をクリックします。
   * 左側の**Save view**の横にあるハンバーガーメニューをクリックします。ドロップダウンメニューで**+ Save as new view**をクリックします。

### 保存されたビューを読み込む

1. あなたの**Traces**または**Evals**タブに移動します。
2. タブタイトルの左側にあるハンバーガーメニューをクリックします。保存されたすべてのビューを表示するドロップダウンメニューが表示されます。
3. アクセスしたいビューをクリックします。保存されたビューが**Traces**または**Evals**タブに表示されます。

### 保存されたビューの名前を変更する

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

### 保存したビューを編集する

1. 以下の手順に従ってください：[保存したビューを読み込む](#load-a-saved-view)。
2. テーブル設定を調整します。
3. 右上隅で**Save view**をクリックします。

### 保存したビューを削除する

<Warning>
  ビューがあなたやチームにとってもう役に立たないと思われる場合は、削除することができます。この操作は元に戻せません。
</Warning>

1. あなたの**Traces**または**Evals**タブに移動します。
2. [削除したい](#load-a-saved-view)ビューを読み込みます。
3. Save viewの左側にあるハンバーガーメニューをクリックします。**Save view**。
4. ドロップダウンメニューで**Delete view**をクリックします。
5. ポップアップモーダルで**Delete view**をクリックして確認します。または**Cancel**をクリックして削除を中止します。

### デフォルトビューに戻る

1. あなたの**Traces**または**Evals**タブに移動します。
2. Tracesまたは**Traces**または**Evals**タブの右側にあるハンバーガーメニューをクリックします。保存されたすべてのビューを表示するドロップダウンメニューが表示されます。
3. メニューの一番下で**Traces**または**Evals**をクリックします。デフォルトビューが表示されます。
