メインコンテンツへスキップ

オブジェクト

オブジェクトは、バージョン管理されたシリアライズ可能なデータです。Weave はオブジェクトが変更されるたびに自動的にバージョンを付与し、不変の履歴を作成します。オブジェクトには次のものが含まれます:
  • Datasets: 評価用のサンプルの集合
  • Models: LLM ロジックの設定とパラメータ
  • Prompts: バージョン管理されたプロンプトテンプレート
dataset = weave.Dataset(
    name="test-cases",
    rows=[
        {"input": "What is 2+2?", "expected": "4"},
        {"input": "What is the capital of France?", "expected": "Paris"},
    ]
)
weave.publish(dataset)

オブジェクトのパブリッシュ

Weave のシリアライゼーションレイヤーは、オブジェクトを保存し、バージョン管理します。
import weave
# プロジェクト 'intro-example' へのトラッキングを初期化します
weave.init('intro-example')
# リストを保存し、名前 'cat-names' を付けます
weave.publish(['felix', 'jimbo', 'billie'], 'cat-names')
オブジェクトを名前付きで保存すると、そのオブジェクトがまだ存在しない場合は、そのオブジェクトの最初のバージョンが作成されます。

オブジェクトを取得する

weave.publish は Ref を返します。任意の Ref に対して .get() を呼び出すと、オブジェクトを取得できます。Ref を作成してから、そこからオブジェクトを取得することもできます。
weave.init('intro-example')
cat_names = weave.ref('cat-names').get()

オブジェクトの削除

オブジェクトのバージョンを削除するには、そのオブジェクト参照で .delete() を呼び出します。
weave.init('intro-example')
cat_names_ref = weave.ref('cat-names:v1')
cat_names_ref.delete()
削除されたオブジェクトにアクセスしようとするとエラーが発生します。削除されたオブジェクトへの参照を含むオブジェクトを解決しようとすると、削除されたオブジェクトの代わりに DeletedRef オブジェクトが返されます。

Ref スタイル

完全修飾の Weave オブジェクト参照 URI は次のようになります:
weave://<entity>/<project>/object/<object_name>:<object_version>
  • entity: wandb エンティティ(ユーザー名またはチーム)
  • project: wandb プロジェクト
  • object_name: オブジェクト名
  • object_version: バージョンハッシュ、v0、v1… のような文字列、または “:latest” のようなエイリアスのいずれか。すべてのオブジェクトには “:latest” エイリアスがあります。
Ref はいくつかの異なる形式で作成できます
  • weave.ref(<name>): 事前に weave.init(<project>) が呼び出されている必要があります。“:latest” バージョンを参照します
  • weave.ref(<name>:<version>): 事前に weave.init(<project>) が呼び出されている必要があります。
  • weave.ref(<fully_qualified_ref_uri>): weave.init を呼び出さずに作成できます