DeerFlow : un assistant de recherche intelligent basé sur les frameworks LangChain et LangGraph 68

小编 ·

DeerFlow : un assistant de recherche intelligent basé sur les frameworks LangChain et LangGraph

DeerFlow est un assistant de recherche intelligent open-source publié par ByteDance, construit sur les frameworks LangChain et LangGraph. Il prend en charge l'itération dynamique des tâches, l'intégration fluide avec MCP, la génération automatique de plans de recherche, la collaboration humain-IA et peut même générer des podcasts et des PPT. Il combine des modèles de langage avec des outils tels que la recherche web, le crawling et l'exécution de code Python pour fournir rapidement des rapports approfondis et complets. Il intègre également de manière fluide le MCP interne (Model Control Platform) de ByteDance, améliorant l'automatisation et la précision. De plus, DeerFlow a optimisé.

DeerFlow : un assistant de recherche intelligent basé sur les frameworks LangChain et LangGraph

Qu'est-ce que DeerFlow ?

DeerFlow est un assistant de recherche intelligent open source développé par ByteDance, basé sur les frameworks LangChain et LangGraph. Il prend en charge l'itération dynamique des tâches, l'intégration transparente de MCP, la génération automatique de plans de recherche, la collaboration homme-machine, et peut même générer des podcasts et des ppt. Il combine des modèles de langage avec des outils tels que la recherche web, le web scraping et l'exécution de code Python afin de fournir rapidement des rapports approfondis et complets. Il intègre également de manière transparente la plateforme MCP (Model Control Platform) interne de ByteDance, améliorant ainsi l'automatisation et la précision. De plus, DeerFlow optimise l'expérience de collaboration homme-machine, permettant aux utilisateurs d'intervenir à tout moment pour ajuster le plan de recherche et de s'assurer que les résultats correspondent à leurs attentes.

DeerFlow:基于LangChain和LangGraph框架的一款智能研究助手.webp

Architecture principale de DeerFlow

  • Architecture multi-agents : Basée sur l'architecture LangGraph, elle adopte une conception modulaire de système multi-agents. Le système se compose de rôles tels qu'un coordinateur, un planificateur, une équipe de recherche et un générateur de rapports. Le coordinateur gère le cycle de vie du flux de recherche, le planificateur est responsable de la décomposition des tâches et de la génération du plan de recherche, l'équipe de recherche comprend des chercheurs, des analystes de code, etc., chargés de la collecte d'informations et des tâches techniques spécifiques, tandis que le générateur de rapports organise les résultats de la recherche sous forme de rapport.

  • Framework open source basé sur LangStack : Construit au-dessus des frameworks open source LangChain et LangGraph, avec une structure de code claire et une logique simple, ce qui réduit la courbe d'apprentissage.

Fonctionnalités principales de DeerFlow

  • Itération dynamique des tâches : Capable de générer et d'optimiser automatiquement les plans de tâches en fonction des besoins de recherche, garantissant un processus de recherche efficace et flexible.

  • Intégration multi-outils : Prend en charge la recherche web, la recherche de ressources académiques sur Arxiv, le web scraping et l'exécution de code Python, offrant un soutien puissant aux chercheurs dans la collecte et l'analyse de la littérature académique.

  • Génération de contenu multimodal : Non seulement il peut générer des rapports de recherche approfondis, mais il prend également en charge la génération de scripts de podcast, de PPT et d'autres contenus diversifiés, répondant aux besoins de différents scénarios.

  • Intégration transparente de MCP : En se combinant avec la plateforme MCP (Model Control Platform) interne de ByteDance, il atteint un niveau d'automatisation et de précision plus élevé.

  • Intégration LLM : Prend en charge l'intégration de la plupart des modèles via litellm, prend en charge des modèles open source comme Qwen, est compatible avec l'interface API d'OpenAI, et un système LLM multi-niveaux convient aux tâches de différentes complexités.

  • Collaboration homme-machine : Prend en charge la modification interactive du plan de recherche en langage naturel, ainsi que l'acceptation automatique du plan de recherche ; prend en charge l'édition par blocs de type Notion, permettant une optimisation par l'IA, y compris le polissage assisté par IA, le raccourcissement et l'extension de phrases.

