メインコンテンツへスキップ
このページでは、W&B Weave でバージョン管理されたオブジェクトを公開、取得、削除、および参照する方法について説明します。データセット、モデル、プロンプトなどの構造化データを、複数の run や時間の経過にわたって追跡する必要がある場合にご利用ください。

オブジェクト

オブジェクト は、バージョン管理され、シリアライズ可能なデータです。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
weave.init("your-team-name/your-project-name")
# リストを 'cat-names' という名前で保存します
weave.publish(['felix', 'jimbo', 'billie'], 'cat-names')
名前を付けてオブジェクトを保存すると、そのオブジェクトがまだ存在しない場合は、Weave がその最初のバージョンを作成します。

保存したオブジェクトを取得する

公開後は、参照を使って保存済みのオブジェクトを取得できます。
weave.publish() は Ref を返します。任意の Ref に対して .get() を呼び出すことで、元のオブジェクトを取得できます。Ref を作成しておき、あとからオブジェクトを取得することもできます。
weave.init("your-team-name/your-project-name")
cat_names = weave.ref('cat-names').get()

オブジェクトを削除する

オブジェクトの特定のバージョンが不要になった場合は、その ref を使って削除できます。
オブジェクトのバージョンを削除するには、そのオブジェクトの ref で .delete() を呼び出します。
weave.init("your-team-name/your-project-name")
cat_names_ref = weave.ref('cat-names:v1')
cat_names_ref.delete()
削除されたオブジェクトにアクセスするとエラーが返されます。削除されたオブジェクトへの ref を解決すると、削除されたオブジェクトの代わりに DeletedRef が返されます。

object ref を作成する

Ref は、保存されているオブジェクトとそのバージョンを一意に識別します。以下のセクションでは、URI の構造と、ref を作成する方法について説明します。 Weave では、完全修飾された object ref URI は次のようになります。
weave:///[YOUR-TEAM-NAME]/[YOUR-PROJECT-NAME]/object/[OBJECT-NAME]:[OBJECT-VERSION]
  • [YOUR-TEAM-NAME]: W&B entity (ユーザー名またはチーム名)
  • [YOUR-PROJECT-NAME]: W&B project
  • [OBJECT-NAME]: オブジェクト名
  • [OBJECT-VERSION]: バージョンハッシュ、v0v1 のような string、または :latest のような alias のいずれかです。すべてのオブジェクトには :latest alias があります。
ref はいくつかの異なる形式で構築できます。
  • weave.ref([NAME]): オブジェクトの :latest バージョンを取得します。weave.init(...) を呼び出す必要があります。
  • weave.ref([NAME]:[VERSION]): オブジェクトの指定したバージョンを取得します。weave.init(...) を呼び出す必要があります。
  • weave.ref([FULLY-QUALIFIED-REF-URI]): 指定した完全修飾オブジェクト ref URI にあるオブジェクトを取得します。weave.init() を呼び出す必要はありません。