Allgemeine Einführung
DeepResearcher ist ein Open-Source-Projekt, das vom GAIR-NLP-Team an der Shanghai Jiao Tong University entwickelt wurde. Es ist ein intelligentes Forschungswerkzeug, das auf Large Language Models (LLMs) basiert, die durchgängig in einer realen Netzwerkumgebung mittels Reinforcement Learning (RL) trainiert werden. Das Projekt zielt darauf ab, die Benutzer bei der effizienten Erledigung komplexer Forschungsaufgaben zu unterstützen. DeepResearcher unterstützt 7B parametrische Modelle und wurde auf Hugging Face als Open Source zur Verfügung gestellt. Der Code ist über GitHub verfügbar und eignet sich für Forscher, Studenten und Technikbegeisterte.
Funktionsliste
- Forschung zur AutomatisierungWenn eine Frage eingegeben wird, wird das Internet automatisch durchsucht und relevante Informationen werden zusammengestellt.
- Quellenübergreifende AuthentifizierungPrüfen Sie Daten aus verschiedenen Quellen (z. B. Google, Bing), um zuverlässige Ergebnisse sicherzustellen.
- Selbstreflektierende AnpassungenSelbsteinschätzung auf der Grundlage der Suchergebnisse und Neuausrichtung der Recherche zur Verbesserung der Genauigkeit.
- Entwicklung eines ForschungsprogrammsAutomatisches Generieren von Rechercheschritten bei komplexen Problemen.
- Seien Sie ehrlich.Beschränkungen werden direkt angegeben, wenn keine eindeutige Antwort gefunden werden kann.
- Unterstützung von Open-Source-ModellenEin parametrisches 7B-Modell wird bereitgestellt und kann vom Benutzer heruntergeladen und angepasst werden.
Hilfe verwenden
Die Installation und Verwendung von DeepResearcher erfordert ein gewisses Maß an technischem Wissen, aber die offizielle Dokumentation bietet klare Richtlinien. Nachfolgend finden Sie detaillierte Schritte, die den Benutzern einen schnellen Einstieg ermöglichen.
Einbauverfahren
- Code-Repository klonen
Führen Sie den folgenden Befehl im Terminal aus, um das Projekt lokal herunterzuladen:
git clone https://github.com/GAIR-NLP/DeepResearcher.git
Rufen Sie den Projektkatalog auf:
cd DeepResearcher
- Erstellen einer virtuellen Umgebung
Verwenden Sie conda, um eine separate Python-Umgebung zu erstellen und Abhängigkeitskonflikte zu vermeiden:
conda create -n deepresearcher python=3.10
Aktivieren Sie die Umwelt:
conda activate deepresearcher
- Installation von Kernabhängigkeiten
Installieren Sie PyTorch und andere notwendige Bibliotheken, indem Sie die folgenden Befehle nacheinander im Hauptverzeichnis des Projekts ausführen:
pip3 install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu124
pip3 install flash-attn --no-build-isolation
cd verl
pip3 install -e .
cd ../
pip3 install -r requirements.txt
Diese Schritte stellen sicher, dass die für die Ausführung des Modells erforderliche Basisumgebung vorhanden ist.
- Überprüfen der Installation
Geben Sie den folgenden Befehl ein, um zu überprüfen, ob PyTorch richtig installiert ist:
python -c "import torch; print(torch.__version__)"
Wenn die Versionsnummer angezeigt wird (z. B. 2.4.0), war die Installation erfolgreich.
Konfiguration und Inbetriebnahme
DeepResearcher verwendet das Ray-Framework für Training und Inferenz und erfordert auch die Konfiguration des Suchdienstes. So geht's.
Starten des Ray-Dienstes
- Einstellung der Knotenrangfolge
Geben Sie den folgenden Befehl in das Terminal ein, um die Knotennummer festzulegen (dies ist auch erforderlich, wenn es nur einen Rechner gibt):
export PET_NODE_RANK=0
ray start --head
- Suchdienste konfigurieren
- zeigen (eine Eintrittskarte)
./scrl/handler/config.yaml
Wenn Sie den API-Schlüssel für die Suche ändern möchten, können Sie dies tun, indem Sie auf die Schaltfläche "API-Schlüssel für die Suche" klicken:- Verwendung der Serper API: Füllen Sie die
serper_api_key
. - Azure Bing verwenden: ausfüllen
azure_bing_search_subscription_key
und einrichtensearch_engine
für Bing.
- Verwendung der Serper API: Füllen Sie die
- Compiler
./scrl/handler/server_handler.py
Wenn Sie einen Qwen-Plus API Schlüssel hinzufügen möchten, fügen Sie den Qwen-Plus API Schlüssel hinzu:client = OpenAI( api_key="sk-xxx", base_url="xxxx" )
- Starten des Service-Prozessors
Läuft im Terminal:
python ./scrl/handler/server_handler.py
Nachdem der Dienst gestartet wurde, notieren Sie die Adresse des Dienstes und aktualisieren die ./scrl/handler/config.yaml
den Nagel auf den Kopf treffen server_url_list
.
- Betrieb des Hauptprozessors
Läuft auf dem Schulungsrechner:
python ./scrl/handler/handler.py
Ausbildungsmodelle
- Ausführung von Schulungsskripten
Führen Sie es im Stammverzeichnis des Projekts aus:
bash train_grpo.sh
Der Trainingsprozess optimiert das Modell auf der Grundlage von Reinforcement Learning und erfordert Geduld.
Verwendung und Begründung
- Generierung von Forschungsergebnissen
Führen Sie das Auswertungsskript aus:
bash evaluate.sh
Die Ausgabedatei wird im Verzeichnis ./outputs/{project_name}/{experiment_name}/rollout/rollout_step_0.json
.
- Ergebnisse anzeigen
Benennen Sie die Ausgabedatei um in{experiment_name}_result.json
Umzug nach./evaluate/
und führen Sie es aus:
python ./evaluate/cacluate_metrics.py {experiment_name}
Der Spielstand wird in der Datei ./evaluate/{experiment_name}_score.json
.
Featured Function Bedienung
- Automatisierte Recherche und quellenübergreifende Validierung
Nachdem der Nutzer eine Frage eingegeben hat, sammelt DeepResearcher Daten von konfigurierten Suchmaschinen (z.B. Google, Bing) und führt eine Kreuzvalidierung der Ergebnisse durch. Log-Dateien./outputs/research_log.txt
Der Validierungsprozess wird dokumentiert. - Selbstreflektierende Anpassungen
Wenn die ersten Ergebnisse nicht zufriedenstellend sind, passt das System automatisch die Schlüsselwörter oder die Suchstrategie an. Wenn Sie z. B. "KI im Gesundheitswesen" eingeben, wird daraus "Neueste KI-Technologie in der Medizin", und die Ergebnisse sind genauer. - Seien Sie ehrlich.
Wenn es keine eindeutige Antwort auf eine Frage gibt, wird statt einer Vermutung etwas wie "Es gibt nicht genügend Informationen, um eine eindeutige Schlussfolgerung zu ziehen" zurückgegeben.
caveat
- Vergewissern Sie sich, dass Ihre Internetverbindung stabil ist und dass die Suchfunktion auf Echtzeitdaten basiert.
- Training und Inferenz erfordern hohe Rechenressourcen, weshalb GPUs empfohlen werden.
- Das Projekt befindet sich noch in der Entwicklung, daher empfehlen wir, die Updates auf GitHub zu verfolgen.
Mit diesen Schritten können Benutzer DeepResearcher einfach installieren und verwenden, um seine intelligenten Forschungsfähigkeiten zu erleben.
Anwendungsszenario
- akademische Forschung
Forscher können damit nach Papiermaterial suchen, Quellen verifizieren und erste Entwürfe von Forschungsberichten erstellen. - Studentisches Lernen
Die Schüler können damit ihr Wissen über den Kurs organisieren und Aufgaben oder Projektrecherchen schnell erledigen. - Technologieentwicklung
Entwickler können sich hier über Technologietrends informieren und erhalten aktuelle Brancheninformationen und Lösungen.
QA
- Unterstützt DeepResearcher Chinesisch?
Unterstützung. Die Benutzer können Fragen auf Chinesisch eingeben, und das System sucht vorrangig nach chinesischen Ressourcen und kann auch englische Daten verarbeiten. - Brauchen Sie eine GPU?
Nicht zwingend, aber die GPU kann Training und Inferenz beschleunigen. Die CPU kann es auch, nur langsamer. - Wie erhalte ich die neueste Version?
Im Projektverzeichnis ausführengit pull
und installieren Sie dann die zu aktualisierenden Abhängigkeiten neu.