Cas d'utilisation de DeerFlow

  • Recherche académique : Pour les chercheurs, DeerFlow offre un soutien puissant dans la collecte et l'analyse de la littérature académique. Sa fonction de recherche Arxiv permet de localiser rapidement des ressources académiques de haute qualité, faisant gagner du temps aux chercheurs. Ceux-ci peuvent l'utiliser pour automatiser efficacement l'ensemble du processus, de l'élaboration du plan de recherche à la génération de contenu, réduisant ainsi considérablement les coûts de main-d'œuvre.

  • Création de contenu : Les créateurs de contenu peuvent utiliser DeerFlow pour générer des scripts de podcast et des fichiers audio, créer automatiquement des présentations PowerPoint, et bénéficier de modèles personnalisables, simplifiant ainsi considérablement le processus de création et de présentation de contenu.

  • Gestion des connaissances et recherche en entreprise : Grâce à son intégration avec la plateforme MCP (Model Control Platform) interne de ByteDance, DeerFlow atteint un niveau d'automatisation et de précision plus élevé. Les entreprises peuvent l'utiliser pour organiser, analyser et rechercher leurs connaissances internes, améliorant ainsi l'efficacité de la gestion des connaissances.

Étapes d'installation de DeerFlow

Préparation de l'environnement

Assurez-vous que le système répond aux exigences minimales suivantes :

Python : version 3.12+ requise.

Node.js : version 22+ requise.

Étapes d'installation

Cloner le dépôt :

git clone https://github.com/bytedance/deer-flow.git
cd deer-flow

Installer les dépendances :

uv sync

Cette étape crée automatiquement un environnement virtuel et installe tous les packages nécessaires.

Configurer les variables d'environnement :

cp .env.example .env

Ajoutez vos clés API dans le fichier .env selon vos besoins, telles que Tavily, Brave SEARCH, Volcengine TTS, etc.

Configurer les modèles et les clés API :

cp conf.yaml.example conf.yaml

Configurez les modèles LLM et les clés API dans le fichier conf.yaml selon vos besoins. Pour la configuration détaillée, veuillez consulter docs/configuration_guide.md.

Installer l'outil de génération de PPT :

brew install marp-cli

Si vous utilisez un autre système d'exploitation, veuillez consulter la documentation officielle de Marp CLI pour l'installation.

Installer les dépendances de l'interface Web (optionnel) :

cd deer-flow/web
pnpm install

Si vous n'avez pas installé pnpm, vous pouvez utiliser npm install ou yarn install à la place.

Démarrer le projet

Exécuter le projet :

uv run main.py

Cela lancera le projet avec l'interface console.

Démarrer l'interface Web (si les dépendances de l'interface Web ont été installées) :

Sur macOS/Linux :

./bootstrap.sh -d

Sur Windows :

bootstrap.bat -d

Ensuite, accédez à http://localhost:3000 dans votre navigateur pour voir l'interface Web.

Développement et débogage

Si vous avez besoin de développer ou de déboguer, vous pouvez utiliser LangGraph Studio :

Exécuter LangGraph Studio localement :

  • Sur Mac :

curl -LsSf https://astral.sh/uv/install.sh | sh
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.12 langgraph dev --allow-blocking
  • Sur Windows/Linux :

pip install -e .
pip install -U "langgraph-cli[inmem]"
langgraph dev

Après le démarrage, accédez au lien de l'interface Studio (par exemple https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024) pour le débogage.

Liens connexes

Site officiel du projet : https://deerflow.tech

Dépôt GitHub : https://github.com/bytedance/deer