DeerFlow (Deep Exploration and Efficient Research Flow) é um framework de pesquisa profunda orientado pela comunidade e de código aberto, criado pela ByteDance. Construído sobre o trabalho excepcional da comunidade de código aberto, este projeto visa combinar grandes modelos de linguagem com ferramentas especializadas, incluindo pesquisa na web, web scraping e execução de código Python, ao mesmo tempo em que contribui para a comunidade de código aberto.
Endereço do Projeto: https://github.com/bytedance/deer-flow
DeerFlow implementa uma arquitetura de sistema multi-agente modular, projetada para pesquisa automatizada e análise de código. O sistema é construído com base em LangGraph, permitindo fluxos de trabalho flexíveis baseados em estado através de um sistema de passagem de mensagens bem definido, onde os componentes se comunicam entre si.
O sistema emprega um fluxo de trabalho simplificado, compreendendo os seguintes componentes:
Uma coleção de agentes especializados que executam o plano:
Cada agente tem acesso a ferramentas específicas otimizadas para sua função e opera dentro do framework LangGraph.
uv
, nvm
e pnpm
# Clonar o repositório
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
# Instalar dependências, uv irá lidar com o interpretador Python e a criação do ambiente virtual, e instalar os pacotes necessários
uv sync
# Configurar variáveis de ambiente
cp .env.example .env
# Configurar suas chaves de API:
# - Tavily: https://app.tavily.com/home
# - Brave Search: https://brave.com/search/api/
# - volcengine TTS: Adicione suas credenciais TTS se tiver
# Configurar o modelo LLM e a chave de API
cp conf.yaml.example conf.yaml
# Instalar marp para geração de PPT
brew install marp-cli
uv run main.py
# Primeiro instale as dependências da Web UI
cd deer-flow/web
pnpm install
# Execute os servidores backend e frontend (modo de desenvolvimento)
# macOS/Linux
./bootstrap.sh -d
# Windows
bootstrap.bat -d
Então acesse http://localhost:3000 para experimentar a Web UI.
DeerFlow suporta vários mecanismos de busca, que podem ser configurados usando a variável SEARCH_API
no arquivo .env
:
Exemplo de configuração:
# Escolha um: tavily, duckduckgo, brave_search, arxiv
SEARCH_API=tavily
DeerFlow inclui funcionalidade de texto para voz (TTS), permitindo que você converta relatórios de pesquisa em fala. Esta funcionalidade usa a API volcengine TTS para gerar áudio de alta qualidade, suportando velocidade, volume e tom personalizáveis.
curl --location 'http://localhost:8000/api/tts' \
--header 'Content-Type: application/json' \
--data '{
"text": "Este é um teste da funcionalidade de texto para voz.",
"speed_ratio": 1.0,
"volume_ratio": 1.0,
"pitch_ratio": 1.0
}' \
--output speech.mp3
# Executar todos os testes
make test
# Executar um arquivo de teste específico
pytest tests/integration/test_workflow.py
# Executar testes de cobertura
make coverage
# Executar verificação de código
make lint
# Formatar código
make format
DeerFlow usa LangGraph como sua arquitetura de fluxo de trabalho. Você pode usar LangGraph Studio para depurar e visualizar fluxos de trabalho em tempo real.
# Instalar o gerenciador de pacotes uv (se não tiver)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Instalar dependências e iniciar o servidor LangGraph
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.12 langgraph dev --allow-blocking
Após iniciar o servidor, você pode acessar:
# Executar uma consulta específica
uv run main.py "Quais são os fatores que influenciam a adoção de IA na área da saúde?"
# Executar com parâmetros de planejamento personalizados
uv run main.py --max_plan_iterations 3 "Como a computação quântica afeta a criptografia?"
# Executar no modo interativo
uv run main.py --interactive
# Ver todas as opções disponíveis
uv run main.py --help
DeerFlow inclui mecanismos de interação humano-máquina, permitindo que você revise, edite e aprove planos de pesquisa antes da execução:
[ACCEPTED]
[EDIT PLAN] Adicionar mais etapas sobre a implementação técnica
)O projeto inclui vários relatórios de exemplo, mostrando as capacidades do DeerFlow:
DeerFlow é construído sobre o trabalho excepcional da comunidade de código aberto, com agradecimentos especiais a:
Esses projetos exemplificam o poder transformador da colaboração de código aberto, e estamos honrados em construir DeerFlow sobre eles.