Zurück zur Startseite

GraphRAG und Ollama: Wissensgraphen für fortschrittliche Antwortgenerierung

Entdecken Sie GraphRAG und Ollama zum Erstellen fortschrittlicher RAG-Systeme. Lernen Sie, wie Wissensgraphen die Genauigkeit der Antworten verbessern und die Einschränkungen der Vektorsuche überwinden.

GraphRAG und Ollama: Aufbau fortschrittlicher RAG-Systeme auf Wissensgraphen
Advertisement 728x90

GraphRAG und Ollama: Verbesserte Antwortgenerierung mit Wissensgraphen

Moderne RAG-Systeme (Retrieval-Augmented Generation) in Unternehmen entwickeln sich ständig weiter, um die Grenzen der traditionellen Vektorsuche zu überwinden. Microsoft GraphRAG stellt eine vielversprechende Lösung dar, die Wissensgraphen für ein tieferes Verständnis von Kontext und Informationsabruf nutzt. In diesem Artikel werden wir praktische Erfahrungen mit GraphRAG, seine Integration mit lokalen Sprachmodellen über Ollama und seine Fähigkeiten anhand eines Textanalysebeispiels aus der Cyberpunk-Welt untersuchen. Ziel ist es zu zeigen, wie graphenbasierte Ansätze die Genauigkeit und Relevanz von Antworten in komplexen Informationssystemen erheblich verbessern und ein neues Niveau der semantischen Suche und Datenanalyse ermöglichen können.

Von der Vektorsuche zu Wissensgraphen

Im Kern vieler RAG-Systeme liegt die Vektorsuche, die trotz ihrer Effektivität mehrere Einschränkungen aufweist, insbesondere bei komplexen Abfragen und mehrdeutigen Entitäten. GraphRAG bietet einen alternativen Ansatz, indem es einen umfassenden Wissensgraphen basierend auf Quelldokumenten erstellt. Dieser Graph besteht aus Entitäten (Objekte, Personen, Orte) und Beziehungen zwischen ihnen, wodurch das System nicht nur das Vorhandensein von Schlüsselwörtern, sondern auch deren semantische Beziehungen im Kontext erfassen kann. Dieser Ansatz verbessert die Genauigkeit und Tiefe der abgerufenen Informationen erheblich.

Der Prozess des Aufbaus eines Wissensgraphen in GraphRAG beinhaltet die Extraktion von Entitäten und Beziehungen aus Texten. Spezialisierte Tools, wie Gephi mit dem Leiden-Plugin, können zur Visualisierung und Analyse der Struktur eines solchen Graphen verwendet werden. Dies ermöglicht nicht nur die Visualisierung von Zusammenhängen, sondern auch die Entdeckung verborgener Gemeinschaften oder Cluster von Entitäten, die GraphRAG automatisch identifiziert und beschreibt. Es ist wichtig zu beachten, dass während der Graphenkonstruktion Herausforderungen bei der Entitätsauflösung auftreten können, wenn ähnliche, aber nicht identische Begriffe (z. B. „Molly Millions“ und „Molly“) nicht automatisch zusammengeführt werden, was eine weitere Verfeinerung des Algorithmus oder eine manuelle Korrektur erfordert.

Google AdInline article slot

GraphRAG generiert auch Community-Beschreibungen, die in community_reports.parquet-Dateien gespeichert werden. Diese Beschreibungen sind für die globale Suche von entscheidender Bedeutung, da sie LLMs ein übergeordnetes Verständnis thematischer Cluster innerhalb der Daten ermöglichen. Dieser Ansatz übertrifft die einfache Suche nach Textabschnitten erheblich, indem er strukturierteres und kontextuell angereichertes Material für die Antwortgenerierung bereitstellt.

Abfragestrategien in GraphRAG

GraphRAG bietet verschiedene Suchstrategien, die jeweils für unterschiedliche Abfragetypen optimiert sind. Die Flexibilität des Systems wird durch die Möglichkeit erreicht, Prompts fein abzustimmen, beispielsweise in den Dateien local_search_system_prompt.txt und global_search_reduce_system_prompt.txt. Dies ermöglicht die Anpassung des Systemverhaltens an spezifische Aufgaben und Sprachen und gewährleistet die Relevanz der Antworten, selbst wenn Fragen in verschiedenen Sprachen formuliert werden, vorausgesetzt, es besteht LLM- und Embedding-Unterstützung.

