Anwendungen mit LlamaIndex erstellen

Sie können Anwendungen für Large Language Models (LLMs) erstellen, die Graph Retrieval-Augmented Generation (GraphRAG) mit LlamaIndex und Spanner Graph verwenden.

Spanner Graph ist über die Funktionen für Property Graph-Speicher in LlamaIndex integriert. So können Sie die folgenden Elemente verwenden, um Workflows für den Datenabruf zu erstellen:

  • Property Graph Store: Hiermit können Sie Daten als Diagramm darstellen, indem Sie Knoten und Kanten in einer Graphdatenbank speichern. Mit der Graphdatenbank können Sie komplexe Beziehungen in Ihren Daten abfragen.

  • Graph-Abrufer: Ermöglichen es Ihnen, ein LLM zu verwenden, um die Frage eines Nutzers in natürlicher Sprache in eine Abfrage für den Graph-Speicher zu übersetzen. So können Anwendungen Fragen mithilfe der strukturierten Beziehungen in den Diagrammdaten beantworten.

Was ist LlamaIndex?

LlamaIndex ist ein Datenframework zum Erstellen von LLM-Anwendungen, mit dem Sie die Entwicklung von Retrieval-Augmented Generation (RAG) und anderen kontextbezogenen Systemen optimieren können. LlamaIndex bietet Tools zum Verknüpfen von LLMs mit Ihren Daten und unterstützt Sie bei der Datenerfassung, -indexierung und -abfrage. Sie können LlamaIndex mit LLMs verwenden, um Anwendungen zu erstellen, die genaue und relevante Antworten liefern.

Weitere Informationen zum LlamaIndex-Framework finden Sie in der LlamaIndex-Produktdokumentation.

Attributgrafikspeicher für Spanner

Ein Property-Graph-Speicher kann in einer Anwendung für Folgendes verwendet werden:

  • Entitäten und Beziehungen aus Dokumenten extrahieren und als Diagramm speichern.

  • Komplexe Durchläufe und Analysen für eine Diagrammstruktur durchführen

  • Sie können einen Graphen mit der Graph Query Language (GQL) abfragen, um einem LLM einen bestimmten Kontext zu liefern.

Verwenden Sie die Klasse SpannerPropertyGraphStore, um mit einem Property Graph-Speicher in Spanner Graph zu arbeiten.

Anleitung zum Speichern von Attributgrafiken

Informationen zur Verwendung des Property Graph Store mit Spanner finden Sie im Property Graph Store-Tutorial für Spanner. In dieser Anleitung erfahren Sie, wie Sie Folgendes tun:

  • Installieren Sie das Paket llama-index-spanner und LlamaIndex.

  • Initialisieren Sie die Klasse SpannerPropertyGraphStore und stellen Sie damit eine Verbindung zu Ihrer Spanner-Datenbank her.

  • Fügen Sie Ihrem Spanner-Diagramm Knoten und Kanten hinzu, die Daten enthalten, die mit einem LlamaIndex-Knowledge Graph-Extractor aus Dokumenten extrahiert wurden.

  • Strukturierte Informationen abrufen, indem Sie den Graph mit GQL abfragen.

  • Ergebnisse von Diagrammabfragen visualisieren

Graph-Abrufer für Spanner

Graph-Retrievers in LlamaIndex sind Komponenten, die ein LLM verwenden, um die Frage eines Nutzers in natürlicher Sprache in eine Abfrage für den Graph-Speicher zu übersetzen. Anwendungen verwenden die generierte Abfrage, um Fragen anhand der strukturierten Beziehungen in den Graphdaten zu beantworten. Graph-Abrufer verwenden den folgenden Workflow, um eine Antwort auf eine Anfrage in natürlicher Sprache zu generieren:

  1. Ein LLM auffordern, die Frage in natürlicher Sprache in eine GQL-Abfrage zu übersetzen.

  2. Führen Sie die GQL-Abfrage für den Grafikspeicher mit Spanner Graph und der Klasse SpannerPropertyGraphStore aus.

  3. Senden Sie die von der Abfrage zurückgegebenen strukturierten Daten mithilfe von Spanner Graph an das LLM.

  4. Mit dem LLM eine für Menschen lesbare Antwort generieren.

LlamaIndex-Retriever-Klassen verwenden

Die folgenden LlamaIndex-Graph-Retriever-Klassen können mit Spanner Graph verwendet werden, um für LLM-Prompts lesbare Antworten zu generieren:

Klasse SpannerGraphTextToGQLRetriever

Die Klasse SpannerGraphTextToGQLRetriever übersetzt natürliche Sprache in GQL-Abfragen zum Extrahieren von Daten aus dem Diagramm.

Klasse SpannerGraphCustomRetriever

Die Klasse SpannerGraphCustomRetriever implementiert einen hybriden Abrufansatz. SpannerGraphCustomRetriever beantwortet spezifische und konzeptionelle Fragen anhand der folgenden Schritte:

  1. Führen Sie die folgenden Suchanfragen gleichzeitig aus:

    • Eine Diagrammsuche, bei der die Frage in natürlicher Sprache in eine GQL-Abfrage übersetzt wird, mit der im Diagramm nach Antworten gesucht wird.

    • Eine Vektorsuche oder semantische Suche, um konzeptionell verwandte Informationen zu finden.

  2. Kombinieren Sie die Ergebnisse der Graph- und der Vektorsuche.

  3. Die kombinierten Ergebnisse werden mithilfe des LLM bewertet und neu gerankt. Das LLM wählt die relevantesten und kontextbezogensten Informationen aus, um die ursprüngliche Frage zu beantworten.

Anleitung für Graph-Retrievers

Informationen zur Verwendung von Graph-Abrufern mit Spanner zum Beantworten von Fragen finden Sie in der Anleitung zu Graph-Abrufern für Spanner. In dieser Anleitung wird Folgendes erläutert:

  • Diagramm aus unstrukturierten Textblöcken erstellen

  • Speichern Sie den Graphen in Spanner mit der Klasse SpannerPropertyGraphStore.

  • Initialisieren Sie eine SpannerGraphTextToGQLRetriever-Klasse und eine SpannerGraphCustomRetriever-Instanz mit Ihrem Graph Store und einem LLM.

  • Eine Antwort auf eine Frage in natürlicher Sprache generieren, indem die in Spanner gespeicherten Graphdaten verwendet werden.

Nächste Schritte