Home
Login

基於大語言模型的社群驅動深度研究框架,整合網路搜尋、爬蟲和 Python 執行等專業工具

MITTypeScript 14.2kbytedancedeer-flow Last Updated: 2025-06-19

DeerFlow - 深度研究自動化框架

項目概述

DeerFlow(Deep Exploration and Efficient Research Flow)是由字節跳動開源的社群驅動深度研究框架。該項目建立在開源社群的傑出工作基礎之上,旨在將大語言模型與專業工具相結合,包括網路搜尋、爬蟲和Python代碼執行等功能,同時回饋開源社群。

項目地址: https://github.com/bytedance/deer-flow

核心特性

🤖 LLM集成

  • 通過 litellm 支持大多數模型的集成
  • 支持Qwen等開源模型
  • OpenAI兼容的API接口
  • 針對不同任務複雜度的多層LLM系統

🔍 搜索與檢索

  • 通過Tavily、Brave Search等進行網路搜尋
  • 使用Jina進行爬蟲
  • 高級內容提取功能

🔗 MCP無縫集成

  • 擴展私有域訪問、知識圖譜、網路瀏覽等功能
  • 促進多樣化研究工具和方法論的集成

🧠 人機交互循環

  • 支持使用自然語言交互式修改研究計劃
  • 支持研究計劃的自動接受

📝 報告後期編輯

  • 支持類似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)
  • 推薦使用 uvnvmpnpm

安裝步驟

# 克隆倉庫
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

# 安裝marp用於PPT生成
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

啟動服務器後,您可以訪問:

使用示例

命令行參數

# 運行特定查詢
uv run main.py "影響醫療保健AI採用的因素有哪些?"

# 使用自定義規劃參數運行
uv run main.py --max_plan_iterations 3 "量子計算如何影響密碼學?"

# 交互模式運行
uv run main.py --interactive

# 查看所有可用選項
uv run main.py --help

人機交互循環

DeerFlow包含人機交互機制,允許您在執行前審查、編輯和批准研究計劃:

  1. 計劃審查: 啟用人機交互時,系統會在執行前展示生成的研究計劃供您審查
  2. 提供反饋: 您可以:
    • 通過回復 [ACCEPTED] 接受計劃
    • 通過提供反饋編輯計劃(例如:[EDIT PLAN] 添加更多關於技術實現的步驟
  3. 自動接受: 您可以啟用自動接受來跳過審查過程

示例報告

項目包含多個示例報告,展示DeerFlow的功能:

  • OpenAI Sora分析報告
  • Google的智能體到智能體協議報告
  • MCP(模型上下文協議)綜合分析
  • 比特幣價格波動分析
  • 大語言模型深度探索
  • Claude深度研究最佳實踐
  • 醫療保健AI採用影響因素
  • 量子計算對密碼學的影響
  • 克里斯蒂亞諾·羅納爾多表現亮點

致謝

DeerFlow建立在開源社群的傑出工作基礎之上,特別感謝:

  • LangChain: 提供了出色的LLM交互和鏈框架
  • LangGraph: 在多智能體編排方面的創新方法

這些項目體現了開源協作的變革力量,我們很榮幸能在他們的基礎上構建DeerFlow。

Star History Chart