Créer des applications à l'aide de LlamaIndex

Vous pouvez créer des applications de grands modèles de langage (LLM) qui utilisent la génération augmentée par récupération de graphiques (GraphRAG) avec LlamaIndex et Spanner Graph.

Spanner Graph s'intègre à LlamaIndex grâce à ses fonctionnalités de stockage de graphiques de propriétés. Vous pouvez ainsi utiliser les éléments suivants pour créer des workflows de récupération de données :

  • Magasin de graphiques de propriétés : vous permet de représenter des données sous forme de graphique en stockant des nœuds et des arêtes dans une base de données de graphiques. Vous pouvez utiliser la base de données de graphiques pour interroger les relations complexes dans vos données.

  • Récupérateurs de graphiques : vous permettent d'utiliser un LLM pour traduire la question en langage naturel d'un utilisateur en requête pour le magasin de graphiques. Cela permet aux applications de répondre à des questions en utilisant les relations structurées dans les données graphiques.

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 vous aide à ingérer, indexer et interroger vos 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 graphiques de propriété pour Spanner

Un magasin de graphiques de propriétés peut être utilisé dans une application pour effectuer les opérations suivantes :

  • Extraire les entités et les relations des documents, et les stocker sous forme de graphique.

  • Effectuez des traversées et des analyses complexes sur une structure de graphique.

  • Interrogez un graphique à l'aide du langage GQL (Graph Query Language) pour fournir un contexte spécifique à un LLM.

Pour travailler avec un magasin de graphes de propriétés dans Spanner Graph, utilisez la classe SpannerPropertyGraphStore.

Tutoriel sur le magasin de graphiques de propriétés

Pour découvrir comment utiliser le magasin de graphiques de propriétés avec Spanner, consultez le tutoriel sur le magasin de graphiques de propriétés pour Spanner. Ce tutoriel vous explique comment effectuer les opérations suivantes :

  • Installer le package llama-index-spanner et LlamaIndex

  • Initialisez la classe SpannerPropertyGraphStore et utilisez-la pour vous connecter à votre base de données Spanner.

  • Ajoutez des nœuds et des arêtes à votre graphique Spanner contenant des données extraites de documents à l'aide d'un extracteur de Knowledge Graph LlamaIndex.

  • Récupérez des informations structurées en interrogeant le graphique à l'aide de GQL.

  • Visualisez les résultats de vos requêtes graphiques.

Récupérateurs de graphiques pour Spanner

Dans LlamaIndex, les récupérateurs de graphiques sont des composants qui utilisent un LLM pour traduire la question en langage naturel d'un utilisateur en requête pour le magasin de graphiques. Les applications utilisent la requête générée pour répondre aux questions en utilisant les relations structurées dans les données graphiques. Les récupérateurs de graphiques utilisent le workflow suivant pour générer une réponse à partir d'une requête en langage naturel :

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

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

  3. Envoyez 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 à l'aide du LLM.

Utiliser les classes de récupérateur LlamaIndex

Les classes de récupérateur de graphiques LlamaIndex suivantes peuvent être utilisées avec Spanner Graph pour générer des réponses lisibles par l'homme aux requêtes LLM :

Classe SpannerGraphTextToGQLRetriever

La classe SpannerGraphTextToGQLRetriever traduit le langage naturel en requêtes GQL pour extraire des données du graphique.

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. Effectuez les recherches suivantes simultanément :

    • Recherche de graphiques qui traduit la question en langage naturel en requête GQL utilisant le graphique pour trouver des réponses.

    • Une recherche vectorielle ou sémantique pour trouver des informations conceptuellement liées.

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

  3. Évaluez et reclassifiez les résultats combinés à l'aide du LLM. Le LLM sélectionne les informations les plus pertinentes et les plus contextuelles pour répondre à la question d'origine.

Tutoriel sur les récupérateurs de graphiques

Pour savoir comment utiliser les récupérateurs de graphiques avec Spanner pour répondre à des questions, consultez le tutoriel sur les récupérateurs de graphiques pour Spanner. Ce tutoriel vous explique comment :

  • Créez un graphique à partir de blocs de texte non structurés.

  • Stockez le graphique dans Spanner à l'aide de la classe SpannerPropertyGraphStore.

  • Initialisez une classe SpannerGraphTextToGQLRetriever et une instance SpannerGraphCustomRetriever à l'aide de votre graph store et d'un LLM.

  • Générez une réponse à une question en langage naturel à l'aide des données graphiques stockées dans Spanner.

Étapes suivantes