Vous pouvez créer des applications de grand modèle de langage (LLM) qui utilisent la génération augmentée par récupération de graphes (GraphRAG) avec LlamaIndex et Spanner Graph.
Spanner Graph s'intègre à LlamaIndex via ses fonctionnalités de stockage de graphes de propriétés pour vous permettre d'utiliser les éléments suivants afin de créer des workflows de récupération de données :
Magasin de graphes de propriétés : vous permet de représenter des données sous forme de graphe en stockant des nœuds et des arêtes dans une base de données de graphes. Vous pouvez utiliser la base de données de graphes pour interroger des relations complexes dans vos données.
Récupérateurs de graphes : vous permet d'utiliser un LLM pour traduire la question en langage naturel d'un utilisateur en requête pour le magasin de graphes. Cela permet aux applications de répondre à des questions à l'aide des relations structurées dans les données de graphes.
Qu'est-ce que LlamaIndex ?
LlamaIndex est un framework de données permettant de créer des applications LLM. Il vous aide à simplifier le développement de la génération augmentée par récupération (RAG) et d'autres systèmes sensibles au contexte. En fournissant des outils permettant de connecter des LLM à vos données, LlamaIndex facilite l'ingestion, l'indexation et l'interrogation des données. Vous pouvez utiliser LlamaIndex avec des LLM pour créer des applications qui fournissent des réponses précises et pertinentes.
Pour en savoir plus sur le framework LlamaIndex, consultez la documentation produit LlamaIndex.
Magasin de graphes de propriétés pour Spanner
Un magasin de graphes de propriétés peut être utilisé dans une application pour effectuer les opérations suivantes :
Extraire des entités et des relations à partir de documents, puis les stocker sous forme de graphe.
Effectuer des traversées et des analyses complexes sur une structure de graphe.
Interroger un graphe à l'aide du langage GQL (Graph Query Language) pour fournir un contexte spécifique à un LLM.
Pour utiliser un magasin de graphes de propriétés dans Spanner Graph, utilisez la classe SpannerPropertyGraphStore.
Tutoriel sur le magasin de graphes de propriétés
Pour découvrir comment utiliser le magasin de graphes de propriétés avec Spanner, consultez le tutoriel sur le magasin de graphes de propriétés pour Spanner. Ce tutoriel vous explique comment effectuer les opérations suivantes :
Installer le package
llama-index-spanneret LlamaIndexInitialiser la classe
SpannerPropertyGraphStoreet l'utiliser pour vous connecter à votre base de données SpannerAjouter des nœuds et des arêtes à votre Spanner Graph contenant des données extraites de documents à l'aide d'un extracteur de graphes de connaissances LlamaIndex
Récupérer des informations structurées en interrogeant le graphe à l'aide de GQL
Visualiser les résultats de vos requêtes de graphes
Récupérateurs de graphes pour Spanner
Les récupérateurs de graphes dans LlamaIndex sont des composants qui utilisent un LLM pour traduire la question en langage naturel d'un utilisateur en requête pour le magasin de graphes. Les applications utilisent la requête générée pour répondre aux questions à l'aide des relations structurées dans les données de graphes. Les récupérateurs de graphes utilisent le workflow suivant pour générer une réponse à partir d'une requête en langage naturel :
Demander à un LLM de traduire la question en langage naturel en requête GQL.
Exécuter la requête GQL sur le magasin de graphes à l'aide de Spanner Graph et de la classe
SpannerPropertyGraphStore.Envoyer les données structurées renvoyées par la requête au LLM à l'aide de Spanner Graph.
Générer une réponse lisible par un humain à l'aide du LLM.
Utiliser les classes de récupérateur LlamaIndex
Les classes de récupérateur de graphes LlamaIndex suivantes peuvent être utilisées avec Spanner Graph pour générer des réponses lisibles par un humain aux requêtes LLM :
Classe SpannerGraphTextToGQLRetriever
La classe SpannerGraphTextToGQLRetriever traduit le langage naturel en requêtes GQL pour l'extraction de données à partir du graphe.
Classe SpannerGraphCustomRetriever
La classe SpannerGraphCustomRetriever implémente une approche de récupération hybride.
SpannerGraphCustomRetriever traite les questions spécifiques et conceptuelles en procédant comme suit :
Effectuer simultanément les recherches suivantes :
Une recherche de graphes qui traduit la question en langage naturel en requête GQL utilisant le graphe pour trouver des réponses.
Une recherche vectorielle ou une recherche sémantique pour trouver des informations conceptuellement liées.
Combiner les résultats de la recherche de graphes et de la recherche vectorielle.
Évaluer et reclasser les résultats combinés à l'aide du LLM. Le LLM sélectionne les informations les plus pertinentes et sensibles au contexte pour répondre à la question d'origine.
Tutoriel sur les récupérateurs de graphes
Pour découvrir comment utiliser les récupérateurs de graphes avec Spanner pour répondre à des questions, consultez le tutoriel sur les récupérateurs de graphes pour Spanner. Ce tutoriel vous explique comment :
Créer un graphe à partir de blobs de texte non structurés
Stocker le graphe dans Spanner à l'aide de la classe
SpannerPropertyGraphStoreInitialiser une classe
SpannerGraphTextToGQLRetrieveret une instanceSpannerGraphCustomRetrieverà l'aide de votre magasin de graphes et d'un LLMGénérer une réponse à une question en langage naturel à l'aide des données de graphes stockées dans Spanner
Étape suivante
Pour découvrir comment utiliser Spanner avec d'autres Google Cloud produits afin de créer des applications d'IA générative, consultez la présentation de l'IA Spanner.
Pour en savoir plus sur la recherche vectorielle dans Spanner, consultez Utiliser la recherche vectorielle avec Spanner Graph.
Pour découvrir comment utiliser Spanner pour stocker des embeddings vectoriels, consultez Obtenir des embeddings de texte Spanner.
Pour en savoir plus sur le machine learning avec Spanner, consultez la présentation de l'intégration de Gemini Enterprise Agent Platform.