Globale Suche

Die globale Suche ist darauf ausgelegt, umfassende Fragen zu beantworten, die ein Verständnis des gesamten Datensatzes erfordern. Sie arbeitet nach dem MapReduce-Prinzip und überprüft Community-Beschreibungen, die aus dem Wissensgraphen extrahiert wurden. Dies ermöglicht generalisierte, aber dennoch tiefe und kontextuell vollständige Antworten.

Google AdInline article slot

Beispielabfrage:

graphrag query "What are the top cyberpunk elements in this story?"

Die Beispielantwort zeigt, wie das System Informationen aus verschiedenen Teilen des Graphen aggregiert und spezifische Elemente unter Verwendung von human_readable_id referenziert. Dies ermöglicht es dem Benutzer, bei Bedarf tiefer in die Quelldaten einzutauchen, indem er diese Identifikatoren verwendet:

  • Integration von Technologie und Biologie: Die Verwendung von Lewis' Neuroperturbator und Yakuza's prothetischem Daumen zeigt, wie Technologie in den Körper eindringt und die Kontrolle und Interaktion mit der Umgebung beeinflusst. Solche Elemente sind eine lebendige Manifestation des Cyberpunk-Themas, wo die Grenzen zwischen Organischem und Synthetischem verschwimmen [Daten: Berichte (5, 7, 12, 2, +mehr)].
  • Dystopische Stadtlandschaften: Die Erzählung beschreibt dystopische urbane Räume, wie Nighttown und Drome, die Ruin, Gesetzlosigkeit und unterirdische Kriminalitätsnetzwerke symbolisieren. [Daten: Berichte (1, 8, 2, +mehr)].
  • Unternehmenswettbewerb und illegale Geschäfte: Elemente der Unternehmensspionage und illegaler technologischer Transaktionen, wie der Mikrowellen-Ausrüstungsdeal zwischen der arischen Reggae-Band und dem Yakuza-Programm, unterstreichen das Thema der Unternehmenskontrolle und hochriskante Konflikte. [Daten: Berichte (0, 12, 2, +mehr)].
  • Kontrast zwischen niedriger und hoher Technologie: Die Symbolik der niedrigen Technologie, verbunden mit LO TEK und ihrer Verwendung von Produkten wie Yiheyuan-Filtern, kontrastiert mit fortschrittlichen kybernetischen Verbesserungen. [Daten: Berichte (9, 2, +mehr)].
  • Cyber-organische Wesen und technische Fähigkeiten: Charaktere wie Jones – ein Cyber-Delfin mit militärischer Vergangenheit – und Molly Millions mit ihren Kampffähigkeiten im Umgang mit Kontrollmodulen demonstrieren die Synthese von Organischem und Synthetischem. [Daten: Berichte (11, 7, 2, +mehr)].

Lokale Suche

Die lokale Suche konzentriert sich im Gegensatz zur globalen Suche auf spezifische Beziehungen zwischen Entitäten. Sie kombiniert relevante Daten aus dem Wissensgraphen mit Fragmenten von Quelldokumenten und ist somit ideal für detaillierte Fragen zu bestimmten Objekten oder Personen. Dieser Modus ist besonders nützlich, wenn ein tiefes Verständnis der Rollen und Beziehungen einzelner Elemente innerhalb des Systems erforderlich ist.

Google AdInline article slot

Beispielabfrage:

graphrag query "Who is JONES and what are his main relationships?" -m local

Die Beispielantwort zeigt die detaillierten Beziehungen:

Jones ist eine Figur, die als kybernetischer Delfin mit fortgeschrittenen sensorischen Fähigkeiten beschrieben wird und mit dem Objekt „Funland“ assoziiert ist. Zu seinen Hauptfunktionen gehören die Verwaltung eines Süßwasserreservoirs und die Zusammenarbeit mit „Calm“. Jones spielt eine Schlüsselrolle bei Datenabrufoperationen, insbesondere in Zusammenarbeit mit Molly und Johnny, wo seine einzigartige Physiologie den Zugriff auf Daten von Johnnys Chip ermöglicht [Daten: Entitäten (28, 33); Beziehungen (44, 51, +mehr)].

