- 動画パイプラインのフレーム
- ブラウザーエージェントのスクリーンショット
- モデルが S3 に書き込んだ画像
これは Weave のフィーチャーであり、W&B のアーティファクトおよび run のストレージに使用される プラットフォーム BYOB (セキュアストレージコネクタ) とは別のものです。参照メディア用のバケットはチームごとに設定し、必要なのは読み取りアクセス権のみです。
仕組み
参照メディアのレンダリングは、次の 3 つのステップで行われます。- メディアオブジェクトをバケットに保存します (例:
s3://[YOUR-BUCKET]/frames/000123.png) 。 - その URI を string 値として、トレース内の任意の場所 (Op の入力や出力、エージェントのツール結果など) にログします。フィールド名は問いません。
- トレースを開くと、Weave が URI を有効期間の短い事前署名付き URL に解決し、インラインでレンダリングします。レンダリング方法はファイル拡張子によって決まります。一般的な画像形式 (
.png、.jpg、.gifなど) や動画形式 (.mp4、.mov、.webmなど) はインラインでレンダリングされ、それ以外の形式はダウンロードリンクとして表示されます。
s3:// と gs:// です。
前提条件
- このフィーチャーは W&B Multi-tenant Cloud でサポートされています。専用クラウド および セルフマネージド v0.84.0 以降では、プレビューとして提供されています。
- CoreWeave Forge アカウントと APIキー。
- 自身が管理するクラウドストレージバケット (S3 または GCS)。バケットには 1 つ以上のオブジェクトが含まれている必要があります。
- 組織管理者の権限。参照バケットの追加には、組織内でのチーム作成と同じ権限が必要です。
バケットを設定する
W&B にバケットへの読み取りアクセス権を付与し、ブラウザーが CORS を使用してオブジェクトを取得できるようにします。 トレースを表示すると、W&B は参照されている各オブジェクトについて、有効期間の短い署名付きダウンロード URL を生成します。署名付き URL を正しく生成できるよう、W&B インテグレーションのプリンシパルにバケットへの読み取りアクセス権を付与してください。このアクセス権は、インラインでのレンダリングに使用する読み取り専用のものです。- AWS S3
- Google Cloud Storage
-
W&B インテグレーションのプリンシパルに
s3:GetObjectを付与するバケットポリシーを適用します。以下の内容をbucket-policy.jsonとして保存し、[YOUR-BUCKET]を実際のバケット名に置き換えます。次に、このポリシーをバケットに適用します。 -
アプリがブラウザーでオブジェクトを取得できるように、CORS 設定を適用します。以下の内容を
cors.jsonとして保存します。次に、この設定をバケットに適用します。
オブジェクトがカスタマー管理の KMS キーで暗号化されている場合は、そのキーポリシーでも
arn:aws:iam::725579432336:role/WandbIntegration に kms:Decrypt を付与する必要があります。バケットポリシーだけでは不十分です。参照バケットを登録する
Weave が参照先の URI の署名付き URL を生成して表示できるように、チーム設定でバケットを登録します。- チーム設定ページ (
https://forge.coreweave.com/wandb/[YOUR-TEAM]/settings) に移動します。 - Reference buckets セクションで、Add bucket を選択します。
- クラウドプロバイダー (AWS または Google Cloud) を選択します。
- バケット名には、
s3://やgs://の接頭辞を付けずに[YOUR-BUCKET]のみを入力します。 - オブジェクトキーには、バケット内の既存オブジェクトのキーを入力します (例:
photos/cat.png) 。完全な URL ではなく、オブジェクトキーのみを入力してください。W&B はこのオブジェクトを 1 つ読み取り、読み取りアクセス権があることと、CORS が正しく設定されていることを確認します。この確認はアクセスをチェックするためだけのものです。検証が完了すると、バケット内のどのオブジェクトに対しても署名付き URL を生成できます。 - 必要に応じて Test connection を選択し、保存せずに設定を検証します。
- Add bucket を選択して保存します。

エージェント スパンを使用してメディア参照をログする
エージェントのツール結果としてバケット URI を返すと、Weave は Agents ビューで、その結果を生成したツール呼び出しにインラインでレンダリングします。次の例では、会話、ターン、ツールスパンを開始し、バケット URI をツールの結果として設定します。[YOUR-TEAM]、[YOUR-PROJECT]、[YOUR-BUCKET] をそれぞれの値に置き換えてください。
- Python
- TypeScript
この例では、Weave のエージェント スパンを使用しています。LLM Call と完全なエージェントループを含む、マルチターンの設定全体については、カスタムエージェントのクイックスタートを参照してください。
Weave Agents で参照を表示する
weave.init() が出力するリンクから会話を開きます。参照先の画像や動画は、Agents ビュー内で、URI を返したツール呼び出しにインラインでレンダリングされます。オブジェクトが存在しない、バケットが登録されていないなどの理由で Weave が URI を解決できない場合は、URI 文字列がそのまま表示されます。
