


De nombreuses applications RAG utilisent un processus de récupération simplifié: les documents sont segmentés en morceaux, convertis en intégres et stockés dans une base de données vectorielle. Les requêtes déclenchent la récupération des documents les plus similaires du Top-K en fonction de la similitude de l'intégration. Cependant, cette approche souffre de limitations, en particulier avec des ensembles de données approfondis. L'ambiguïté des morceaux et la récupération des informations sous-optimales peuvent compromettre la précision.
La récupération récursive améliore la précision de la récupération en tirant parti de la structure des documents. Au lieu de récupérer directement des morceaux, il privilégie les résumés pertinents, par la suite en descendant vers des morceaux associés pour des résultats plus ciblés.
Cet article détaille la récupération récursive et vous guide tout au long de sa mise en œuvre à l'aide de Llamaindex.
Rag et Langchain
Langchain facilite l'intégration des données externes avec les LLM via la génération augmentée (RAG).
Recursive Retrieval a expliquéContrairement aux méthodes qui reposaient uniquement sur des intérêts bruts de morceaux, les résumés de documents de récupération récursifs, les reliant à leurs morceaux correspondants. Les requêtes récupèrent initialement des résumés pertinents, puis identifient les informations connexes dans les morceaux associés de ces résumés. Cette approche contextuelle améliore la pertinence des informations.
Mise en œuvre de la récupération récursive avec Llamaindex
Cette section vous guide à travers une implémentation étape par étape de la récupération récursive à l'aide de Llamaindex, du chargement de documents à l'exécution de la requête.
Étape 1: Chargement et préparation des documents
Les documents sont chargés à l'aide de. Chaque document reçoit un titre et des métadonnées (par exemple, catégorie) pour un filtrage amélioré. Les documents chargés sont stockés dans un dictionnaire pour un accès facile. SimpleDirectoryReader
from llama_index.core import SimpleDirectoryReader # ... (Code for loading documents remains the same) ...
Étape 2: LLM et CHUNKING SETUP
Un LLM (par exemple, le GPT-4O Mini) d'Openai) est initialisé, ainsi qu'un séparateur de phrase pour la création de morceaux et un gestionnaire de rappel pour la surveillance des processus.
from llama_index.llms.openai import OpenAI from llama_index.core.callbacks import LlamaDebugHandler, CallbackManager from llama_index.core.node_parser import SentenceSplitter # ... (Code for LLM and chunking setup remains the same) ...
Étape 3: Création d'index vectorielle et génération de résumé
Un indice vectoriel est créé pour chaque document pour permettre une récupération basée sur la similitude. Les résumés générés par LLM sont stockés sous forme objets. IndexNode
from llama_index.core import VectorStoreIndex, SummaryIndex from llama_index.core.schema import IndexNode # ... (Code for building vector indices and generating summaries remains the same) ...
Étape 4: Construction d'index de vecteur de niveau supérieur
Un indice de vecteur de haut niveau est construit à partir des résumés générés, permettant la récupération initiale des résumés pertinents avant d'accéder à des morceaux détaillés.
# ... (Code for building the top-level vector index remains the same) ...
Étape 5: Configuration de la récupération récursive
Le retriever récursif est configuré, combinant le Retriever de niveau supérieur avec des retrievers de documents individuels pour faciliter le processus de récupération hiérarchique.
from llama_index.core.retrievers import RecursiveRetriever # ... (Code for setting up the recursive retriever remains the same) ...
Étape 6: requêtes de récupération récursive
Les exemples de requêtes sont exécutées à l'aide du Recursive Retriever configuré.
from llama_index.core import SimpleDirectoryReader # ... (Code for loading documents remains the same) ...
Conclusion
La récupération récursive, tirant parti des résumés de documents et des hiérarchies, améliore la pertinence des morceaux récupérés, en particulier avec de grands ensembles de données. Il offre une solution robuste pour créer des systèmes de récupération précis dans des environnements riches en données. Une exploration plus approfondie des techniques de chiffon peut être trouvée dans les articles de blog liés.
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!

Bien qu'il ne puisse pas fournir la connexion humaine et l'intuition d'un thérapeute formé, la recherche a montré que de nombreuses personnes sont à l'aise de partager leurs inquiétudes et leurs préoccupations avec des robots d'IA relativement sans visage et anonymes. Que ce soit toujours un bon I

L'intelligence artificielle (IA), une technologie des décennies en cours, révolutionne l'industrie de la vente au détail alimentaire. Des gains d'efficacité à grande échelle et des réductions de coûts aux processus rationalisés à travers diverses fonctions commerciales, l'impact de l'IA est indéniable

Parlons-en. Cette analyse d'une percée d'IA innovante fait partie de ma couverture de colonne Forbes en cours sur les dernières personnes en IA, notamment l'identification et l'explication de diverses complexités d'IA percutantes (voir le lien ici). De plus, pour ma comp

Le maintien d'une image professionnelle nécessite des mises à jour occasionnelles de garde-robe. Bien que les achats en ligne soient pratiques, il n'a pas la certitude des essais en personne. Ma solution? Personnalisation alimentée par AI. J'imagine un assistant d'assistant de conservation des vêtements sélectionnés

Google Translate ajoute une fonction d'apprentissage des langues Selon Android Authority, l'application Expert Assembedebug a constaté que la dernière version de l'application Google Translate contient un nouveau mode de test "Practice" conçu pour aider les utilisateurs à améliorer leurs compétences linguistiques grâce à des activités personnalisées. Cette fonctionnalité est actuellement invisible pour les utilisateurs, mais Assembedebug est en mesure de l'activer partiellement et de visualiser certains de ses nouveaux éléments d'interface utilisateur. Lorsqu'il est activé, la fonction ajoute une nouvelle icône de capuchon de graduation en bas de l'écran marqué d'un badge "bêta" indiquant que la fonction "Practice" sera publiée initialement sous forme expérimentale. L'invite contextuelle connexe montre "Pratiquez les activités adaptées à vous!", Ce qui signifie que Google générera des

Les chercheurs du MIT développent Nanda, un protocole Web révolutionnaire conçu pour les agents de l'IA. Abréviation des agents en réseau et de l'IA décentralisée, Nanda s'appuie sur le protocole de contexte du modèle d'Anthropic (MCP) en ajoutant des capacités Internet, permettant à l'IA Agen

La dernière aventure de Meta: une application AI pour rivaliser avec un chatpt rival Meta, la société mère de Facebook, Instagram, WhatsApp et Threads, lance une nouvelle application alimentée par AI. Cette application autonome, Meta AI, vise à rivaliser directement avec le chatppt d'Openai. Levier

Naviguer dans la marée montante des cyberattaques d'IA Récemment, Jason Clinton, CISO pour anthropique, a souligné les risques émergents liés aux identités non humaines - à mesure que la communication de la machine à la machine prolifère, sauvegarde ces "identités"


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code
