GPT Researcher Projekt – Detaillierte Vorstellung
Projektübersicht
GPT Researcher ist ein Open-Source-Deep-Research-Agent, der speziell für die Durchführung von Web- und lokalen Recherchen zu jeder gegebenen Aufgabe entwickelt wurde. Das Projekt zielt darauf ab, detaillierte, objektive und unvoreingenommene Forschungsberichte mit vollständigen Quellenangaben zu erstellen. Es bietet eine umfassende Palette an Anpassungsoptionen, um maßgeschneiderte und domänenspezifische Forschungsagenten zu erstellen.
Kernfunktionen
Hauptfunktionen
- 📝 Erstellung detaillierter Forschungsberichte unter Verwendung von Web- und lokalen Dokumenten
- 🖼️ Intelligente Bildaufnahme- und Filterfunktionen
- 📜 Erstellung detaillierter Berichte mit über 2000 Wörtern
- 🌐 Aggregation von über 20 Informationsquellen, um zu objektiven Schlussfolgerungen zu gelangen
- 🖥️ Bereitstellung von schlanken (HTML/CSS/JS) und produktionsreifen (NextJS + Tailwind) Frontend-Versionen
- 🔍 Unterstützung von JavaScript-Web-Scraping
- 📂 Beibehaltung von Gedächtnis und Kontext während des gesamten Forschungsprozesses
- 📄 Unterstützung des Exports von Berichten in Formaten wie PDF, Word usw.
Deep Research – Tiefenrecherche
GPT Researcher beinhaltet jetzt Deep Research – einen fortschrittlichen, rekursiven Forschungs-Workflow, der es ermöglicht, Themen mit agentenbasierter Tiefe und Breite zu erkunden. Diese Funktion verwendet ein baumartiges Erkundungsmuster, um Unterthemen zu vertiefen und gleichzeitig einen umfassenden Überblick über das Forschungsthema zu behalten.
Deep Research-Funktionen:
- 🌳 Konfigurierbare Tiefe und Breite der baumartigen Erkundung
- ⚡️ Parallele Verarbeitung für schnellere Ergebnisse
- 🤝 Intelligentes Kontextmanagement über Forschungszweige hinweg
- ⏱️ Ungefähr 5 Minuten pro Tiefenrecherche
- 💰 Ungefähr 0,4 USD Kosten pro Recherche (bei Verwendung von o3-mini mit "hohem" Inferenzaufwand)
Technische Architektur
Kernidee
Die Kernidee des Projekts ist die Nutzung von "Planer"- und "Ausführer"-Agenten. Der Planer generiert Forschungsfragen, während der Ausführer-Agent relevante Informationen sammelt. Der Veröffentlicher aggregiert dann alle Erkenntnisse zu einem umfassenden Bericht.
Arbeitsablauf
- Erstellung eines aufgabenspezifischen Agenten basierend auf der Forschungsanfrage
- Generierung einer Sammlung von Fragen, die eine objektive Sicht auf die Aufgabe ermöglichen
- Sammlung von Informationen für jede Frage mithilfe von Web-Crawler-Agenten
- Zusammenfassung jeder Ressource und Verfolgung der Quellen
- Filterung und Aggregation von Zusammenfassungen zu einem endgültigen Forschungsbericht
Gelöste Probleme
GPT Researcher zielt darauf ab, die folgenden Forschungsherausforderungen zu lösen:
- Zeitaufwand: Manuelle Recherche zur Erzielung objektiver Schlussfolgerungen kann Wochen dauern und erfordert erhebliche Ressourcen
- Informationen veraltet: Auf der Grundlage veralteter Informationen trainierte LLMs können Halluzinationen erzeugen, die für die aktuelle Forschungsaufgabe irrelevant sind
- Token-Limit: Das aktuelle Token-Limit von LLMs reicht nicht aus, um lange Forschungsberichte zu erstellen
- Begrenzte Informationsquellen: Begrenzte Webquellen in bestehenden Diensten führen zu Fehlinformationen und oberflächlichen Ergebnissen
- Bias-Probleme: Selektive Webquellen können Bias in die Forschungsaufgabe einführen
Installation und Verwendung
Schnellstart
Umgebungsanforderungen:
- Installation von Python 3.11 oder höher
Schritte:
- Klonen des Projekts und Navigation zum Verzeichnis:
git clone https://github.com/assafelovic/gpt-researcher.git
cd gpt-researcher
- Festlegen der API-Schlüssel:
export OPENAI_API_KEY={Your OpenAI API Key here}
export TAVILY_API_KEY={Your Tavily API Key here}
- Installation der Abhängigkeiten und Starten des Servers:
pip install -r requirements.txt
python -m uvicorn main:app --reload
- Zugriff auf http://localhost:8000, um loszulegen
PIP-Paketinstallation
pip install gpt-researcher
Codebeispiel:
from gpt_researcher import GPTResearcher
query = "why is Nvidia stock going up?"
researcher = GPTResearcher(query=query, report_type="research_report")
# Durchführung von Recherchen zu einer gegebenen Anfrage
research_result = await researcher.conduct_research()
# Verfassen eines Berichts
report = await researcher.write_report()
Docker-Bereitstellung
- Installation von Docker
- Klonen der Datei '.env.example', Hinzufügen der API-Schlüssel und Speichern als '.env'
- Auskommentieren der Dienste in der docker-compose-Datei, die nicht ausgeführt werden sollen
- Ausführen:
docker-compose up --build
Standardmäßig werden zwei Prozesse gestartet:
- Python-Server läuft auf localhost:8000
- React-Anwendung läuft auf localhost:3000
Lokale Dokumentenrecherche
GPT Researcher unterstützt Forschungsaufgaben auf der Grundlage lokaler Dokumente. Derzeit werden die folgenden Dateiformate unterstützt: PDF, reiner Text, CSV, Excel, Markdown, PowerPoint und Word-Dokumente.
Einrichtungsschritte:
- Hinzufügen der Umgebungsvariable
DOC_PATH
, die auf den Ordner mit den Dokumenten verweist:
export DOC_PATH="./my-docs"
- Auswahl von "Meine Dokumente" im Dropdown-Menü "Berichtsquelle" in der Frontend-Anwendung oder Festlegen des Parameters
report_source
auf "local" bei Verwendung des PIP-Pakets.
Multi-Agenten-System
Da sich KI von Prompt-Engineering und RAG zu Multi-Agenten-Systemen entwickelt, führt GPT Researcher einen neuen Multi-Agenten-Assistenten ein, der auf LangGraph basiert.
Durch die Verwendung von LangGraph kann der Forschungsprozess durch die Nutzung mehrerer Agenten mit Fachkenntnissen die Tiefe und Qualität deutlich verbessern. Inspiriert von der jüngsten STORM-Veröffentlichung zeigt dieses Projekt, wie ein Team von KI-Agenten zusammenarbeiten kann, um ein gegebenes Thema zu recherchieren, von der Planung bis zur Veröffentlichung.
Die durchschnittliche Laufzeit generiert 5-6-seitige Forschungsberichte, die verschiedene Formate wie PDF, Docx und Markdown unterstützen.
Frontend-Oberfläche
GPT Researcher verfügt jetzt über eine verbesserte Frontend-Oberfläche, um die Benutzererfahrung zu verbessern und den Forschungsprozess zu vereinfachen. Das Frontend bietet:
- Eine intuitive Oberfläche zur Eingabe von Forschungsanfragen
- Echtzeit-Fortschrittsverfolgung von Forschungsaufgaben
- Interaktive Anzeige von Forschungsergebnissen
- Anpassbare Einstellungen für ein maßgeschneidertes Forschungserlebnis
Es werden zwei Bereitstellungsoptionen angeboten:
- Ein schlankes, statisches Frontend, das von FastAPI bereitgestellt wird
- Eine funktionsreiche NextJS-Anwendung mit erweiterten Funktionen
Technische Merkmale
Bias-Kontrolle
- Reduzierung von Fehlern und voreingenommenen Fakten durch das Crawlen mehrerer Websites
- Reduzierung der Wahrscheinlichkeit, dass alle Informationen falsch sind, durch die Auswahl der häufigsten Informationen
- Nicht die Beseitigung von Bias als Ziel, sondern die Reduzierung von Bias so weit wie möglich
- Crawlen verschiedener Standpunkte, gleichmäßige Interpretation verschiedener Standpunkte
Leistungsoptimierung
- Bereitstellung stabiler Leistung und Erhöhung der Geschwindigkeit durch Parallelisierung der Agentenarbeit
- Asynchrone Verarbeitung verbessert die Effizienz im Vergleich zu synchronen Operationen
- Intelligentes Kontextmanagement gewährleistet die Kohärenz der Forschung
Haftungsausschluss
GPT Researcher ist eine experimentelle Anwendung, die "wie besehen" ohne jegliche ausdrückliche oder stillschweigende Gewährleistung bereitgestellt wird. Der Code wird unter der Apache 2-Lizenz für akademische Zwecke freigegeben. Der Inhalt hier ist keine akademische Beratung und wird nicht für die Verwendung in akademischen oder Forschungsarbeiten empfohlen.
