Zugang aus Übersee: www.kdjingpai.com
Ctrl + D Lesezeichen für diese Seite

SimpleDeepSearcher ist ein Open-Source-Framework, das entwickelt wurde, um die Fähigkeiten von Large Language Models (LLMs) für komplexe Information Retrieval Aufgaben zu verbessern. Es generiert qualitativ hochwertige Inferenz- und Suchspuren durch die Simulation von echtem Websuchverhalten und hilft dabei, Modelle effizient zu trainieren, ohne dass große Datenmengen benötigt werden. Im Vergleich zu traditionellen Retrieval Augmented Generation (RAG)- oder Reinforcement Learning (RL)-Methoden verwendet SimpleDeepSearcher eine kleine Menge ausgewählter Daten, um das Modell in die Lage zu versetzen, durch Wissensdestillation und Selbstdestillationstechniken selbständig komplexe Schlussfolgerungen und Suchaufgaben durchzuführen. Das Projekt wurde vom RUCAIBox-Team entwickelt und unter der MIT-Lizenz veröffentlicht. Es richtet sich an Forscher und Entwickler, die die Suchfunktionalität großer Sprachmodelle optimieren wollen. Die offizielle Dokumentation und der Code werden auf GitHub gehostet und wurden zuletzt im April 2025 aktualisiert.

SimpleDeepSearcher:通过网页搜索增强大语言模型的智能检索工具-1

 

Funktionsliste

  • Simulation der Websuche: simuliert das Suchverhalten realer Nutzer in einer offenen Webumgebung und generiert mehrere Runden von Inferenzen und Suchverläufen.
  • Datensynthese und ScreeningGenerierung hochwertiger Trainingsdaten durch Diversity Query Sampling und multidimensionales Response Filtering.
  • Effiziente Überwachung der FeinabstimmungÜberwachtes Fine-Tuning (SFT) kann mit einer kleinen Menge ausgewählter Daten durchgeführt werden, was die Rechenkosten reduziert.
  • Kompatibel mit mehreren ModellenUnterstützung des zugrundeliegenden großen Sprachmodells und Dialogmodells ohne zusätzliche Feinabstimmung der Kaltstartbefehle.
  • Offener Quellcode und DokumentationVollständiger Trainingscode, Inferenzcode und Modellprüfpunkte werden zur Erleichterung der Nutzung und Forschung für Entwickler bereitgestellt.

 

Hilfe verwenden

Einbauverfahren

SimpleDeepSearcher ist ein Python-basiertes Open-Source-Projekt, die Laufzeitumgebung erfordert Python 3.10 oder höher. Im Folgenden werden die Installationsschritte detailliert beschrieben:

  1. Projektlager klonen
    Klonen Sie das SimpleDeepSearcher-Repository lokal, indem Sie den folgenden Befehl in einem Terminal ausführen:

    git clone https://github.com/RUCAIBox/SimpleDeepSearcher.git
    cd SimpleDeepSearcher
    
  2. Erstellen einer virtuellen Umgebung
    Verwenden Sie conda, um eine virtuelle Umgebung zu erstellen und zu aktivieren und die Isolierung von Abhängigkeiten sicherzustellen:

    conda create --name simpledeepsearcher python=3.10
    conda activate simpledeepsearcher
    
  3. Installation von Abhängigkeiten
    Installieren Sie die Kernbibliotheken, die für das Projekt benötigt werden, wie z. B. vLLM, deepspeed und datasets. führen Sie den folgenden Befehl aus:

    pip install vllm==0.6.5
    pip install packaging ninja flash-attn --no-build-isolation
    pip install deepspeed accelerate datasets
    
  4. Konfigurieren der Such-API
    SimpleDeepSearcher verwendet die Google Search API für die Online-Suche. Der Benutzer muss den Abonnementschlüssel und die Endpunkt-URL für Google Search abrufen und beim Ausführen des Skripts konfigurieren. Beispiel:

    export GOOGLE_SUBSCRIPTION_KEY="YOUR_KEY"
    export GOOGLE_ENDPOINT="https://google.serper.dev/search"
    
  5. Vorbereiten des Modellpfads
    Der Benutzer muss die Pfade zum Inferenzmodell und zum Zusammenfassungsmodell angeben. Beispiel:

    export MODEL_PATH="/path/to/your/reasoning_model"
    export SUMMARIZATION_MODEL_PATH="/path/to/your/summarization_model"
    
  6. Ausführen von Inferenzskripten
    Nach Abschluss der Konfiguration führen Sie das Inferenzskript zum Testen oder zur Bereitstellung aus:

    export CUDA_VISIBLE_DEVICES=0,1
    python -u inference/inference.py \
    --dataset_name YOUR_DATASET_NAME \
    --cache_dir_base cache \
    --output_dir_base output \
    --model_path "$MODEL_PATH" \
    --summarization_model_path "$SUMMARIZATION_MODEL_PATH" \
    --summarization_model_url YOUR_SUMMARIZATION_MODEL_URL \
    --google_subscription_key "$GOOGLE_SUBSCRIPTION_KEY" \
    --google_endpoint "$GOOGLE_ENDPOINT" > output/output.log 2>&1
    

