Créer des applications à l'aide de LlamaIndex

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-spanner et LlamaIndex

  • Initialiser la classe SpannerPropertyGraphStore et l'utiliser pour vous connecter à votre base de données Spanner

  • Ajouter 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 :

  1. Demander à un LLM de traduire la question en langage naturel en requête GQL.

  2. Exécuter la requête GQL sur le magasin de graphes à l'aide de Spanner Graph et de la classe SpannerPropertyGraphStore.

  3. Envoyer les données structurées renvoyées par la requête au LLM à l'aide de Spanner Graph.

  4. 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 :

  1. 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.

  2. Combiner les résultats de la recherche de graphes et de la recherche vectorielle.

  3. É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 SpannerPropertyGraphStore

  • Initialiser une classe SpannerGraphTextToGQLRetriever et une instance SpannerGraphCustomRetriever à l'aide de votre magasin de graphes et d'un LLM

  • Générer une réponse à une question en langage naturel à l'aide des données de graphes stockées dans Spanner

Étape suivante