Skip to main content
W&B を DSPy と組み合わせることで、言語モデルプログラムをトラッキングして最適化できます。W&B は、Weave DSPy インテグレーション を補完し、次の機能を提供します。
  • 評価メトリクスの経時的なトラッキング
  • プログラムシグネチャの変化を確認するための W&B Tables
  • MIPROv2 などの DSPy オプティマイザとのインテグレーション
DSPy モジュールの最適化時に包括的な可観測性を確保するには、W&B と Weave の両方でインテグレーションを有効にしてください。
wandb==0.21.2 および weave==0.52.5 時点では、W&B と併用すると Weave は自動的に初期化されます。
  • weave を import してから wandb.init() を呼び出した場合 (スクリプトの場合)
  • wandb.init() を呼び出した後で weave を import した場合 (notebook/Jupyter の場合)
明示的に weave.init(...) を呼び出す必要はありません。

インストールと認証

必要なライブラリをインストールし、W&B にログインします。
  1. 必要なライブラリをインストールします。
  2. WANDB_API_KEY 環境変数を設定して、ログインします。
W&B は初めてですか?クイックスタートガイドをご覧ください。

プログラム最適化をトラッキングする (実験的)

dspy.Evaluate を使用する DSPy オプティマイザ (MIPROv2 など) では、WandbDSPyCallback を使用して、時間の経過に伴う評価メトリクスをログし、W&B Tables でプログラムシグネチャの変遷をトラッキングします。
このコードを実行すると、W&B Run URL と Weave URL の両方が取得されます。W&B では、評価メトリクスの推移に加えて、プログラムシグネチャの変化を示す Tables が表示されます。run の Overview タブには、詳しく確認するための Weave トレースへのリンクが含まれます。 run オブジェクトが WandbDSPyCallback に渡されない場合は、グローバルな run オブジェクトが使用されます。
W&B での DSPy 最適化 run
DSPy での Weave トレース、評価、最適化の詳細については、Weave DSPy インテグレーション guide を参照してください.

予測をW&B Tablesにログする

最適化中に個々の例を確認できるよう、詳細な予測ログを有効にします。このコールバックは各評価 step ごとに W&B Tables を作成するため、個別の成功例や失敗例の分析に役立ちます。

予測データにアクセスする

最適化後、W&B で予測データを確認できます。
  1. run の Overview ページにアクセスします。
  2. predictions_0predictions_1 のような名前の Table パネルを探します。
  3. 失敗を分析するには、is_correct でフィルターします。
  4. プロジェクトのワークスペースで、run 間の表を比較します。
各表には、次の列が含まれます。
  • example: 入力データ
  • prediction: モデルの出力
  • is_correct: 評価結果
詳細は、W&B Tables ガイドを参照してください。

DSPy プログラムを保存してバージョン管理する

最良の DSPy プログラムを再現し、バージョン管理できるようにするには、W&B Artifacts として保存します。プログラム全体を保存するか、状態のみを保存するかを選択できます。