大規模言語モデルに基づいたコミュニティ主導の深層研究フレームワークで、ウェブ検索、クローラー、Python実行などの専門ツールを統合
DeerFlow - 深層研究自動化フレームワーク
プロジェクト概要
DeerFlow(Deep Exploration and Efficient Research Flow)は、ByteDanceがオープンソースで公開しているコミュニティ主導の深層研究フレームワークです。このプロジェクトは、オープンソースコミュニティの優れた成果に基づいて構築されており、大規模言語モデルと、ウェブ検索、クローラー、Pythonコード実行などの専門ツールを組み合わせることを目的としています。同時に、オープンソースコミュニティへの貢献も目指しています。
プロジェクトアドレス: https://github.com/bytedance/deer-flow
核心特性
🤖 LLM統合
- litellm を通じて、ほとんどのモデルの統合をサポート
- Qwenなどのオープンソースモデルをサポート
- OpenAI互換のAPIインターフェース
- さまざまなタスクの複雑さに対応する多層LLMシステム
🔍 検索と検索
- Tavily、Brave Searchなどを通じたウェブ検索
- Jinaを使用したクローリング
- 高度なコンテンツ抽出機能
🔗 MCPシームレス統合
- プライベートドメインアクセス、ナレッジグラフ、ウェブブラウジングなどの機能を拡張
- 多様な研究ツールと方法論の統合を促進
🧠 人とAIのインタラクションループ
- 自然言語を使用したインタラクティブな研究計画の修正をサポート
- 研究計画の自動承認をサポート
📝 レポートのポストエディット
- Notionのようなブロック編集をサポート
- AIによる洗練を許可(AI補助による潤色、文章の短縮と拡張を含む)
- tiptap をベースに構築
🎙️ ポッドキャストとプレゼンテーション資料の生成
- AI駆動のポッドキャストスクリプト生成と音声合成
- 簡単なPowerPointプレゼンテーション資料の自動作成
- 個別化されたコンテンツのためのカスタマイズ可能なテンプレート
技術アーキテクチャ
DeerFlowは、自動化された研究とコード分析のために設計されたモジュール式のマルチエージェントシステムアーキテクチャを実装しています。システムはLangGraphに基づいて構築されており、明確に定義されたメッセージングシステムを通じて柔軟な状態ベースのワークフローを実現し、コンポーネント間で通信を行います。
ワークフローコンポーネント
システムは、以下のコンポーネントを含む簡素化されたワークフローを採用しています。
コーディネーター(Coordinator)
- ワークフローライフサイクルを管理するエントリポイント
- ユーザー入力に基づいて研究プロセスを開始
- 適切な場合にタスクをプランナーに委任
- ユーザーとシステム間の主要なインターフェースとして機能
プランナー(Planner)
- タスク分解と計画の戦略的コンポーネント
- 研究目標を分析し、構造化された実行計画を作成
- 十分なコンテキストがあるか、またはより多くの研究が必要かを判断
- 研究プロセスを管理し、最終レポートをいつ生成するかを決定
研究チーム(Research Team)
実行計画を行う専門エージェントの集合:
- 研究員(Researcher): ウェブ検索エンジン、クローラー、さらにはMCPサービスなどのツールを使用して、ウェブ検索と情報収集を行う
- コーダー(Coder): Python REPLツールを使用して、コード分析、実行、および技術タスクを処理する
各エージェントは、その役割に最適化された特定のツールにアクセスでき、LangGraphフレームワーク内で実行されます。
レポーター(Reporter)
- 研究アウトプットの最終段階プロセッサ
- 研究チームの発見を要約
- 収集された情報を処理および構造化
- 総合的な研究レポートを生成
インストールとクイックスタート
システム要件
- Python 3.12+
- Node.js(Web UI用)
uv
、nvm
、およびpnpm
の使用を推奨
インストール手順
# リポジトリをクローン
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
# 依存関係をインストール。uvはPythonインタープリターと仮想環境の作成を処理し、必要なパッケージをインストールします。
uv sync
# 環境変数を設定
cp .env.example .env
# APIキーを設定:
# - Tavily: https://app.tavily.com/home
# - Brave Search: https://brave.com/search/api/
# - volcengine TTS: もしあればTTS認証情報を追加
# LLMモデルとAPIキーを設定
cp conf.yaml.example conf.yaml
# PPT生成のためにmarpをインストール
brew install marp-cli
プロジェクトの実行
コンソールUI(最速の方法)
uv run main.py
Web UI
# まずWeb UIの依存関係をインストール
cd deer-flow/web
pnpm install
# バックエンドとフロントエンドサーバーを実行(開発モード)
# macOS/Linux
./bootstrap.sh -d
# Windows
bootstrap.bat -d
その後、http://localhost:3000 にアクセスしてWeb UIを体験してください。
サポートされている検索エンジン
DeerFlowは複数の検索エンジンをサポートしており、.env
ファイルで SEARCH_API
変数を使用して設定できます。
- Tavily(デフォルト): AIアプリケーション向けに設計された検索API
- DuckDuckGo: プライバシーを重視した検索エンジン。APIキーは不要
- Brave Search: 高度な機能を備えたプライバシーを重視した検索エンジン
- Arxiv: 学術研究専用の科学論文検索
設定例:
# いずれかを選択: tavily, duckduckgo, brave_search, arxiv
SEARCH_API=tavily
テキスト読み上げ統合
DeerFlowにはテキスト読み上げ(TTS)機能が含まれており、研究レポートを音声に変換できます。この機能は、高品質のオーディオを生成するためにvolcengine TTS APIを使用し、速度、音量、および音程のカスタマイズをサポートします。
API呼び出し例
curl --location 'http://localhost:8000/api/tts' \
--header 'Content-Type: application/json' \
--data '{
"text": "これはテキスト読み上げ機能のテストです。",
"speed_ratio": 1.0,
"volume_ratio": 1.0,
"pitch_ratio": 1.0
}' \
--output speech.mp3
開発とデバッグ
テストの実行
# すべてのテストを実行
make test
# 特定のテストファイルを実行
pytest tests/integration/test_workflow.py
# カバレッジテストを実行
make coverage
# コードチェックを実行
make lint
# コードをフォーマット
make format
LangGraph Studioデバッグ
DeerFlowは、ワークフローアーキテクチャとしてLangGraphを使用します。LangGraph Studioを使用して、ワークフローをリアルタイムでデバッグおよび視覚化できます。
# uvパッケージマネージャーをインストール(まだの場合)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 依存関係をインストールし、LangGraphサーバーを起動
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.12 langgraph dev --allow-blocking
サーバーを起動したら、以下にアクセスできます。
- API: http://127.0.0.1:2024
- Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
- APIドキュメント: http://127.0.0.1:2024/docs
使用例
コマンドライン引数
# 特定のクエリを実行
uv run main.py "医療におけるAIの採用に影響を与える要因は何ですか?"
# カスタムプランニングパラメータを使用して実行
uv run main.py --max_plan_iterations 3 "量子コンピューティングは暗号化にどのように影響しますか?"
# インタラクティブモードで実行
uv run main.py --interactive
# すべての利用可能なオプションを表示
uv run main.py --help
人とAIのインタラクションループ
DeerFlowには、実行前に研究計画をレビュー、編集、および承認できる人機インタラクションメカニズムが含まれています。
- 計画レビュー: 人機インタラクションを有効にすると、システムは実行前に生成された研究計画を表示してレビューを求めます。
- フィードバックの提供: 以下のことができます。
[ACCEPTED]
と返信して計画を受け入れる- フィードバックを提供して計画を編集する(例:
[EDIT PLAN] 技術的な実装に関するステップを追加
)
- 自動承認: 自動承認を有効にして、レビュープロセスをスキップできます。
サンプルレポート
プロジェクトには、DeerFlowの機能を示す複数のサンプルレポートが含まれています。
- OpenAI Sora分析レポート
- Googleのエージェント間プロトコルレポート
- MCP(モデルコンテキストプロトコル)の総合分析
- ビットコイン価格変動分析
- 大規模言語モデルの深層探索
- Claude深層研究のベストプラクティス
- 医療におけるAI採用の影響要因
- 量子コンピューティングが暗号化に与える影響
- クリスティアーノ・ロナウドのパフォーマンスハイライト
謝辞
DeerFlowは、オープンソースコミュニティの優れた成果に基づいて構築されており、特に以下に感謝します。
- LangChain: 優れたLLMインタラクションとチェーンフレームワークを提供
- LangGraph: マルチエージェントオーケストレーションにおける革新的なアプローチ
これらのプロジェクトは、オープンソースコラボレーションの変革力を体現しており、私たちは彼らの上にDeerFlowを構築できることを光栄に思っています。