メインコンテンツへスキップ
Weave UI では、データを複数の形式でエクスポートできます。また、行をプログラムでエクスポートするために使用できる Python と cURL のコードも表示されます。 Calls をエクスポートするには、次の手順に従います。
  1. wandb.ai にアクセスし、プロジェクトを選択します。
  2. Weave プロジェクトのサイドバーで、Traces をクリックします。
  3. エクスポートしたい複数の Calls の行にチェックを入れて選択します。
  4. Traces 表のツールバーで、エクスポート / ダウンロードボタンをクリックします。
  5. Export モーダルで、Selected rows または All rows を選択し、Export をクリックします。
エクスポートするために Calls を選択した状態の Traces ページ(Export モーダル)。

プログラムから calls を取得する

Python API を使用して calls を取得するには、client.get_calls メソッドを使用します。
import weave

# クライアントを初期化する
client = weave.init("your-project-name")

# calls を取得する
calls = client.get_calls(filter=...)
call のプロパティとフィールドの詳細については、Call スキーマリファレンスを参照してください。

callメトリクスをエクスポート

Weave Service API の POST /calls/stats エンドポイント を使用すると、Call データ自体を取得せずに、Calls に関するメトリクスを取得できます。これにより、レイテンシやコストなど、Calls に関する情報をすばやく効率的に取得し、合計、平均、最小、最大、件数で集計できます。たとえば、次のようなメトリクスを取得できます。
  • トークン使用量の合計
  • 平均レイテンシ
  • 使用トークン数の最大値
  • 総コスト
  • 入力トークン数の最小値
この エンドポイント には複数のフィルターオプションがあり、指定した期間内に実行された Calls や、次のようなその他のプロパティで対象を絞り込めます。
  • Op 名
  • Trace ID
  • Thread ID
  • User ID
次の例は、web_app という名前の Op から生成された Calls を 2 日間にわたって取得する方法を示しています。
import requests
import json
import os

url = "https://trace.wandb.ai/calls/stats"

payload = {
    "project_id": "<your-team-name/your-project-name>",
    "start": "2026-03-01T00:00:00Z",
# バケットのサイズを秒単位で指定します。
    "granularity": 86400,
    "filter": {
        "trace_roots_only": True,
        "op_names": ["web_app"]
    },
# メトリクスとその集計関数を指定します
    "usage_metrics": [
        {"metric": "total_tokens", "aggregations": ["sum"]},
        {"metric": "total_cost", "aggregations": ["sum"]}
    ],
    "call_metrics": [
        {"metric": "call_count", "aggregations": ["sum"]},
        {"metric": "error_count", "aggregations": ["sum"]},
        {"metric": "latency_ms", "aggregations": ["avg", "min", "max"], "percentiles": [50, 95, 99]}
    ]
}

API_KEY = os.getenv("WANDB_API_KEY")

response = requests.post(url, json=payload, auth=("api", API_KEY))

print(json.dumps(response.json(), indent=2))
このリクエストでは、メトリクスをどのように集計するかも指定します。メトリクスは sumcountavgminmaxcount で集計できます。 この エンドポイント は JSON オブジェクトを返します。次のレスポンス例は 2 日分のメトリクスを示しています。各日 (bucket) は、usage_buckets 配列と call_buckets 配列内でそれぞれ独立したオブジェクトに分かれています。各配列では、異なる方法でメトリクスがグループ化されます。
  • usage_buckets: 使用されたモデルごとに、その日の Call メトリクスをグループ化します。
  • call_buckets: 使用されたモデルに関係なく、その日の Call メトリクスをグループ化します。
bucket サイズを変更するには、リクエスト内の granularity フィールド (秒単位) を設定します。
{
  "start": "2026-03-03T00:00:00Z",
  "end": "2026-03-04T21:34:39.746539Z",
  "granularity": 86400,
  "timezone": "UTC",
  "usage_buckets": [
    {
      "timestamp": "2026-03-03T00:00:00",
      "model": "gpt-4o-2024-08-06",
      "sum_total_tokens": 498.0,
      "sum_input_tokens": 219.0,
      "sum_output_tokens": 279.0,
      "count": 5,
      "sum_total_cost": 0.0033374999156876584
    },
    {
      "timestamp": "2026-03-03T00:00:00",
      "model": "gpt-5-2025-08-07",
      "sum_total_tokens": 0.0,
      "sum_input_tokens": 0.0,
      "sum_output_tokens": 0.0,
      "count": 0,
      "sum_total_cost": 0.0
    },
    {
      "timestamp": "2026-03-04T00:00:00",
      "model": "gpt-4o-2024-08-06",
      "sum_total_tokens": 58.0,
      "sum_input_tokens": 27.0,
      "sum_output_tokens": 31.0,
      "count": 1,
      "sum_total_cost": 0.0003774999904635479
    },
    {
      "timestamp": "2026-03-04T00:00:00",
      "model": "gpt-5-2025-08-07",
      "sum_total_tokens": 427.0,
      "sum_input_tokens": 26.0,
      "sum_output_tokens": 401.0,
      "count": 1,
      "sum_total_cost": 0.00404249989787786
    }
  ],
  "call_buckets": [
    {
      "timestamp": "2026-03-03T00:00:00",
      "sum_call_count": 6,
      "sum_error_count": 1,
      "avg_latency_ms": 1505.6666666666667,
      "min_latency_ms": 525,
      "max_latency_ms": 2524,
      "p50_latency_ms": 1534.0,
      "p95_latency_ms": 2328.5,
      "p99_latency_ms": 2484.9000000000005,
      "count": 6
    },
    {
      "timestamp": "2026-03-04T00:00:00",
      "sum_call_count": 2,
      "sum_error_count": 0,
      "avg_latency_ms": 3645.0,
      "min_latency_ms": 1739,
      "max_latency_ms": 5551,
      "p50_latency_ms": 3645.0,
      "p95_latency_ms": 5360.4,
      "p99_latency_ms": 5512.88,
      "count": 2
    }
  ]
}
メトリクスをクエリできる期間は最大31日間です。詳細と利用可能なオプションについては、Service APIリファレンスを参照してください。