Maison  >  Article  >  Périphériques technologiques  >  Comprendre GraphRAG (1) : les défis de RAG

Comprendre GraphRAG (1) : les défis de RAG

WBOY
WBOYavant
2024-04-30 19:10:011052parcourir

RAG (Risk Assessment Grid) est une méthode permettant d'améliorer les grands modèles de langage (LLM) existants avec des sources de connaissances externes pour fournir des réponses plus pertinentes sur le plan contextuel. Dans RAG, le composant de récupération obtient des informations supplémentaires, la réponse est basée sur une source spécifique, puis introduit ces informations dans l'invite LLM afin que la réponse du LLM soit basée sur ces informations (phase d'amélioration). Le RAG est plus économique que d’autres techniques telles que le parage. Il présente également l'avantage de réduire les hallucinations en fournissant un contexte supplémentaire basé sur ces informations (étape d'augmentation) - votre RAG devient la méthode de workflow pour les tâches LLM d'aujourd'hui (telles que la recommandation, l'extraction de texte, l'analyse des sentiments, etc.).

Comprendre GraphRAG (1) : les défis de RAG

Si nous décomposons cette idée davantage, en fonction de l'intention de l'utilisateur, nous interrogeons généralement une base de données de vecteurs. Les bases de données vectorielles utilisent un espace vectoriel continu pour capturer la relation entre deux concepts à l'aide d'une recherche basée sur la proximité.

Vue d'ensemble de la base de données vectorielles

Dans l'espace vectoriel, les informations, qu'il s'agisse de texte, d'images, d'audio ou de tout autre type, sont converties en vecteurs. Les vecteurs sont des représentations numériques de données dans un espace de grande dimension. Chaque dimension correspond à une caractéristique des données, et les valeurs de chaque dimension reflètent la force ou la présence de cette caractéristique. Grâce à la représentation vectorielle, nous pouvons effectuer des opérations mathématiques, des calculs de distance, des comparaisons de similarité, etc. sur les données. Les valeurs correspondant aux différentes dimensions reflètent la force ou la présence de la fonctionnalité. En prenant les données textuelles comme exemple, chaque document peut être représenté sous forme de vecteur, où chaque dimension représente la fréquence d'un mot dans le document. De cette façon, deux documents peuvent

effectuer des recherches basées sur la proximité dans des bases de données en calculant la distance entre leurs vecteurs, en impliquant et en interrogeant ces bases de données avec un autre vecteur, et en recherchant quelque chose de "proche" de celui-ci dans l'espace vectoriel. La proximité entre les vecteurs est généralement déterminée par des mesures de distance telles que la distance euclidienne, la similarité cosinus ou la distance de Manhattan. La proximité entre les vecteurs est généralement déterminée par des mesures de distance telles que la distance euclidienne, la similarité cosinus ou la distance de Manhattan.

Lorsque vous effectuez une recherche dans une base de données, vous fournissez une requête que le système convertit en vecteur. La base de données calcule ensuite la distance ou la similarité entre ce vecteur de requête et les vecteurs déjà stockés dans la base de données. Les vecteurs proches du vecteur de requête (selon la métrique choisie) sont considérés comme les résultats les plus pertinents. Ces vecteurs les plus proches du vecteur de requête (en fonction de la métrique choisie) sont considérés comme les résultats les plus pertinents.

La recherche basée sur la proximité est particulièrement puissante dans les bases de données vectorielles et convient à des tâches telles que les systèmes de recommandation, la récupération d'informations et la détection d'anomalies.

Cette approche permet au système de fonctionner de manière plus intuitive et de répondre plus efficacement aux requêtes des utilisateurs en comprenant le contexte et la signification plus profonde des données, plutôt que de s'appuyer uniquement sur des correspondances de surface.

Cependant, les applications se connectant à des bases de données pour des recherches avancées présentent certaines limites, telles que la qualité des données, la capacité à gérer des connaissances dynamiques et la transparence.

Limitations de RAG

Selon la taille du document, RAG est grossièrement divisé en trois catégories : si le document est petit, il est accessible contextuellement si le document est volumineux (ou s'il existe plusieurs documents) ; ), des données plus petites sont générées lors de l'interrogation de blocs indexés et utilisés en réponse aux requêtes.

Malgré son succès, RAG présente quelques lacunes.

Les deux principaux indicateurs pour mesurer les performances de RAG sont la perplexité et l'hallucination. La perplexité représente le nombre de choix de mots suivants également possibles dans le processus de génération de texte. Autrement dit, à quel point le modèle de langage est « confus » dans sa sélection. Les hallucinations sont des déclarations fausses ou imaginaires faites par l’IA.

Bien que RAG aide à réduire les hallucinations, il ne les élimine pas. Si vous disposez d'un document petit et concis, vous pouvez réduire la confusion (puisque les options LLM sont peu nombreuses) et réduire les hallucinations (si vous demandez uniquement ce qu'il y a dans le document). Bien entendu, le revers de la médaille est qu’un seul petit document aboutit à une application triviale. Pour les applications plus complexes, vous avez besoin d’un moyen de fournir plus de contexte.

Par exemple, considérons le mot « écorce » - nous avons au moins deux contextes différents :

Contexte de l'arbre : « L'écorce rugueuse d'un chêne le protège du froid. » : "Le chien du voisin aboie bruyamment à chaque fois que quelqu'un passe devant sa maison."

Une façon de fournir plus de contexte est de combiner un RAG avec un graphe de connaissances (un GRAPHRAG).

Dans le graphe de connaissances, ces mots sont liés au contexte et à la signification qui leur sont associés. Par exemple, « écorce » serait connecté aux nœuds représentant « arbre » et « chien ». D'autres connexions peuvent indiquer des actions communes (par exemple, la « protection » de l'arbre, le « bruit » du chien) ou des propriétés (par exemple, la « rugosité » de l'arbre, le « volume » du chien). Ces informations structurées permettent au modèle linguistique de choisir le sens approprié en fonction d'autres mots de la phrase ou du thème général de la conversation.

Dans la section suivante, nous verrons les limites de RAG et comment GRAPHRAG les aborde.

Titre original : Comprendre GraphRAG – 1 : Les défis de RAG

Auteur original : ajitjaokar

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer