これはインタラクティブ ノートブックです。ローカルで実行することも、以下のリンクを使用することもできます。

Chain of Density要約とは
- 最初の要約から始めます
- 重要な情報を維持したまま、要約を反復的に洗練して、より簡潔にします
- 反復のたびに、Entities と技術的な詳細の密度を高めます
Weave を使用する理由
このチュートリアルでは、Weave を使用して ArXiv 論文向けの Chain of Density 要約パイプラインを実装・評価します。以下の内容を学習します:- LLM パイプラインのトラッキング: Weave を使用して、要約プロセスの入力、出力、および中間ステップを自動的にログします。
- LLM 出力の評価: Weave の組み込みツールを使用して、要約の一貫した評価を作成します。
- コンポーザブルなオペレーションの構築: Weave のオペレーションを要約パイプラインのさまざまな部分で組み合わせて再利用します。
- 既存コードへの統合: 最小限のオーバーヘッドで既存の Python コードに Weave を追加します。
環境を設定する
まず、環境を設定し、必要なライブラリをインポートします。このステップでは、パイプラインに必要な依存関係をインストールします。これには、トラッキング用のWeave、LLM用のAnthropic、ArXivのPDFを読み込むためのPyPDF2が含まれます。AnthropicのAPIキーを取得するには、次の手順に従います。
- https://www.anthropic.com でアカウントを作成します。
- アカウント設定のAPIセクションにアクセスします。
- 新しいAPIキーを生成します。
- APIキーを
.envファイルに安全に保存します。
weave.init([PROJECT_NAME])を呼び出すと、要約タスク用の新しいWeave projectが設定されます。
ArxivPaper モデルを定義する
環境の準備ができたので、次のステップでは、パイプラインが扱うデータ構造を定義します。データを表現するために、ArxivPaper クラスを作成します。
PDF コンテンツを読み込む
ArxivPaper モデルにはメタデータと PDF の URL が含まれていますが、要約パイプラインでは論文の全文が必要です。論文の全文を扱うには、PDF からテキストを読み込んで抽出する関数を追加します。
Chain of Density要約を実装する
次に、Weaveオペレーションを使用して、CoD要約の中核となるロジックを実装します。
summarize_current_summary: 現在の状態に基づいて、要約の1回分の反復を生成します。iterative_density_summarization:summarize_current_summaryを複数回呼び出して CoD 手法を適用します。chain_of_density_summarization: 要約プロセス全体を統括し、結果を返します。
@weave.op() デコレータにより、Weave はこれらの関数の入力、出力、および実行をトラッキングします。
Weave Model を作成する
要約関数の準備ができたら、次のステップは、それらを Weave Model としてパッケージ化し、runs、parameters、versions をまとめてトラッキングできるようにすることです。それでは、要約パイプラインを Weave Model としてラップします。
ArxivChainOfDensityPipeline クラスは、要約ロジックを Weave Model としてカプセル化しており、次のような主な利点があります。
- 自動的な実験管理: Weave は、モデルの各 run について 入力、出力、parameters を取得します。
- バージョン管理: モデルの属性やコードへの変更は自動的にバージョン管理されるため、要約パイプラインが時間とともにどのように変化したかを明確に追跡できます。
- 再現性: バージョン管理とトラッキングにより、要約パイプラインの過去の結果や設定を再現できます。
- ハイパーパラメーター管理: モデルの属性 (
modelやdensity_iterationsなど) は明確に定義され、異なる Runs 間でトラッキングされるため、実験を進めやすくなります。 - Weave エコシステムとのインテグレーション:
weave.Modelを使用すると、評価やサービング機能など、他の Weave ツールと連携できます。
評価メトリクスを実装する
パイプラインで要約を生成できるようになったので、その品質を体系的に測定する方法が必要です。要約の品質を評価するために、シンプルな評価メトリクスを実装します:Weave データセットを作成して評価を実行する
スコアリング関数が定義されたので、最後のステップはそれをサンプル入力に適用して評価を実行することです。パイプラインを評価するには、Weave データセットを作成して評価を実行します。

結論
この例では、Weave を使って ArXiv 論文向けの Chain of Density の要約パイプラインを実装する方法を紹介しました。以下を学びました。- 要約プロセスの各ステップに対応する Weave オペレーションを作成する
- トラッキングと評価のために、パイプラインを Weave Model でラップする
- Weave オペレーションを使用してカスタム評価メトリクスを実装する
- データセットを作成し、パイプラインの評価を実施する