DeerFlow(Deep Exploration and Efficient Research Flow)是由字節跳動開源的社群驅動深度研究框架。該項目建立在開源社群的傑出工作基礎之上,旨在將大語言模型與專業工具相結合,包括網路搜尋、爬蟲和Python代碼執行等功能,同時回饋開源社群。
項目地址: https://github.com/bytedance/deer-flow
DeerFlow實現了模塊化多智能體系統架構,專為自動化研究和代碼分析而設計。系統基於LangGraph構建,通過明確定義的消息傳遞系統實現靈活的基於狀態的工作流,其中組件之間進行通信。
系統採用簡化的工作流,包含以下組件:
執行計劃的專業智能體集合:
每個智能體都可以訪問針對其角色優化的特定工具,並在LangGraph框架內運行。
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
# 安裝marp用於PPT生成
brew install marp-cli
uv run main.py
# 首先安裝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, duckduckgo, brave_search, arxiv
SEARCH_API=tavily
DeerFlow包含文本轉語音(TTS)功能,允許您將研究報告轉換為語音。此功能使用volcengine TTS 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
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包含人機交互機制,允許您在執行前審查、編輯和批准研究計劃:
[ACCEPTED]
接受計劃[EDIT PLAN] 添加更多關於技術實現的步驟
)項目包含多個示例報告,展示DeerFlow的功能:
DeerFlow建立在開源社群的傑出工作基礎之上,特別感謝:
這些項目體現了開源協作的變革力量,我們很榮幸能在他們的基礎上構建DeerFlow。