Skip to main content
DSPy は、言語モデル (LM) のプロンプトと重みをアルゴリズムで最適化するためのフレームワークです。特に、パイプライン内で LM を 1 回以上使用する場合に効果を発揮します。W&B Weave は、DSPy のモジュールや関数による Call を自動的にトラッキングしてログします。このガイドでは、DSPy プログラムで Weave のトレースを有効にする方法、カスタムモジュールとシグネチャをトラッキングする方法、DSPy のオプティマイザーと評価からトレースを取得する方法について説明します。取得したトレースを活用して、DSPy アプリケーションのデバッグ、分析、改善を行えます。

トレース

このセクションでは、Weave で DSPy の Call の自動トレースを有効にする方法を説明します。言語モデルアプリケーションのトレースは、開発時にも本番環境でも一か所にまとめて保存できます。保存したトレースはデバッグに役立つほか、アプリケーションの改善に使うデータセットとしても活用できます。 Weave は DSPy のトレースを自動的に取得します。トラッキングを開始するには、weave.init(project_name="[YOUR-WANDB-PROJECT-NAME]") を呼び出してから、通常どおりライブラリを使用します。[YOUR-OPENAI-API-KEY] はご自身の OpenAI APIキーに、[YOUR-WANDB-PROJECT-NAME] はご自身の Weights & Biases のプロジェクト名に置き換えてください。
Weave での DSPy のトレース。LM Call の入力、出力、メタデータが表示されています トレースを有効にすると、DSPy プログラムが実行するすべての LM Call が Weave によって Weave プロジェクトにログされ、そこで入力、出力、メタデータを確認できます。

独自の DSPy モジュールとシグネチャをトラッキングする

組み込みの Call だけでなく、ユーザーが定義したカスタムのモジュールやシグネチャも Weave でトレースできます。Module は、学習可能なパラメーターを持つ DSPy プログラムの構成要素で、プロンプト手法を抽象化したものです。Signature は、DSPy の Module の入出力の動作を宣言的に定義する仕様です。Weave は、DSPy プログラム内の組み込みおよびカスタムの Signature オブジェクトと Module オブジェクトをすべて自動的にトラッキングします。[YOUR-OPENAI-API-KEY] をお使いの OpenAI APIキーに、[YOUR-WANDB-PROJECT-NAME] を Weights & Biases のプロジェクト名に置き換えてください。
Weave に表示された DSPy カスタムモジュールのトレース。モジュールの実行フローとトレースの詳細を確認できます

DSPy プログラムを最適化して評価する

Weave は、DSPy のオプティマイザーや評価の Call のトレースも取得します。このトレースを使用して、開発セットにおける DSPy プログラムのパフォーマンスを改善・評価できます。[YOUR-OPENAI-API-KEY] をご自身の OpenAI APIキーに、[YOUR-WANDB-PROJECT-NAME] を Weights & Biases のプロジェクト名に置き換えてください。
Weave に表示された DSPy オプティマイザーのトレース。最適化プロセスとパフォーマンス改善を確認できます
最終更新日 2026年9月30日