Home
Login

Agent de recherche autonome basé sur un grand modèle linguistique, capable d'effectuer des recherches approfondies, locales et en ligne, sur n'importe quel sujet et de générer des rapports détaillés avec des citations.

Apache-2.0Python 22.2kassafelovicgpt-researcher Last Updated: 2025-06-26

Présentation détaillée du projet GPT Researcher

Aperçu du projet

GPT Researcher est un agent de recherche approfondie open source, conçu pour effectuer des recherches en ligne et locales sur n'importe quelle tâche donnée. Le projet vise à générer des rapports de recherche détaillés, objectifs et impartiaux, avec des citations complètes. Il offre une suite complète d'options de personnalisation pour créer des agents de recherche personnalisés et spécifiques à un domaine.

Caractéristiques principales

Fonctionnalités principales

  • 📝 Générer des rapports de recherche détaillés à l'aide du web et de documents locaux
  • 🖼️ Fonctionnalité intelligente de capture et de filtrage d'images
  • 📜 Générer des rapports détaillés de plus de 2000 mots
  • 🌐 Agréger plus de 20 sources d'information pour parvenir à des conclusions objectives
  • 🖥️ Fournir des versions frontales légères (HTML/CSS/JS) et prêtes pour la production (NextJS + Tailwind)
  • 🔍 Prise en charge du web scraping JavaScript
  • 📂 Maintenir la mémoire et le contexte tout au long du processus de recherche
  • 📄 Prise en charge de l'exportation des rapports aux formats PDF, Word, etc.

Deep Research (Recherche approfondie)

GPT Researcher inclut désormais Deep Research - un flux de travail de recherche récursive avancé, capable d'explorer des sujets avec la profondeur et l'étendue d'un agent. Cette fonctionnalité utilise un modèle d'exploration arborescent, approfondissant les sous-thèmes tout en conservant une vue d'ensemble du sujet de recherche.

Caractéristiques de Deep Research :

  • 🌳 Exploration arborescente avec profondeur et étendue configurables
  • ⚡️ Traitement simultané pour des résultats plus rapides
  • 🤝 Gestion intelligente du contexte entre les branches de recherche
  • ⏱️ Environ 5 minutes par recherche approfondie
  • 💰 Coût d'environ 0,4 $ par recherche (en utilisant l'effort d'inférence "élevé" d'o3-mini)

Architecture technique

Idée centrale

L'idée centrale du projet est d'utiliser des agents "Planificateur" et "Exécuteur". Le planificateur génère des questions de recherche, tandis que l'exécuteur collecte les informations pertinentes. Le publicateur agrège ensuite toutes les découvertes dans un rapport complet.

Flux de travail

  1. Créer un agent spécifique à la tâche en fonction de la requête de recherche
  2. Générer un ensemble de questions capables de former une opinion objective sur la tâche
  3. Utiliser un agent d'exploration pour collecter des informations pour chaque question
  4. Résumer chaque ressource et suivre les sources
  5. Filtrer et agréger les résumés dans un rapport de recherche final

Problèmes résolus

GPT Researcher vise à résoudre les défis de recherche suivants :

  • Coût en temps : La recherche manuelle pour parvenir à des conclusions objectives peut prendre des semaines et nécessite des ressources importantes
  • Informations obsolètes : Les LLM entraînés sur des informations obsolètes peuvent produire des hallucinations, non pertinentes pour la tâche de recherche actuelle
  • Limites de jetons : Les limites de jetons des LLM actuels sont insuffisantes pour générer de longs rapports de recherche
  • Sources d'information limitées : Les sources web limitées dans les services existants conduisent à des informations erronées et à des résultats superficiels
  • Problèmes de biais : La sélection de sources web peut introduire des biais dans la tâche de recherche

Installation et utilisation

Démarrage rapide

Configuration requise :

  • Installation de Python 3.11 ou version ultérieure

Étapes :

  1. Cloner le projet et naviguer vers le répertoire :
git clone https://github.com/assafelovic/gpt-researcher.git
cd gpt-researcher
  1. Définir les clés API :
