Un framework de moteur de recherche web multi-agents basé sur un grand modèle linguistique, simulant le processus de pensée humaine pour réaliser une recherche IA approfondie.
MindSearch - Cadre de moteur de recherche multi-agents IA open source
Aperçu du projet
MindSearch est un cadre de moteur de recherche web multi-agents open source basé sur les grands modèles de langage (LLM), conçu pour simuler les processus cognitifs humains lors de la recherche et de l'intégration d'informations sur le web. Développé conjointement par le Laboratoire d'Intelligence Artificielle de Shanghai et l'Université de Science et Technologie de Chine, ce projet offre une expérience de recherche comparable à celle de Perplexity.ai Pro et SearchGPT.
Fonctionnalités clés
🤔 Répondre à toutes les questions
MindSearch résout toutes sortes de problèmes que vous rencontrez dans la vie grâce à la recherche, capable de gérer des requêtes complexes.
📚 Exploration approfondie des connaissances
MindSearch fournit des réponses plus larges et plus approfondies en parcourant des centaines de pages web. Le système peut traiter en parallèle les informations de plus de 300 pages web en 3 minutes, ce qui équivaut à 3 heures de travail pour un expert humain.
🔍 Chemin de solution transparent
MindSearch fournit un contenu complet, y compris le cheminement de la pensée et les mots-clés de recherche, améliorant ainsi la crédibilité et l'utilisabilité des réponses.
💻 Interfaces utilisateur multiples
Offre aux utilisateurs diverses interfaces, y compris React, Gradio, Streamlit et le débogage local.
🧠 Processus de construction de graphe dynamique
MindSearch décompose les requêtes utilisateur en nœuds de sous-problèmes dans un graphe, et étend progressivement le graphe en fonction des résultats de recherche de WebSearcher.
Architecture technique
Composants clés
MindSearch adopte une architecture multi-agents, composée de deux composants principaux : WebPlanner et WebSearcher.
WebPlanner (Planificateur Web)
- Agit comme un planificateur de haut niveau, coordonnant les étapes de raisonnement et plusieurs WebSearchers.
- Décompose les requêtes utilisateur complexes en sous-problèmes atomiques, représentés comme des nœuds dans le graphe.
- Étend progressivement le graphe en fonction des résultats de recherche de WebSearcher.
- Se concentre sur la décomposition et l'analyse des requêtes, sans être perturbé par des résultats de recherche trop longs.
WebSearcher (Chercheur Web)
- Exécute des recherches web granulaires et résume les informations précieuses au planificateur.
- Effectue une récupération d'informations hiérarchique, traitant chaque sous-problème.
- Comprend 4 étapes principales : réécriture de la requête, agrégation du contenu de recherche, sélection des pages détaillées et résumé final.
Flux de travail
- Décomposition de la requête : WebPlanner décompose les requêtes complexes en plusieurs sous-requêtes.
- Recherche parallèle : Plusieurs WebSearchers traitent en parallèle différentes sous-requêtes.
- Intégration des informations : WebPlanner collecte et intègre les résultats de chaque WebSearcher.
- Extension dynamique : Ajuste et étend dynamiquement le graphe de recherche en fonction des résultats de recherche.
Implémentation technique
Modèles pris en charge
- Modèles open source : InternLM2.5-7b-chat (spécialement optimisé)
- Modèles propriétaires : GPT-4, Claude, etc.
- Méthodes de déploiement : Prend en charge diverses méthodes de déploiement telles que le serveur local, le client et HuggingFace.
Moteurs de recherche pris en charge
- DuckDuckGo Search (aucune clé API requise)
- Bing Search
- Brave Search
- Google Serper
- Tencent Search
Interfaces front-end
- React : Interface web modernisée
- Gradio : Interface Python simple à utiliser
- Streamlit : Interface conviviale pour la science des données
- Terminal : Interface en ligne de commande
Installation et utilisation
Installation de base
git clone https://github.com/InternLM/MindSearch
cd MindSearch
pip install -r requirements.txt
Configuration de l'environnement
mv .env.example .env
# Modifiez le fichier .env pour ajouter les clés API et la configuration du modèle
Démarrage du service
python -m mindsearch.app --lang cn --model_format internlm_server --search_engine DuckDuckGoSearch --asy
Description des paramètres
--lang
: Langue du modèle,cn
pour le chinois,en
pour l'anglais--model_format
: Format du modèle, tel queinternlm_server
,gpt4
, etc.--search_engine
: Type de moteur de recherche--asy
: Déployer des agents asynchrones
Démarrage du front-end React
# Configurez l'URL du backend
HOST="127.0.0.1"
PORT=8002
sed -i -r "s/target:\s*\"\"/target: \"${HOST}:${PORT}\"/" frontend/React/vite.config.ts
# Installez les dépendances
cd frontend/React
npm install
npm start
Déploiement Docker
Le projet fournit l'outil MSDL (MindSearch Docker Launcher) pour simplifier le processus de déploiement Docker :
cd MindSearch/docker
# Exécutez l'outil de configuration interactif
Prend en charge deux modes de déploiement : modèles locaux et modèles cloud, avec prise en charge de l'accélération GPU.
Performances
Résultats des tests de référence
Comparaison des performances de ChatGPT-Web, Perplexity.ai (Pro) et MindSearch en termes de profondeur, d'étendue et de précision des réponses générées. Les résultats de l'évaluation sont basés sur 100 problèmes réels soigneusement conçus par des experts humains et notés par 5 experts.
Caractéristiques avantageuses
- Amélioration de l'efficacité : Traite plus de 300 pages web en 3 minutes, ce qui équivaut à 3 heures de travail pour un expert humain.
- Amélioration de la qualité : Amélioration significative de la qualité des réponses en termes de profondeur et d'étendue.
- Compétitivité : La qualité des réponses de MindSearch, basé sur InternLM2.5-7B, est supérieure à celle de ChatGPT-Web et Perplexity.ai.
Points forts du projet
Avantages de l'open source
- Entièrement open source : Tout le code est open source sous la licence Apache 2.0.
- Piloté par la communauté : Communauté GitHub active et mises à jour continues.
- Personnalisable : Prend en charge la configuration flexible de plusieurs modèles et moteurs de recherche.
Innovations techniques
- Collaboration multi-agents : Architecture innovante WebPlanner + WebSearcher.
- Construction de graphe dynamique : Méthode de construction de graphe simulant les processus cognitifs humains.
- Traitement parallèle : Récupération et intégration efficaces des informations en parallèle.
- Gestion du contexte : Mécanisme intelligent de gestion du contexte long.
Projets connexes
MindSearch est un composant clé de l'écosystème InternLM et fonctionne en synergie avec les projets suivants :
- Lagent : Cadre d'agents LLM léger
- AgentLego : Bibliothèque d'API d'outils multifonctionnels
- InternLM2.5 : Grand modèle de langage optimisé
- LMDeploy : Boîte à outils de déploiement de modèles
Résumé
MindSearch représente une avancée majeure dans le domaine des moteurs de recherche IA, réalisant une recherche et une intégration d'informations web efficaces et précises en simulant les processus cognitifs humains. Ses caractéristiques open source et ses excellentes performances en font un choix idéal pour la construction de moteurs de recherche IA personnalisés.