Hauptfunktionen

Die Kernfunktionalität von SimpleDeepSearcher ist die Verbesserung der Inferenz von großen Sprachmodellen durch Websuche. Im Folgenden wird detailliert beschrieben, wie die wichtigsten Funktionen funktionieren:

  1. Datensynthese und Erzeugung von Suchspuren
    SimpleDeepSearcher generiert mehrere Runden von Inferenz-Trajektorien, indem es das Suchverhalten der Benutzer in einer realen Web-Umgebung simuliert. Benutzer können konfigurieren data_synthesis Modul, wobei Suchbegriffe und Fragetypen angegeben werden. Das System entnimmt automatisch verschiedene Fragen aus offenen QA-Ressourcen und bezieht relevante Webinhalte über die Google-Such-API. Die generierten Daten, einschließlich der Fragen, Suchbegriffe, Webseitenergebnisse und Inferenzpfade, werden in der Datenbank cache Ordner.
    Betriebsverfahren:

    • Compiler data_synthesis_config.jsondie Parameter für die Stichprobenauswahl festlegen (z. B. Vielfalt der Bereiche, Komplexität der Schlüsselwörter).
    • in Bewegung sein python data_synthesis.py Erzeugen Sie erste Daten.
    • Sonde cache/synthesis_data Katalog, um eine vollständige Datengenerierung zu gewährleisten.
  2. Datenfilterung und -optimierung
    Das Projekt bietet ein mehrdimensionales Antwortscreening, um die Qualität der Trainingsdaten sicherzustellen. Die Benutzer können die response_curation.py Skripte, die Daten auf der Grundlage von Kriterien wie Problemschwierigkeit, Länge des Inferenzpfads und Sucheffizienz filtern.
    Betriebsverfahren:

    • Führen Sie den folgenden Befehl aus, um das Screening zu starten:
      python response_curation.py --input_dir cache/synthesis_data --output_dir cache/curated_data
      
    • Die gefilterten Daten werden in der Datei cache/curated_data bei dem nur qualitativ hochwertige Trainingsmuster zurückbehalten werden.
  3. Modellüberwachte Feinabstimmung
    SimpleDeepSearcher verwendet überwachte Feinabstimmung (SFT) zur Optimierung großer Sprachmodelle. Die Benutzer müssen ein Basismodell (z. B. QWEN2.5-32B) erstellen und die gefilterten Daten für die Feinabstimmung verwenden.
    Betriebsverfahren:

    • konfigurieren. sft_config.jsonspezifizieren Sie den Modellpfad und die Trainingsparameter (z. B. Lernrate, Stapelgröße).
    • Führen Sie den folgenden Befehl aus, um die Feinabstimmung zu starten:
      python sft_train.py --config sft_config.json
      
    • Nach Abschluss des Trainings werden die Modellprüfpunkte in der Datei output/checkpoints Katalog.
  4. Begründungen und Tests
    Benutzer können die Such- und Schlussfolgerungsfähigkeiten des Modells mit Hilfe von Schlussfolgerungsskripten testen. Die Inferenzergebnisse werden in der output/results Katalog, einschließlich der generierten Antworten und Schlussfolgerungspfade.
    Betriebsverfahren:

    • Konfigurieren Sie die Inferenzparameter (z. B. Name des Datensatzes, Ausgabeverzeichnis).
    • Führen Sie das Inferenzskript aus (siehe die Befehle im Installationsprozess).
    • auschecken output/output.log Überprüfen Sie die Ergebnisse der Argumentation.

