weave.publish でプロンプトを公開すると、W&B Weave は不変バージョンを作成します。各バージョンを名前とバージョンで参照し、weave.ref(...).get() を使ってコード内で取得し、Weave UI で確認できます。
プロンプトのバージョン
Weave のプロンプトは、バージョン付きオブジェクトとして保存されます。これにより、評価、Experiments、本番システムが、実行時に使用した正確なプロンプトのバージョンを参照できるようにしつつ、プロンプトを安全に反復改善できます。 プロンプトのバージョンには、Weave の object ref を使ってアクセスします。このページでは、Weave がプロンプトのバージョンをどのように作成するか、コードで特定のバージョンを取得する方法、そして Weave UI でバージョンを確認・比較する方法を説明します。プロンプトのバージョンがどのように作成されるか
Weave はプロンプトのすべてのバージョンを自動的にトラッキングし、プロンプトがどのように変化していくかの完全な履歴を作成します。このバージョン管理システムは、プロンプトエンジニアリングのワークフローで重要です。これにより、安全に試行錯誤しながら、どの変更がパフォーマンスを改善または悪化させたかをトラッキングし、必要に応じて以前のバージョンにロールバックできます。同じ名前で内容の異なるプロンプトを公開するたびに、Weave は過去のすべてのバージョンを保持したまま新しいバージョンを作成します。 各バージョンは不変です。いったん作成されると、そのバージョンの内容は変更できません。プロンプトを更新して再度公開すると、Weave は以前のバージョンを保持したまま新しいバージョンを作成します。 バージョン管理により、次のことが可能になります。- 過去の実験を再現する。
- プロンプトの変更を安全に繰り返し改善する。
- プロンプトの更新を制御された形でロールアウトする。
完全修飾された ref URI を作成する
コードでプロンプトのバージョンを取得する前に、Weave が保存済みオブジェクトをどのように識別するかを理解しておくと役立ちます。完全修飾された ref URI は、Weave オブジェクトを一意に識別します。 完全修飾された Weave object ref URI は、次のようになります。your-team-name: W&B entity (ユーザー名またはチーム名)your-project-name: W&Bプロジェクトobject_name: オブジェクト名object_version: バージョンハッシュ、v0やv1のようなバージョンインデックス、または:latestや:productionのようなエイリアスのいずれかです。すべてのオブジェクトには:latestエイリアスがあります。
コードでプロンプトのバージョンを取得する
プロンプトを取得するには、その名とバージョンへの参照を作成し、.get() を呼び出して読み込みます。ref は保存済みのオブジェクトを指し、.get() はそのオブジェクトを取得して、アプリケーションで使用できるようにします。
ref はいくつかの方法で作成できます。
weave.ref(<name>): プロンプトの:latestバージョンを取得します。weave.init(...)の呼び出しが必要です。weave.ref(<name>:<alias_or_version>): エイリアス、バージョンハッシュ、またはバージョンインデックスでプロンプトを取得します。weave.init(...)の呼び出しが必要です。weave.ref(<fully_qualified_ref_uri>): 指定した完全修飾された ref URIにあるプロンプトを取得します。weave.init(...)を呼び出す必要はありません。
support_prompt:v3 を読み込みます。
本番環境でプロンプトを使用する
本番システムにプロンプトをデプロイする際は、バージョンインデックスや最新バージョンではなく、production のような エイリアス を使用します。本番アプリケーションでは、weave.ref(<name>:<alias>).get() でプロンプトを読み込みます。
エイリアス を使用すると、本番環境の動作を安定的かつ予測可能に保てます。新しいバージョンを本番に昇格する準備ができたら、そのバージョンに エイリアス を移動します。すると、すべての利用側でその変更が自動的に反映されます。
一般的なワークフローは次のとおりです。
- 新しいバージョンのプロンプトを開発してテストします。
- データセットまたは評価スイートに対して新しいプロンプトを評価します。
client.set_aliases(new_ref, "production")を使用して、productionエイリアス を新しいバージョンに移動します。
プロンプトのバージョンを表示して比較する
Weave UI では、プロンプトのすべてのバージョンを参照し、それらの差分を並べて表示できます。これは、プロンプトがどのように変化してきたかを確認する際に役立ちます。 UIでプロンプトのバージョンを表示するには、次の手順に従います。- wandb.ai にアクセスし、project を選択します。
- Weave の project のサイドバーで Assets をクリックします。Assets ページが開きます。
- Assets ページで Prompts をクリックします。project 内のプロンプトが一覧表示された Prompts ページが開きます。
- Versions 列で、表示したいプロンプトの (x) Versions をクリックします。プロンプトのバージョン一覧が開きます。

- (任意) プロンプトのバージョンを比較するには、一覧に表示されたプロンプトの横にあるチェックボックスを選択し、表のツールバーにある Compare ボタンをクリックします。これにより、プロンプト間の差分を確認できます。

プロンプトのタグとエイリアスを追加する
エイリアスとタグを使用して、プロンプトのバージョンを整理できます。これらのラベルは、開発、評価、本番のワークフロー全体で特定のバージョンを識別し、参照するのに役立ちます。- エイリアス: 1 つのプロンプトのバージョンに対応する一意の名前です。エイリアスはいつでも別のバージョンを指すように変更できるため、
productionやstagingのような固定参照に便利です。 - タグ: バージョンに付与する説明用のラベルです。1 つのバージョンに複数のタグを付けることができます。
reviewedやpassed-evalのように、タグを使用してバージョンを分類したりフィルターしたりできます。
- Weave のプロジェクトのサイドバーで、Assets をクリックします。Assets ページが開きます。
- Assets ページで、Prompts をクリックします。表では、割り当て済みの Aliases と Tags を確認できます。
- Prompts の表で、変更するプロンプトのリンクをクリックします。
- 選択したプロンプトの詳細パネルでは、タイトルバーにプロンプト名と特定のバージョンが表示されます。更新するプロンプトのバージョンを選択します。
- パネルのツールバーで、コントロールを使用して、この特定のバージョンに割り当てられたエイリアスとタグを追加または削除します。

コードでタグとエイリアスを変更する
次のようなタスクでは、コードでタグとエイリアスを管理することもできます。- タグとエイリアスを指定して、プロンプトをインラインで公開する。
- エイリアスを特定のバージョンに向け、解決してプロンプトを読み込む。
- バージョンにタグやエイリアスを追加、削除、一覧表示する。
my-prompt を project に追加します。'your-team-name/your-project-name' はご自身の project に合わせて更新してください。