はじめに
これはLangChainとNVIDIAが共同開発した構造化レポート生成ブループリント・プロジェクトで、GitHubのJupyter notebookチュートリアルで紹介されています。このプロジェクトは、高度なAI技術、特にLlama-3.3-70bモデルを活用して、専門的な技術レポートの生成を自動化します。このプロジェクトの核となる機能は、LangChainのLangGraphを使って構築された、レポート計画、ウェブ調査、コンテンツ作成を含む多段階レポート生成システムである。このシステムは、ユーザが定義したトピックや構造的なアウトラインに基づいてレポートの章立てを自動的に計画し、Tavilyを通じて関連情報をインテリジェントにウェブ検索し、明確な構造で専門的に書かれた技術レポートを生成することができます。このプロジェクトは、高品質の技術文書を迅速に作成する必要のある開発者や技術チームに特に適しています。
おすすめだ:STORM:トピックに基づくウェブデータの検索、引用文献を含む論文の生成、長い論文レポート
機能一覧
- レポート構造計画の自動化:トピックや組織要件などのユーザー入力に基づいてレポートのアウトラインを生成します。
- インテリジェントなウェブリサーチ:Tavily APIを使用したターゲティングされたウェブ検索と情報収集
- レポート章立ての並列処理:複数の章立ての同時調査・執筆をサポート
- 柔軟なレポートのカスタマイズ:ニュースや一般的なコンテンツのオンデマンド検索
- 構造化出力コントロール:テーブル、リスト、その他のマークアップ言語フォーマットのサポート
- ソースの引用追跡:参照ソースの自動収集と書式設定
- 品質管理の仕組み:字数制限や書式チェックを含む
- インタラクティブな開発環境:Jupyterノートブックの完全実装
ヘルプの使用
1.環境準備
- 必要な依存パッケージをインストールする:
%pip install --quiet -U langgraph langchain_community langchain_core tavily-python langchain_nvidia_ai_endpoints
- APIキーを設定します:
- NVIDIA NIMトライアルAPIキー
- インタビューNVIDIA NIMのページAPIキーの登録と取得
- 1,000APIトライアル・クレジット(新規ユーザー向け
- LangChain APIキー
- あるLangChain設定ページアカウントの作成
- API Keys "に移動し、新しいAPIキーを作成します。
- Tavily APIキー
- インタビュータビリーホームアカウント登録
- APIキーの作成
2.プロジェクトの初期化
- 環境変数の設定:
パイソン
インポート os
os.environ["NVIDIA_API_KEY"] = "your-nvidia-api-key"
os.environ["LANGCHAIN_API_KEY"] = "your-langchain-api-key"
os.environ["TAVILY_API_KEY"] = "your-tavily-api-key"
- 必要なクライアントを初期化する:
パイソン
from tavily import TavilyClient, AsyncTavilyClient
tavily_client = TavilyClient()
tavily_async_client = AsyncTavilyClient()
3.レポート作成プロセス
- 報告構造を定義する:
パイソン
report_structure = """
このレポートタイプは比較分析に重点を置いている。
レポートの構成は以下の通りである: 1.
1.はじめに
2.本文セクション
3.比較表を含む結論
"""
- レポートのテーマ設定
パイソン
report_topic = "レポートのトピック"
- 検索パラメータを設定する:
パイソン
tavily_topic = "general" # または "news"
tavily_days = なし # ニューストピックの場合のみ
- レポートプランを作成する:
パイソン
sections = await generate_report_plan({
「トピック": report_topic, "レポート構造": report_structure, {
"tavily_days": tavily_days
})
4.高度な機能の使用
- カスタムクエリ生成:
- 検索クエリを最適化するためにquery_writer_instructionsを修正する。
- number_of_queriesパラメータを調整して、セクションごとのクエリー数をコントロールする。
- コンテンツのフォーマット制御:
- Markdown構文を使ってヘッダー階層を設定する
- 表やリストなどの構造化コンテンツをサポート
- 各章の字数制限をコントロールできる
- ソース・コンテンツの管理:
- deduplicate_and_format_sources関数を使った検索結果の処理
- max_tokens_per_sourceパラメータは、ソース・コンテンツの長さを制御するために調整することができます。
- 並列処理の最適化:
- LangGraphを使った複数章の並列研究
- StateGraphのコンフィギュレーションを調整することで、処理フローを最適化する。
5.注意事項
- API使用制限:
- NVIDIA API の使用量を監視するよう注意してください。
- 制限を超えないよう、問い合わせ頻度を合理的に設定すること
- コンテンツの品質管理:
- 報告書の構成が明確なセクションガイダンスを提供するようにする。
- 生成されたコンテンツの正確性を定期的に検証する
- システム要件
- Python環境のバージョン互換性の確保
- 依存関係を最新に保つ
- エラー処理:
- 適切なエラー処理メカニズムを実装する
- 中間結果を保存して処理の中断を回避