Zum Inhalt springen

DRIFT Search 🔎

GraphRAG ist eine Technik, die große Sprachmodelle (LLMs) verwendet, um Wissensgraphen und Zusammenfassungen aus unstrukturierten Textdokumenten zu erstellen und diese zu nutzen, um Retrieval-Augmented Generation (RAG)-Operationen auf privaten Datensätzen zu verbessern. Es bietet umfassende globale Übersichten über große, private Archive unstrukturierter Textdokumente und ermöglicht gleichzeitig die Erkundung detaillierter, lokalisierter Informationen. Durch die Verwendung von LLMs zur Erstellung umfassender Wissensgraphen, die Entitäten und Beziehungen in diesen Dokumenten verbinden und beschreiben, nutzt GraphRAG die semantische Strukturierung der Daten, um Antworten auf eine breite Palette komplexer Benutzeranfragen zu generieren.

DRIFT Search (Dynamic Reasoning and Inference with Flexible Traversal) baut auf Microsofts GraphRAG-Technik auf und kombiniert Merkmale sowohl der globalen als auch der lokalen Suche, um detaillierte Antworten auf eine Weise zu generieren, die Rechenkosten und Ergebnisqualität ausbalanciert, indem unsere drift search-Methode verwendet wird.

Methodik

Figure 1. An entire DRIFT search hierarchy highlighting the three core phases of the DRIFT search process.

Abbildung 1. Eine gesamte DRIFT-Suchhierarchie, die die drei Kernphasen des DRIFT-Suchprozesses hervorhebt. A (Primer): DRIFT vergleicht die Abfrage des Benutzers mit den Top-K semantisch relevantesten Community-Berichten und generiert eine breite erste Antwort und Folgefragen, um die weitere Erkundung zu steuern. B (Follow-Up): DRIFT verwendet lokale Suche, um Abfragen zu verfeinern, und liefert zusätzliche Zwischenantworten und Folgefragen, die die Spezifität verbessern und die Engine zu kontextreichen Informationen leiten. Ein Glyph auf jedem Knoten im Diagramm zeigt die Zuversicht des Algorithmus, den Schritt der Abfrageerweiterung fortzusetzen. C (Output Hierarchy): Die endgültige Ausgabe ist eine hierarchische Struktur von Fragen und Antworten, die nach Relevanz geordnet sind und eine ausgewogene Mischung aus globalen Erkenntnissen und lokalen Verfeinerungen widerspiegeln, wodurch die Ergebnisse anpassbar und umfassend werden.

DRIFT Search führt einen neuen Ansatz für lokale Suchanfragen ein, indem Community-Informationen in den Suchprozess einbezogen werden. Dies erweitert die Breite des Ausgangspunkts der Abfrage erheblich und führt zur Abfrage und Nutzung einer weitaus höheren Vielfalt von Fakten in der endgültigen Antwort. Diese Ergänzung erweitert die GraphRAG-Abfrage-Engine, indem sie eine umfassendere Option für die lokale Suche bietet, die Community-Erkenntnisse nutzt, um eine Abfrage in detaillierte Folgefragen zu verfeinern.

Konfiguration

Nachfolgend sind die wichtigsten Parameter der DRIFTSearch-Klasse aufgeführt

  • llm: OpenAI-Modellobjekt zur Generierung von Antworten.
  • context_builder: Objekt des Kontext-Builders, das zur Vorbereitung von Kontextdaten aus Community-Berichten und Abfrageinformationen verwendet wird.
  • config: Modell zur Definition der DRIFT Search Hyperparameter. DRIFT Config-Modell
  • tokenizer: Token-Encoder zur Verfolgung des Budgets für den Algorithmus.
  • query_state: Ein Zustands-Objekt wie in Query State definiert, das die Ausführung einer DRIFT Search-Instanz zusammen mit Folgefragen und DRIFT-Aktionen verfolgt.

Anwendung

Ein Beispiel für ein DRIFT-Suchszenario finden Sie im folgenden Notebook.

Mehr erfahren

Für einen detaillierteren Einblick in die DRIFT-Suchmethode lesen Sie bitte unseren DRIFT Search Blogbeitrag.