export OPENAI_API_KEY={Your OpenAI API Key here}
export TAVILY_API_KEY={Your Tavily API Key here}
  1. Installer les dépendances et démarrer le serveur :
pip install -r requirements.txt
python -m uvicorn main:app --reload
  1. Accéder à http://localhost:8000 pour commencer à utiliser

Installation via PIP

pip install gpt-researcher

Exemple de code :

from gpt_researcher import GPTResearcher

query = "why is Nvidia stock going up?"
researcher = GPTResearcher(query=query, report_type="research_report")

# Effectuer des recherches sur une requête donnée
research_result = await researcher.conduct_research()

# Rédiger un rapport
report = await researcher.write_report()

Déploiement Docker

  1. Installer Docker
  2. Cloner le fichier '.env.example', ajouter les clés API et enregistrer sous '.env'
  3. Commenter les services que vous ne souhaitez pas exécuter dans le fichier docker-compose
  4. Exécuter :
docker-compose up --build

Par défaut, deux processus seront lancés :

  • Le serveur Python s'exécute sur localhost:8000
  • L'application React s'exécute sur localhost:3000

Recherche de documents locaux

GPT Researcher prend en charge les tâches de recherche basées sur des documents locaux. Les formats de fichiers actuellement pris en charge incluent : PDF, texte brut, CSV, Excel, Markdown, PowerPoint et documents Word.

Étapes de configuration :

  1. Ajouter la variable d'environnement DOC_PATH pointant vers le dossier contenant les documents :
export DOC_PATH="./my-docs"
  1. Sélectionner "Mes documents" dans la liste déroulante "Source du rapport" dans l'application frontale, ou définir le paramètre report_source sur "local" lors de l'utilisation du package PIP.

Système multi-agents

Alors que l'IA évolue de l'ingénierie des prompts et du RAG vers les systèmes multi-agents, GPT Researcher introduit un nouvel assistant multi-agents construit sur LangGraph.

En utilisant LangGraph, le processus de recherche peut être considérablement amélioré en profondeur et en qualité en tirant parti de plusieurs agents dotés de compétences spécialisées. Inspiré par le récent article STORM, ce projet montre comment une équipe d'agents d'IA peut collaborer pour effectuer des recherches sur un sujet donné, de la planification à la publication.

En moyenne, il génère des rapports de recherche de 5 à 6 pages, prenant en charge plusieurs formats tels que PDF, Docx et Markdown.

Interface frontale

GPT Researcher dispose désormais d'une interface frontale améliorée pour améliorer l'expérience utilisateur et simplifier le processus de recherche. Le frontend offre :

  • Une interface intuitive pour saisir les requêtes de recherche
  • Un suivi en temps réel de la progression des tâches de recherche
  • Un affichage interactif des résultats de la recherche
  • Des paramètres personnalisables pour une expérience de recherche personnalisée

Deux options de déploiement sont disponibles :

  • Un frontend statique léger servi par FastAPI
  • Une application NextJS riche en fonctionnalités avec des fonctionnalités avancées

Caractéristiques techniques

Contrôle des biais

  • Réduire les faits erronés et biaisés en explorant plusieurs sites web
  • Réduire la probabilité que toutes les informations soient incorrectes en sélectionnant les informations les plus fréquentes
  • Ne pas viser à éliminer les biais, mais à les réduire autant que possible
  • Explorer plusieurs points de vue, interpréter uniformément les points de vue diversifiés

Optimisation des performances

  • Fournir des performances stables et améliorer la vitesse en parallélisant le travail des agents
  • L'utilisation du traitement asynchrone améliore l'efficacité par rapport aux opérations synchrones
  • La gestion intelligente du contexte assure la cohérence de la recherche

Clause de non-responsabilité

GPT Researcher est une application expérimentale, fournie "en l'état", sans aucune garantie expresse ou implicite. Le code est partagé à des fins académiques sous la licence Apache 2. Le contenu ici n'est pas un conseil académique et il n'est pas recommandé de l'utiliser dans des articles universitaires ou de recherche.

Star History Chart