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

エージェント スパンを使用してメディア参照をログする
- Python
- TypeScript
この例では Weave のエージェント スパンを使用しています。LLM calls や完全なエージェント ループを含むマルチターンのセットアップ全体については、カスタム エージェントのクイックスタートを参照してください。
Weave Agents で参照を表示する
weave.init() が出力するリンクから会話を開きます。参照先の画像または動画は、URI を返した tool call の Agents ビュー内にインラインで表示されます。Weave が URI を解決できない場合 (たとえば、オブジェクト が存在しない、または バケット が登録されていない場合) 、URI 文字列がそのまま表示されます。