Zu Jones' Hauptbeziehungen gehören:

  • Mit Molly Millions: Beteiligung an der Operation zur Extraktion von Daten aus Johnnys Chip, was seine technischen Fähigkeiten demonstriert [Daten: Entitäten (33); Beziehungen (44, 51, +mehr)].
  • Mit Johnny: Interaktion innerhalb der Datenextraktionsoperation, bei der Jones seine Sensoren verwendet, um auf Informationen zuzugreifen [Daten: Entitäten (33); Beziehungen (44, 51, +mehr)].
  • Mit „Squid“ (Superconducting Quantum Interference Devices): Verwendung des „Squid“-Geräts zum Lesen von Spuren, was mit militärischen Technologien zusammenhängt [Daten: Entitäten (19); Beziehungen (25, +mehr)].
  • Mit Yakuza: Indirekte Verbindung durch die Besorgnis der Yakuza, dass „Squid“ Spuren ihres Programms aus Johnnys Geist extrahieren könnte [Daten: Beziehungen (25); Entitäten (19)].

Die Rolle von Ollama und anderen Suchmodi

Die Verwendung von Ollama in Verbindung mit GraphRAG ermöglicht die lokale Bereitstellung von Sprachmodellen, was besonders relevant für Projekte mit begrenzten Rechenressourcen oder strengen Datenschutzanforderungen ist. Ollama zeigt die Fähigkeit, auch mit 4B-Modellen effektiv zu arbeiten und RAG-Systemfunktionalität ohne die Notwendigkeit kostspieliger Cloud-basierter LLMs bereitzustellen. Dies senkt die Einstiegshürde für das Experimentieren und den Einsatz graphenbasierter RAG-Systeme in einer Unternehmensumgebung erheblich.

Zusätzlich zur globalen und lokalen Suche bietet GraphRAG auch die Modi BASIC und DRIFT:

  • BASIC-Suche: Dies stellt eine standardmäßige Vektorsuche über Dokumenten-Chunks dar. Sie dient als Basislinie zum Vergleich der Leistung und Antwortqualität mit komplexeren graphenbasierten Ansätzen.
  • DRIFT-Suche: Diese Funktion wird als wesentlicher Vorteil von GraphRAG positioniert und ähnelt der Abfrageerweiterung (Query Expansion) in traditionellen RAG-Systemen. Es ist jedoch wichtig zu beachten, dass die DRIFT-Suche ressourcenintensiv ist und erheblich länger dauert, was für Systeme mit hohen Anforderungen an die Antwortzeit kritisch sein kann.

Wichtigste Erkenntnisse

  • Überwindung der Grenzen der Vektorsuche: GraphRAG nutzt Wissensgraphen für eine tiefe semantische Analyse und Informationsabfrage, wodurch es traditionelle Vektormethoden in Genauigkeit und Kontext übertrifft.
  • Lokale Bereitstellung mit Ollama: Die Integration mit Ollama ermöglicht GraphRAG den effektiven Einsatz lokaler Sprachmodelle, wodurch Rechenkosten gesenkt und der Datenschutz verbessert werden.
  • Vielfältige Suchstrategien: Das System bietet globale, lokale, BASIC- und DRIFT-Suchmodi, die jeweils für spezifische Abfragetypen optimiert sind, von breit gefächert bis detailliert.
  • Flexible Konfiguration und Anpassung: Die Möglichkeit, Prompts zu modifizieren und generierte Wissensgraphen (graph.graphml, community_reports.parquet) zu analysieren, bietet ein hohes Maß an Kontrolle und Anpassung für spezifische Projektanforderungen.
  • Verbesserte Antwortrelevanz: Durch die Strukturierung von Wissen als Graph und die Anwendung fortschrittlicher Abfragealgorithmen verbessert GraphRAG die Qualität und Relevanz der generierten Antworten erheblich, wodurch sie informativer und genauer werden.

— Editorial Team

Advertisement 728x90

Weiterlesen