Ollama+LangGraph Assistant de génération de rapports de recherche universitaire déployé localement
Introduction générale
Ollama Deep Researcher est un assistant de recherche web et de génération de rapports développé par l'équipe LangChain. Il utilise un Large Language Model (LLM) arbitraire hébergé par Ollama pour permettre aux utilisateurs d'entrer un sujet de recherche, puis de générer automatiquement des requêtes de recherche sur le web, de rassembler des informations, de résumer le contenu et de générer des rapports Markdown avec les sources. L'ensemble du processus s'effectue sans qu'il soit nécessaire de disposer d'une connexion internet pour appeler un modèle externe, ce qui protège la vie privée et n'entraîne aucun coût supplémentaire. Il prend en charge DuckDuckGo, Tavily ou Perplexité et d'autres outils de recherche, l'utilisateur peut personnaliser le nombre de cycles de recherche, ce qui convient aux utilisateurs qui ont besoin de recherches approfondies et qui génèrent des rapports structurés. Facile à installer, open source et gratuit.

Liste des fonctions
- modèle linguistique opérationnel local (LOLM)LLM : Utiliser le LLM natif à travers Ollama sans API externe.
- Génération automatique de requêtes de rechercheLes résultats de l'analyse des données : Générer des termes de recherche précis sur le web en se basant sur les thèmes de l'utilisateur.
- Collecte d'informations sur le webRecherche d'informations : prend en charge les recherches DuckDuckGo (par défaut), Tavily ou Perplexity.
- Résumé et optimisation du contenuLes résultats de la recherche : Analyser les résultats de la recherche, identifier les lacunes et améliorer le résumé.
- Générer des rapports MarkdownLes résultats de l'évaluation sont les suivants : Rapport structuré avec toutes les citations de sources.
- Personnaliser la profondeur de la rechercheL'utilisateur peut définir le nombre de cycles et contrôler le niveau de détail de l'étude.
- Visualisation des flux de travail: à travers LangGraph Studio Visualiser chaque étape de l'opération.
- Prise en charge de plusieurs modèles: Compatible DeepSeek R1, Llama 3.2 et autres modèles.
Utiliser l'aide
Processus d'installation
Ollama Deep Researcher nécessite un environnement local. Vous trouverez ci-dessous les étapes détaillées pour les utilisateurs de Mac et de Windows.
Utilisateurs de Mac
- Installer Ollama
- Visitez le site web d'Ollama pour télécharger la version Mac de l'installateur.
- Après l'installation, lancez le terminal
ollama --version
Vérifier la version.
- modèle de traction
- Saisissez-le dans le terminal :
ollama pull deepseek-r1:8b
Télécharger les modèles recommandés. - Également disponible
ollama pull llama3.2
.
- Saisissez-le dans le terminal :
- projet de clonage
- Exécutez la commande suivante :
git clone https://github.com/langchain-ai/ollama-deep-researcher.git cd ollama-deep-researcher
- Exécutez la commande suivante :
- Créer un environnement virtuel (recommandé)
- Assurez-vous que Python 3.9+ est installé. Exécutez-le :
python -m venv .venv source .venv/bin/activate
- Assurez-vous que Python 3.9+ est installé. Exécutez-le :
- Installer les dépendances et démarrer
- Entrée :
curl -LsSf https://astral.sh/uv/install.sh | sh uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.11 langgraph dev
- Une fois lancé, le navigateur ouvre LangGraph Studio (par défaut).
http://127.0.0.1:2024
).
- Entrée :
Utilisateur Windows
- Installer Ollama
- Téléchargez la version Windows à partir du site web d'Ollama.
- Après l'installation, la ligne de commande s'exécute
ollama --version
Validation.
- modèle de traction
- Entrée :
ollama pull deepseek-r1:8b
.
- Entrée :
- projet de clonage
- La course à pied :
git clone https://github.com/langchain-ai/ollama-deep-researcher.git cd ollama-deep-researcher
- La course à pied :
- Créer un environnement virtuel
- Installez Python 3.11 (en cochant "Add to PATH") et exécutez-le :
python -m venv .venv .venv\Scripts\Activate.ps1
- Installez Python 3.11 (en cochant "Add to PATH") et exécutez-le :
- Installer les dépendances et démarrer
- Entrée :
pip install -e . pip install -U "langgraph-cli[inmem]" langgraph dev
- l'accès après le lancement
http://127.0.0.1:2024
.
- Entrée :
Outil de recherche de configuration (optionnel)
- DuckDuckGo est utilisé par défaut et aucune clé API n'est nécessaire.
- si Tavily ou Perplexité :
- faire une copie de
.env.example
en raison de.env
. - compilateur
.env
ajouter la clé :TAVILY_API_KEY=your_tavily_key PERPLEXITY_API_KEY=your_perplexity_key
- Configuration optionnelle :
OLLAMA_BASE_URL
(par défaut)http://localhost:11434
).MAX_WEB_RESEARCH_LOOPS
(par défaut 3).
- faire une copie de
Comment l'utiliser
- Ouvrir LangGraph Studio
- Après avoir démarré le service, accédez au
http://127.0.0.1:2024
. - L'interface est divisée en colonnes de gauche et de droite : la configuration à gauche, et les entrées et les résultats à droite.
- Après avoir démarré le service, accédez au
- Paramètres de configuration
- Outils de rechercheLes services d'aide à la décision : Choisissez entre DuckDuckGo, Tavily ou Perplexity.
- modélisationNom du modèle téléchargé : Saisir le nom du modèle téléchargé (par exemple, le nom d'une personne ou d'un groupe de personnes).
deepseek-r1:8b
). - Nombre de cycles: Définit la profondeur de l'étude, par défaut 3 fois.
- Sauvegarder la configuration.
- Entrer un thème
- Saisissez un sujet de recherche, tel que "L'avenir de l'apprentissage automatique", dans le champ de saisie situé à droite.
- Cliquez sur "Exécuter" pour lancer l'étude.
- Voir le processus et les résultats
- Studio affiche chaque étape : génération de requêtes, recherches, résumés, etc.
- Une fois terminé, le rapport Markdown est enregistré dans l'état graphique du dossier du projet.
Fonction en vedette Fonctionnement
- Adapter la profondeur de la recherche
- Changement de configuration
MAX_WEB_RESEARCH_LOOPS
Si le nombre de fois est fixé à 5, les résultats seront plus complets mais prendront plus de temps.
- Changement de configuration
- Outil de recherche
- DuckDuckGo Gratuit mais résultats limités, Tavily Plus détaillé (clé requise). Redémarrer le service après le changement.
- Vérification de la compatibilité des modèles
- Si une erreur est signalée (par ex.
KeyError: 'query'
), ce qui indique que le modèle ne prend pas en charge la sortie JSON. Le passage à DeepSeek R1 (8B) ou Llama 3.2.
- Si une erreur est signalée (par ex.
mise en garde
- exigences en matière de matérielLa mémoire nécessaire est de 8 Go pour le modèle 8B et de 16 Go pour le modèle 13B.
- Compatibilité avec les navigateursFirefox est recommandé, Safari peut présenter des avertissements de sécurité.
- détection des erreursSi vous êtes bloqué, vérifiez les journaux du terminal, il se peut que vous deviez mettre à jour des dépendances ou changer de modèle.
scénario d'application
- recherche universitaire
- Description de la scèneLes étudiants tapent "méthodes d'optimisation des réseaux neuronaux" et l'outil effectue une recherche et génère un rapport avec des citations, ce qui permet de gagner du temps dans la recherche d'informations.
- Analyse de l'industrie
- Description de la scèneAI Market Trends to 2025", un outil qui fournit un résumé détaillé pour aider à la prise de décision.
- Apprentissage technique
- Description de la scèneLes développeurs entrent "Python Asynchronous Programming" et l'outil génère un rapport de tutoriel pour faciliter l'auto-apprentissage.
QA
- Dois-je travailler en réseau ?
- Le modèle local ne nécessite pas de connexion internet, mais la recherche sur le web en requiert une. S'il est hors ligne, seules les données existantes peuvent être utilisées.
- Prend-il en charge le chinois ?
- Prise en charge. Saisissez des thèmes chinois, l'outil génère des résultats en chinois, mais l'effet varie en fonction de l'outil de recherche.
- Le rapport peut-il être modifié ?
- Les fichiers Markdown peuvent être édités directement.
- Que dois-je faire si j'obtiens une erreur JSON ?
- Cela signifie que le modèle ne prend pas en charge la sortie structurée. Réessayez avec DeepSeek R1 (8B) ou Llama 3.2.
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...