Framework de pesquisa aprofundada impulsionado pela comunidade e baseado em modelos de linguagem grandes, integrando ferramentas especializadas como pesquisa na web, rastreamento e execução de Python.
DeerFlow - Framework de Automação de Pesquisa Profunda
Visão Geral do Projeto
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
Principais Características
🤖 Integração de LLM
- Suporte para a integração da maioria dos modelos através de litellm
- Suporte para modelos de código aberto como o Qwen
- Interface de API compatível com OpenAI
- Sistema LLM multicamadas para diferentes complexidades de tarefas
🔍 Pesquisa e Recuperação
- Pesquisa na web através de Tavily, Brave Search, etc.
- Web scraping usando Jina
- Funcionalidades avançadas de extração de conteúdo
🔗 Integração Perfeita com MCP
- Expande o acesso a domínios privados, grafos de conhecimento, navegação na web, etc.
- Promove a integração de diversas ferramentas e metodologias de pesquisa
🧠 Loop de Interação Humano-Máquina
- Suporta a modificação interativa de planos de pesquisa usando linguagem natural
- Suporta a aceitação automática de planos de pesquisa
📝 Edição Posterior de Relatórios
- Suporta edição de blocos semelhante ao Notion
- Permite refinamento por IA, incluindo polimento assistido por IA, encurtamento e expansão de frases
- Construído com base em tiptap
🎙️ Geração de Podcasts e Apresentações
- Geração de scripts de podcast e síntese de áudio orientadas por IA
- Criação automática de apresentações simples em PowerPoint
- Modelos personalizáveis para conteúdo personalizado
Arquitetura Técnica
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.
Componentes do Fluxo de Trabalho
O sistema emprega um fluxo de trabalho simplificado, compreendendo os seguintes componentes:
Coordenador (Coordinator)
- Ponto de entrada que gerencia o ciclo de vida do fluxo de trabalho
- Inicia o processo de pesquisa com base na entrada do usuário
- Delega tarefas ao Planejador quando apropriado
- Atua como a principal interface entre o usuário e o sistema
Planejador (Planner)
- Componente estratégico para decomposição e planejamento de tarefas
- Analisa os objetivos da pesquisa e cria um plano de execução estruturado
- Determina se há contexto suficiente ou se é necessária mais pesquisa
- Gerencia o fluxo de pesquisa e decide quando gerar o relatório final
Equipe de Pesquisa (Research Team)
Uma coleção de agentes especializados que executam o plano:
- Pesquisador (Researcher): Realiza pesquisa na web e coleta informações usando ferramentas como mecanismos de busca na web, web scrapers e até mesmo serviços MCP
- Codificador (Coder): Lida com análise de código, execução e tarefas técnicas usando ferramentas Python REPL
Cada agente tem acesso a ferramentas específicas otimizadas para sua função e opera dentro do framework LangGraph.
Relator (Reporter)
- Processador de estágio final para a saída da pesquisa
- Resume as descobertas da equipe de pesquisa
- Processa e estrutura as informações coletadas
- Gera um relatório de pesquisa abrangente
Instalação e Início Rápido
Requisitos do Sistema
- Python 3.12+
- Node.js (para a Web UI)
- Recomenda-se usar
uv
,nvm
epnpm
Passos de Instalação
# 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
Executar o Projeto
Console UI (Maneira mais rápida)
uv run main.py
Web UI
# 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.
Mecanismos de Busca Suportados
DeerFlow suporta vários mecanismos de busca, que podem ser configurados usando a variável SEARCH_API
no arquivo .env
:
- Tavily (padrão): API de pesquisa projetada para aplicações de IA
- DuckDuckGo: Mecanismo de busca focado na privacidade, sem necessidade de chave de API
- Brave Search: Mecanismo de busca focado na privacidade com funcionalidades avançadas
- Arxiv: Dedicado à pesquisa acadêmica de artigos científicos
Exemplo de configuração:
# Escolha um: tavily, duckduckgo, brave_search, arxiv
SEARCH_API=tavily
Integração de Texto para Voz
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.
Exemplo de Chamada de API
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
Desenvolvimento e Depuração
Executar Testes
# 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
Depuração com LangGraph Studio
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:
- API: http://127.0.0.1:2024
- Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
- Documentação da API: http://127.0.0.1:2024/docs
Exemplos de Uso
Argumentos de Linha de Comando
# 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
Loop de Interação Humano-Máquina
DeerFlow inclui mecanismos de interação humano-máquina, permitindo que você revise, edite e aprove planos de pesquisa antes da execução:
- Revisão do Plano: Quando a interação humano-máquina está habilitada, o sistema exibe o plano de pesquisa gerado para sua revisão antes da execução
- Fornecer Feedback: Você pode:
- Aceitar o plano respondendo
[ACCEPTED]
- Editar o plano fornecendo feedback (por exemplo:
[EDIT PLAN] Adicionar mais etapas sobre a implementação técnica
)
- Aceitar o plano respondendo
- Aceitação Automática: Você pode habilitar a aceitação automática para pular o processo de revisão
Relatórios de Exemplo
O projeto inclui vários relatórios de exemplo, mostrando as capacidades do DeerFlow:
- Relatório de análise do OpenAI Sora
- Relatório do protocolo agente-para-agente do Google
- Análise abrangente do MCP (Model Context Protocol)
- Análise da volatilidade do preço do Bitcoin
- Exploração profunda de grandes modelos de linguagem
- Melhores práticas de pesquisa profunda do Claude
- Fatores que influenciam a adoção de IA na área da saúde
- Impacto da computação quântica na criptografia
- Destaques do desempenho de Cristiano Ronaldo
Agradecimentos
DeerFlow é construído sobre o trabalho excepcional da comunidade de código aberto, com agradecimentos especiais a:
- LangChain: Forneceu uma excelente estrutura de interação e encadeamento de LLM
- LangGraph: Abordagem inovadora para orquestração multi-agente
Esses projetos exemplificam o poder transformador da colaboração de código aberto, e estamos honrados em construir DeerFlow sobre eles.