Allgemeine Einführung
Shandu ist ein quelloffenes KI-basiertes Forschungssystem, das auf GitHub gehostet und vom Entwickler jolovicdev erstellt wurde. Es nutzt LangChain und LangGraph Technologie, die den Nutzern automatisierte, umfassende und effiziente Möglichkeiten der Themenrecherche bieten soll. Im Gegensatz zu herkömmlichen Einzelsuchwerkzeugen ist Shandu in der Lage, durch rekursive Erkundung und parallele Verarbeitung tiefer in die Informationen einzudringen, und unterstützt Befehlszeilen- (CLI) und Python-Schnittstellenoperationen. Ob für die akademische Forschung, die Entdeckung von Technologien oder die Marktanalyse, Shandu kann zur schnellen Organisation komplexer Daten verwendet werden und verfügt über integrierte Web-Crawling-Funktionen, die einen ethischen Zugang zu einer Vielzahl von Quellen gewährleisten. Das Projekt dient als Alternative zu OpenAI DeepResearch, wobei der Schwerpunkt darauf liegt, dass es leichtgewichtig, kostenlos und lokal für Entwickler und Forscher betrieben wird.
Funktionsliste
- Eingehende Studie zur AutomatisierungAuf der Grundlage der vom Benutzer eingegebenen Abfragen führt das System automatisch eine mehrstufige Informationsgewinnung durch, um umfassende Forschungsberichte zu erstellen.
- Rekursive ErkundungSchrittweise Erweiterung der Studie durch iterative Suche und Analyse, um versteckte Korrelationsinformationen aufzudecken.
- ParallelverarbeitungUnterstützt Multithreading-Operationen, um Daten aus mehreren Quellen gleichzeitig abzurufen und so die Effizienz zu steigern.
- Web-CrawlerEingebauter Crawler, der Seiteninhalte extrahiert und dynamisch gerenderte JavaScript-lastige Websites unterstützt.
- Multi-Engine-SucheIntegration von Google, DuckDuckGo und anderen Suchmaschinen, um verschiedene Ergebnisse zu erhalten.
- KI-gestützte SucheBietet eine leichtgewichtige KI-Suchfunktion (aisearch) zur schnellen Beantwortung einfacher Fragen.
- Erstellung von BerichtenOrganisation von Forschungsergebnissen in Dateien im Markdown-Format zum einfachen Lesen und Teilen.
- Flexible KonfigurationUnterstützung für die Anpassung der Suchtiefe, des Umfangs und der Anzahl der Ergebnisse an unterschiedliche Bedürfnisse.
Hilfe verwenden
Ablauf der Installation
Shandu ist ein auf Python basierendes Open-Source-Projekt, das in der lokalen Umgebung installiert und konfiguriert werden muss, um verwendet werden zu können. Hier sind die detaillierten Installationsschritte:
- Vorbereitung der Umwelt
- Stellen Sie sicher, dass Sie Python 3.8 oder höher auf Ihrem Gerät installiert haben. Dies können Sie mit dem Befehl
python --version
Überprüfen Sie die Version. - Installieren Sie das Git-Tool zum Klonen von Projektcode von GitHub, das für Windows-Benutzer von der Git-Website heruntergeladen oder für Linux/Mac-Benutzer über den Paketmanager installiert werden kann (z. B.
sudo apt install git
).
- Stellen Sie sicher, dass Sie Python 3.8 oder höher auf Ihrem Gerät installiert haben. Dies können Sie mit dem Befehl
- Klonprojekt
- Öffnen Sie ein Terminal (CMD oder PowerShell für Windows, Terminal für Mac/Linux).
- Geben Sie den folgenden Befehl ein, um das Shandu-Repository zu klonen:
git clone https://github.com/jolovicdev/shandu.git
- Rufen Sie den Projektkatalog auf:
cd shandu
- Installation von Abhängigkeiten
- Verwenden Sie pip, um die für das Projekt erforderlichen Python-Bibliotheken zu installieren:
pip install -e .
- Wenn Sie Probleme mit den Abhängigkeiten haben, versuchen Sie, pip zu aktualisieren (
pip install --upgrade pip
) oder eine virtuelle Umgebung verwenden:python -m venv venv Quelle venv/bin/aktivieren # Linux/Mac venv\Scripts\aktivieren # Windows pip install -e .
- Verwenden Sie pip, um die für das Projekt erforderlichen Python-Bibliotheken zu installieren:
- Konfigurieren der API
- Shandu muss einen API-Schlüssel konfigurieren, um externe Dienste (z. B. eine Suchmaschine) aufrufen zu können. Führen Sie den folgenden Befehl aus, um in den Konfigurationsmodus zu gelangen:
shandu konfigurieren
- Geben Sie den API-Schlüssel (z. B. Google API, DuckDuckGo API) ein, wenn Sie dazu aufgefordert werden. Entwickler können sich auf dieNebius-StudioErhalten Sie einen kostenlosen Schlüssel zum Testen.
- Shandu muss einen API-Schlüssel konfigurieren, um externe Dienste (z. B. eine Suchmaschine) aufrufen zu können. Führen Sie den folgenden Befehl aus, um in den Konfigurationsmodus zu gelangen:
- Überprüfen der Installation
- Einfuhr
shandu --help
Wenn die Befehlshilfemeldung zurückgegeben wird, war die Installation erfolgreich.
- Einfuhr
Funktion Betriebsablauf
1. eine eingehende Studie durchführen (Forschungsauftrag)
Dies ist die Kernfunktion von Shandu für die Automatisierung von Recherchen zu komplexen Themen.
- Verfahren::
- Geben Sie z. B. den Befehl research in das Terminal ein:
shandu research "Trends im Cloud Computing" ---Tiefe 2 --Breite 4 ---Ausgabe report.md
--tiefe 2
Tiefe der Untersuchung auf 2 Ebenen einstellen (2 rekursive Erkundungen).---Breite 4
Erweitern Sie 4 verwandte Themen pro Erkundung.--Ausgabe report.md
: Speichern Sie das Ergebnis als Markdown-Datei.
- Das System leitet automatisch eine Suche und Analyse ein, die einige Minuten dauern kann (je nach Netzwerk und Komplexität des Themas).
3. wenn Sie fertig sind, öffnen Sie diebericht.md
Sehen Sie sich den Forschungsbericht an, der einen Überblick über das Thema, die wichtigsten Ergebnisse und weiterführende Links enthält.
- Geben Sie z. B. den Befehl research in das Terminal ein:
- Verwendungsszenarien:: Geeignet für akademische Forschung oder technische Studien, die umfassende Informationen erfordern, wie z. B. "AI in Healthcare".
2. schnelle KI-Suche (Befehl aisearch)
Verwenden Sie diese Funktion, um einfache Fragen zu beantworten oder sofortige Antworten zu erhalten.
- Verfahren::
- Geben Sie einen Schnellsuchbefehl ein, zum Beispiel:
shandu aisearch "Wer ist der aktuelle Präsident der Vereinigten Staaten?" -ausführlich
-ausführlich
Ausführliche Antworten anstelle von Kurzantworten.
- Das System ruft das KI-Modell auf, um Ergebnisse wie "Ab dem 3. März 2025 ist der Präsident der Vereinigten Staaten Donald Trump, der seine zweite Amtszeit am 20. Januar 2025 antritt" zu liefern.
- Geben Sie einen Schnellsuchbefehl ein, zum Beispiel:
- VerwendungsszenarienIdeal für den schnellen Zugriff auf Fakten, wie historische Ereignisse, Informationen über Personen usw.
3. das Scrapen von Webseiten (Befehl scrape)
Dient zum Extrahieren von Inhalten aus einer bestimmten Webseite.
- Verfahren::
- Geben Sie z. B. den Befehl capture ein:
shandu scrape "https://example.com" --dynamisch
-dynamisch
Dynamisches Rendering für JavaScript-gesteuerte Websites aktivieren.
- Das System gibt den extrahierten Textinhalt zurück, der über eine Pipe in einer Datei gespeichert werden kann:
shandu scrape "https://example.com" --dynamic > output.txt
- Geben Sie z. B. den Befehl capture ein:
- VerwendungsszenarienAnalyse des Inhalts von Nachrichtenseiten, technischen Blogs oder offiziellen Produktwebseiten.
4. die Suchmaschine konfigurieren
Die Benutzer können die Suchquellen anpassen, um die Ergebnisse zu optimieren.
- Verfahren::
- Geben Sie den Befehl ein, um eine Suchmaschine anzugeben:
shandu search "künstliche intelligenz ethik" --engines "google,duckduckgo" --max-results 15
---Motoren
Google- und DuckDuckGo-Suche angeben.--max-ergebnisse 15
: Begrenzen Sie die Anzahl der zurückgegebenen Ergebnisse auf 15.
- Zeigen Sie eine Liste der zurückgegebenen Suchergebnisse an, die für spätere vertiefte Recherchen verwendet werden können.
- Geben Sie den Befehl ein, um eine Suchmaschine anzugeben:
- VerwendungsszenarienZugang zu verschiedenen Informationsquellen und Vermeidung von Einseitigkeit.
caveat
- NetzanforderungShandu ist auf eine Internetverbindung angewiesen, um ein stabiles Netzwerk zur Laufzeit zu gewährleisten.
- Einhaltung ethischer GrundsätzeBefolgen Sie beim Crawlen von Webseiten die robots.txt-Regeln der Zielseite, um zu vermeiden, dass häufige Anfragen zu einer IP-Sperre führen.
- LeistungsoptimierungKomplexe Studien können mehr Speicherplatz beanspruchen und sollten daher auf Geräten mit einer höheren Konfiguration (z. B. 8 GB+ RAM) ausgeführt werden.
- Debugging-ProblemeWenn ein Fehler auftritt, können Sie das Protokoll einsehen (standardmäßig gespeichert als
shandu.log
) oder reichen Sie ein Issue bei GitHub ein.