[OSS紹介#28] DeerFlow:研究効率を向上させるディープリサーチフレームワーク

この記事について

この記事では、オープンソースソフトウェア(OSS)の中でも特に注目すべきツール「DeerFlow」を紹介します。このブログシリーズの第28回目となる今回は、データ収集や深い研究を効率的に行うためのフレームワークとして設計されたDeerFlowに焦点を当てます。

近年、多くの研究者や開発者が情報の収集や分析に多くの時間を費やしています。このような背景の中で、AI技術の進化により、自動化や効率化が求められる場面が増加しています。しかし、これまでのツールには使い勝手や柔軟性、統合性に限界があったため、効果的な活用が難しいという声も少なくありません。

そこで登場するのが「DeerFlow」です。このツールは、専門化されたツールと大規模言語モデル(LLM)を組み合わせて、情報検索やウェブクロール、Pythonコードの実行などを行うことができます。さらに、オープンソースコミュニティに対する感謝の意を込めて、その成果を還元することを目指しています。この記事では、DeerFlowの特徴や利点を詳しく掘り下げ、その具体的な活用法についても紹介していきます。

リンク:https://github.com/bytedance/deer-flow


本コンテンツは、弊社AI開発ツール「IXV」を用いたOSSツール紹介です。情報の正確性には努めておりますが、内容に誤りが含まれる可能性がございますのでご了承ください。

1. DeerFlowの概要

DeerFlowは、コミュニティ主導のディープリサーチフレームワークであり、言語モデルとウェブ検索、クロール、Pythonコード実行などの専門ツールを組み合わせることを目的としています。オープンソースコミュニティの貢献に基づいており、研究プロセスを効率化するための機能を提供しています。

2. DeerFlowのセットアップ手順

2.1 必要なツール

DeerFlowはPythonで開発されており、Node.jsで書かれたウェブUIを含んでいます。スムーズなセットアップのために、以下のツールを使用することを推奨します。

  • uv: Python環境と依存関係の管理を簡素化します。uvは自動的に仮想環境を作成し、必要なパッケージをインストールします。
  • nvm: Node.jsのバージョン管理を容易にします。
  • pnpm: Node.jsプロジェクトの依存関係を管理します。

2.2 環境要件

システムは以下の最小要件を満たす必要があります。

  • Python: バージョン 3.12+
  • Node.js: バージョン 22+

2.3 インストール手順

以下のコマンドを使用して、DeerFlowをインストールできます。

# リポジトリをクローン
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow

# 依存関係をインストール
uv sync

# .envファイルを設定しAPIキーを入力
cp .env.example .env

# conf.yamlを設定
cp conf.yaml.example conf.yaml

# ppt生成用にmarpをインストール
brew install marp-cli

オプションとして、ウェブUIの依存関係をpnpmを使用してインストールすることもできます。

cd deer-flow/web
pnpm install

2.4 コンソールUIの起動

コンソールUIを使用してプロジェクトを実行する最も簡単な方法は以下のコマンドです。

uv run main.py

2.5 ウェブUIの起動

ウェブUIを使用するには、以下のコマンドを実行します。

# 開発モードでバックエンドとフロントエンドを同時に実行
./bootstrap.sh -d

ブラウザで`http://localhost:3000`にアクセスして、ウェブUIを探索できます。

3. DeerFlowの簡単な使い方

3.1 機能の利用

DeerFlowでは、複数の検索エンジンを設定でき、ウェブ検索や情報収集を行うことができます。以下の検索エンジンがサポートされています。

  • Tavily(デフォルト)
  • DuckDuckGo
  • Brave Search
  • Arxiv

.envファイルでSEARCH_API変数を設定することで、好みの検索エンジンを選択できます。

3.2 研究報告の生成

研究報告を生成するためのコマンド例は以下の通りです。

uv run main.py "AIの導入に影響を与える要因は何ですか?"

3.3 インタラクティブモード

インタラクティブモードを起動することで、組み込みの質問を使用してリサーチを行うことができます。

uv run main.py --interactive

言語を選択し、リストから質問を選ぶか、自分の質問を入力することができます。

3.4 人間の介入

DeerFlowは「人間の介入」機能をサポートしており、研究計画を実行する前にレビューし、編集することが可能です。

4. 結論

DeerFlowは、ディープリサーチのプロセスを効率化し、多様なツールと機能を統合する強力なフレームワークです。オープンソースの利点を活かし、コミュニティの貢献を基にしているため、様々な研究ニーズに対応できる柔軟性があります。今後の発展と利用の広がりに期待が寄せられます。