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 용)
  • uv, nvmpnpm 사용 권장

설치 단계

# 저장소 복제
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

서버가 시작되면 다음 주소에 액세스할 수 있습니다.

사용 예시

명령줄 인수

# 특정 쿼리 실행
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