Lors de la connexion des connaissances externes à des modèles de grandes langues (LLM), les développeurs se confrontent souvent à l'intégration des données de nombreuses sources - certaines structurées, une grande partie non structurée - tout en retournant toujours des informations rapides et précises. Ce défi est au cœur de la génération (RAG) de la récupération (RAG), qui offre un moyen convaincant pour les LLM de tirer des données spécifiques au domaine à la demande. Mais à mesure que les échelles de données et le besoin de connexions précises se développent, les pipelines de chiffon peuvent devenir lourds.
C'est là que Cognee et Llamaindex interviennent, introduisant un système qui transforme le chiffon standard en graphrag - une approche qui non seulement récupère le texte pertinent mais crée également des relations plus riches basées sur des graphiques entre les points de données. Essentiellement, il se déplace au-delà de la récupération statique et basée sur des morceaux et offre une «carte» globale de connaissances qui peuvent alimenter des réponses plus robustes et contextuellement précises.
Cet article a été publié dans le cadre du Data Science Blogathon.
La génération auprès de la récupération (RAG) injecte des connaissances externes dans des modèles de grands langues pendant l'inférence. En convertissant les données en intégres vectoriels et en les stockant dans une base de données vectorielle, les systèmes de chiffon permettent aux LLM de raisonner sur les informations spécifiques au domaine qu'ils ne possèdent pas intrinsèquement. Les principaux avantages comprennent:
Cependant, le chiffon traditionnel peut nécessiter de jongler avec plusieurs outils, traitant des métadonnées complexes et gérer des mises à jour vers des ensembles de données en constante évolution. De plus, la méthodologie «Chunk and Embed» de Standard RAG peut perdre un contexte global car chaque morceau est largement traité isolément.
Cognee est un cadre de gestion des connaissances et de la mémoire qui s'inspire de la façon dont les humains créent des cartes mentales. En modélisant des objets, des concepts et des relations en tant que structures de graphiques, il aide à apporter la structure et le contexte aux données brutes, rendant les connaissances plus navigables et interopérables.
Llamaindex le complète en servant de bibliothèque d'intégration de données polyvalents, en canalisant de manière transparente les données provenant de diverses sources, notamment des bases de données, des API et du texte non structuré - en LLMS. Que vous ayez affaire à des PDF, des tables SQL ou des points de terminaison JSON, Llamaindex peut unifier ces flux d'informations dans un pipeline cohérent.
combinant Cognee et Llamaindex crée Graphrag, un système qui:
Bien qu'un flux de travail de bout en bout comprenne un code Python simple (que nous sauterons ici), ci-dessous est un aperçu conceptuel de la façon dont vous construiriez un pipeline Graphrag avec Cognee et Llamaindex:
Vous installerez et configurerez les dépendances nécessaires - Cognee, Llamaindex et tous les fournisseurs de bases de données et de base de données choisies. Cette étape initiale garantit que votre environnement a tout nécessaire pour gérer les incorporations vectorielles, le stockage de graphiques et l'inférence LLM.
!pip install llama-index-graph-rag-cognee==0.1.2 # Import required libraries import os import asyncio import cognee from llama_index.core import Document from llama_index.graph_rag.cognee import CogneeGraphRAG # Set API key for OpenAI if "OPENAI_API_KEY" not in os.environ: os.environ["OPENAI_API_KEY"] = ""
Que vous ayez de courts extraits de texte ou des ensembles de documents entiers, vous collectez ces données et les chargerez dans une collection. Llamaindex peut gérer divers formats de fichiers et sources de données, mais vous fournira généralement le texte dans des segments gérables ou des «documents».
documents = [ Document( text="Jessica Miller, Experienced Sales Manager with a strong track record in driving sales growth and building high-performing teams." ), Document( text="David Thompson, Creative Graphic Designer with over 8 years of experience in visual design and branding." ), ]
Ensuite, vous créez un objet CogneeGraphrag, en spécifiant comment vous stockez votre graphique (par exemple, en mémoire avec NetworkX, ou dans une base de données de graphe dédiée) et votre stockage vectoriel (par exemple, LancedB, PineCone ou une autre base de données vectorielle). Vous choisissez également votre fournisseur LLM, comme OpenAI ou un modèle local, ainsi que les clés API pertinentes.
cogneeRAG = CogneeGraphRAG( llm_api_key=os.environ["OPENAI_API_KEY"], llm_provider="openai", llm_model="gpt-4o-mini", graph_db_provider="networkx", vector_db_provider="lancedb", relational_db_provider="sqlite", relational_db_name="cognee_db", )
Vous chargez vos documents dans le système, permettant à Cognee et Llamaindex de les analyser et de les intégrer. Une fois les données en place, vous invoquez une étape de transformation qui analyse le texte et extrait des entités, des relations et des métadonnées significatifs. Ceux-ci deviennent des nœuds et des bords dans votre graphique de connaissances.
# Load documents into CogneeGraphRAG await cogneeRAG.add(documents, "test")
Avec un graphique de connaissances construit sur vos données, vous pouvez effectuer deux principaux types de requêtes:
L'avantage de l'approche basée sur le graphique est qu'elle peut considérer le contexte et les relations entre tous les documents. Par exemple, si plusieurs documents font référence à une personne ou au concept, l'approche du graphique aide à les unifier et à les référencer pour une réponse plus complète.
# Answer prompt based on knowledge graph approach: search_results = await cogneeRAG.search("Tell me who are the people mentioned?") print("\n\nAnswer based on knowledge graph:\n") for result in search_results: print(f"{result}\n") # Using the graph search above gives the following result: #Answer based on knowledge graph: #The people mentioned are: David Thompson and Jessica Miller. #Answer prompt based on RAG approach: search_results = await cogneeRAG.rag_search("Tell me who are the people mentioned?") print("\n\nAnswer based on RAG:\n") for result in search_results: print(f"{result}\n") #Using the RAG search above gives the following result: #Answer based on RAG: #Jessica Miller
Au-delà de la récupération directe, Graphrag vous permet de naviguer dans les relations. Supposons que vous souhaitiez voir tous les concepts ou les personnes liées à une entité spécifique, le graphique de connaissances peut révéler ces connexions, offrant des informations plus profondes.
À la fin de ces étapes, votre pipeline n'est plus restreint par les contraintes au niveau des morceaux du chiffon standard. Au lieu de cela, votre LLM peut tirer parti d'une vision robuste et interconnectée des connaissances. Cela conduit à des réponses plus perspicaces, cohérentes et riches en contexte.
!pip install llama-index-graph-rag-cognee==0.1.2 # Import required libraries import os import asyncio import cognee from llama_index.core import Document from llama_index.graph_rag.cognee import CogneeGraphRAG # Set API key for OpenAI if "OPENAI_API_KEY" not in os.environ: os.environ["OPENAI_API_KEY"] = ""
Cognee et Llamaindex combinent un raisonnement basé sur des graphiques avec l'intégration flexible des données, transformant le chiffon traditionnel en une approche plus structurée et perspicace. Cette synergie améliore la récupération des connaissances, améliore la compréhension contextuelle et simplifie le déploiement pour les applications alimentées par l'IA.
Graphrag facilite la mémoire à long terme, à court terme et spécifique au domaine au sein de vos agents. En maintenant des connaissances détaillées dans une structure basée sur des graphiques, les agents peuvent rappeler le contexte plus précisément au fil du temps et s'adapter à de nouvelles informations de manière transparente.
Avec une vue plus holistique, vos requêtes peuvent automatiquement devenir plus sophistiquées. Au fil du temps, le graphique peut auto-optimiser ses relations, ce qui donne des données plus riches et plus connectées. Au lieu de retourner un seul extrait à partir d'un seul morceau, votre agent peut synthétiser plusieurs références ou unifier des faits dispersés.
Cognee vise à abstraction de la complexité. Il est livré avec des intégrations standard pour les LLM, les bases de données vectorielles et les magasins de graphiques, ce qui signifie que vous pouvez déployer un pipeline Graphrag avec des frais généraux minimes. Cela garantit que vous passez plus de temps à explorer les idées plutôt que de faire face aux tracas d'infrastructure.
L'une des plus grandes forces de Graphrag réside dans la façon dont il transforme le texte en une couche sémantique dynamique. Imaginez chaque entité (par exemple, une personne, un emplacement, un concept) représenté comme un nœud. Les bords peuvent capturer des références - comme le rôle d'une personne dans une organisation ou une relation à un autre concept.
Cette visualisation aide les développeurs et les parties prenantes:
En pratique, vous pouvez voir un nœud pour chaque personne avec des bords les liant à des rôles, des emplacements ou des réalisations, tous épelés dans un diagramme de graphe cohérent - beaucoup plus clair que de rechercher plusieurs fragments de texte pour cette information.
Intégrer des données structurées et non structurées dans les flux de travail AI n'est pas une mince affaire. Mais en unifiant la puissance de Llamaindex pour l'ingestion de données avec la couche sémantique graphique de Cognee, vous obtenez une approche rationalisée qui rend l'ensemble du pipeline plus efficace, plus cohérent et finalement plus perspicace.
Qu'est-ce que cela signifie pour votre entreprise ou votre recherche ?
Que vous soyez un développeur en solo pour construire un chatbot spécialisé ou une équipe d'entreprise architectant une plate-forme de connaissances, Graphrag propose une base robuste et flexible.
Vous voulez en savoir plus ou l'essayer vous-même? Vous pouvez exécuter une démo détaillée dans Google Colab, où vous verrez exactement comment configurer votre environnement, charger des données, créer le graphique de connaissances et exécuter des requêtes.
Bottom Line: Si vous êtes sérieux à exploiter le plein potentiel de vos données en tandem avec des modèles de langage avancé, l'approche Graphrag de Cognee et Llamaindex est la prochaine étape. Avec quelques lignes de configuration et quelques données bien structurées, vous pouvez transformer le texte brut en intelligence exploitable - réduisant l'écart entre les documents non structurés et les informations vraiment «intelligentes».
Cognee et Llamaindex offrent une combinaison puissante pour améliorer les systèmes de chiffon en intégrant la récupération des connaissances structurées aux techniques d'indexation avancées. Cette synergie améliore la compréhension contextuelle, l'efficacité de récupération et l'adaptabilité dans diverses applications d'IA. En tirant parti du raisonnement graphique et de l'intégration flexible des données, les organisations peuvent créer des solutions d'IA plus intelligentes, évolutives et précises. Au fur et à mesure que les systèmes de connaissances axés sur l'IA évoluent, des outils comme Cognee et Llamaindex joueront un rôle crucial dans la formation de l'avenir de la récupération de l'information.
a. Graphrag est une variation de la génération (RAG) (RAG) de la récupération qui utilise un graphique de connaissances pour stocker et récupérer des informations, plutôt que de compter uniquement sur du texte en morceaux et une base de données vectorielle. Cette approche conserve plus de contexte global, permettant des informations plus riches et une meilleure référence sur plusieurs documents ou sources de données.
Q2. Qu'est-ce que Cognee, et pourquoi devrais-je l'utiliser? a. Cognee est un cadre de gestion des connaissances et de la mémoire inspiré de la façon dont les humains créent des cartes mentales du monde. Il transforme les données non structurées en une couche sémantique basée sur des graphiques, ce qui facilite le stockage, la gestion et la récupération de relations complexes. Avec Cognee, vous gagnez:
Modélisation d'inspiration humaine des concepts et relations
Structures graphiques cohérentes et explicables
Intégration transparente avec votre choix de LLM, de magasin vectoriel ou de base de données
a. Llamaindex (anciennement GPT Index) est une bibliothèque d'intégration du LLMS à diverses sources de données. Il gère les tâches comme l'analyse des documents, l'indexation et l'interrogation, vous permettant de nourrir du contenu non structuré (PDF, pages Web, données JSON, etc.) dans votre LLM de manière rationalisée. Lorsqu'elle est associée à Cognee, Llamaindex aide à structurer les données avant d'être converti en représentations basées sur des graphiques.
Q4. Comment Graphrag améliore-t-il les résultats de la requête par rapport au chiffon traditionnel?a. Le chiffon traditionnel incorpore des morceaux de texte indépendamment, ce qui peut perdre le contexte mondial si les informations sont réparties sur différents documents. Graphrag relie les concepts connexes dans un seul graphique de connaissances, permettant au LLM de comprendre des relations plus larges. En conséquence, le système peut fournir des réponses plus complètes et riches en contexte, en particulier pour les questions qui impliquent des informations provenant de plusieurs sources.
Le média présenté dans cet article ne appartient pas à l'analyse vidhya et est utilisé à la discrétion de l'auteur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!