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

オブジェクト

オブジェクト は、バージョン管理され、シリアライズ可能なデータです。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()

オブジェクトを削除する

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

object refs の構築

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 プロジェクト
  • object_name: オブジェクト の名前
  • object_version: バージョンハッシュ、v0v1 のような文字列、または :latest のようなエイリアスのいずれかです。すべての オブジェクト には :latest エイリアスがあります。
ref はいくつかの異なる形式で構築できます。
  • weave.ref(<name>): オブジェクト の :latest バージョンを取得します。weave.init(...) の呼び出しが必要です。
  • weave.ref(<name>:<version>): オブジェクト の指定したバージョンを取得します。weave.init(...) の呼び出しが必要です。
  • weave.ref(<fully_qualified_ref_uri>): 指定した完全修飾 object ref URI にある オブジェクト を取得します。weave.init(...) の呼び出しは不要です。