Featured Function Bedienung

  • Diversitätsabfrage SamplingSimpleDeepSearcher verwendet eine Diversity-Query-Sampling-Strategie, um Probleme auf der Grundlage von Domänenheterogenität, Schlüsselwortvielfalt und Komplexität der Wissenseinheiten auszuwählen. Benutzer können eine Liste von Fragen in der query_sampling_config.json Die Stichprobenparameter werden angepasst, um sicherzustellen, dass die generierten Fragen ein breites Spektrum an Bereichen und Schwierigkeitsgraden abdecken.
  • Wissensdestillation und SelbstdestillationDas Projekt generiert hochwertige Trainingsdaten unter Verwendung leistungsstarker Inferenzmodelle durch Wissensdestillationstechniken. Die Benutzer können ein leistungsfähiges, vortrainiertes Modell (z. B. LLaMA oder GPT-Familie) als Lehrermodell festlegen und die distillation.py Skript für die Datengenerierung.
  • Websuche in EchtzeitSimpleDeepSearcher unterstützt die Websuche in Echtzeit, kombiniert mit der Google-Such-API, um die neuesten Informationen dynamisch zu erhalten. Benutzer müssen sicherstellen, dass der API-Schlüssel gültig ist und überprüfen Sie die Netzwerkverbindung.

caveat

  • Sicherstellung einer stabilen Netzwerkumgebung zur Unterstützung von Echtzeit-Websuchen.
  • Überprüfen Sie den Modellpfad und die API-Schlüsselkonfiguration, um Laufzeitfehler zu vermeiden.
  • Die Versionen der Abhängigkeitsbibliotheken werden regelmäßig aktualisiert, um die Kompatibilität zu gewährleisten.
  • Der Projektcode und die Dokumentation unterliegen der MIT-Lizenz, und die Benutzer sind verpflichtet, die Quelle zu zitieren (z. B. Dissertation). @article{sun2025simpledeepsearcher}).

 

Anwendungsszenario

  1. akademische Forschung
    SimpleDeepSearcher hilft Forschern, die Leistung von großen Sprachmodellen bei der Informationsbeschaffung zu optimieren. Zum Beispiel kann das Modell bei der Suche nach Dokumenten oder der Datenanalyse schnell auf relevante Literatur oder Datensätze zugreifen und so die Effizienz der Forschung verbessern.
  2. Q&A Systementwicklung
    Entwickler können SimpleDeepSearcher verwenden, um intelligente Q&A-Systeme zu erstellen. Das System simuliert das Suchverhalten der Nutzer und generiert präzise Antworten, wodurch es sich für Kundenservice-Bots oder Bildungsplattformen eignet.
  3. Komplexes Problemdenken
    Bei Problemen, die eine mehrstufige Argumentation erfordern (z. B. Mathematik- oder Logikprobleme), hilft SimpleDeepSearcher den Modellen, genauere Antworten zu geben, indem es Argumentationsverläufe generiert, die sich für Online-Bildungs- oder Wettbewerbsplattformen eignen.

 

QA

  1. Welche Voraussetzungen benötigt der SimpleDeepSearcher?
    Die Benutzer benötigen eine Python 3.10+ Umgebung, einen Google-Such-API-Schlüssel und ein vortrainiertes großes Sprachmodell. Stellen Sie sicher, dass Sie alle abhängigen Bibliotheken installieren und den richtigen Pfad zum Modell konfigurieren.
  2. Wie stellen Sie die Qualität der erzeugten Daten sicher?
    Das Projekt bietet eine mehrdimensionale Antwortfilterung, und die Benutzer können die Filterparameter (z. B. Schwierigkeitsgrad der Frage, Länge des Inferenzpfads) anpassen, um qualitativ hochwertige Daten zu erhalten.
  3. Werden andere Such-APIs unterstützt?
    Die aktuelle Version unterstützt hauptsächlich die Google-Such-API. Benutzer können den Code ändern, um ihn an andere Suchdienste anzupassen, müssen aber die API-Aufruflogik anpassen.
  4. Wie lange dauert die Ausbildung?
    Die Trainingszeit hängt von der Modellgröße und der Datenmenge ab. Die Feinabstimmung eines QWEN2.5-32B-Modells mit 871 hochwertigen Proben dauert in der Regel mehrere Stunden (GPU-Umgebung).
0Lesezeichen
0Gelobt

Empfohlen

Sie können keine AI-Tools finden? Versuchen Sie es hier!

Geben Sie einfach das Schlüsselwort Barrierefreiheit Bing-SucheDer Bereich KI-Tools auf dieser Website bietet eine schnelle und einfache Möglichkeit, alle KI-Tools auf dieser Website zu finden.

Posteingang

Kontakt

zurück zum Anfang

de_DEDeutsch