More

    Pipeline multimodal RAG : Extraction de données et IA

    France

    Imaginez un monde où trouver des informations dans un document est aussi simple que de poser une question et d’obtenir une réponse combinant texte et images de manière fluide. Cet article explore la création d’un pipeline multimodal d’Extraction-Augmentée (RAG) capable de réaliser cela. Vous apprendrez à extraire du texte et des images d’une présentation PDF en utilisant des outils comme LlamaParse, à créer des résumés contextuels pour améliorer la récupération des données, et à intégrer ces informations dans des modèles avancés comme GPT-4 pour répondre aux requêtes. En cours de route, nous examinerons comment la récupération contextuelle améliore la précision, optimiser les coûts grâce à la mise en cache des requêtes, et comparer les résultats entre les pipelines de base et améliorés. Préparez-vous à découvrir le potentiel du RAG avec ce guide étape par étape !

    Récupération contextuelle

    La récupération contextuelle a été initialement introduite comme une amélioration au RAG standard. Chaque fragment de texte est annoté avec un bref résumé qui le situe dans le contexte global du document. Cela permet d’inclure des concepts ou mots-clés de haut niveau qui aident à extraire ce fragment pour différents types de requêtes.

    Installation et configuration

    Vous aurez besoin d’installer ou de mettre à jour quelques packages :

    !pip install -U llama-index llama-parse

    Nous allons également configurer une intégration avec LlamaTrace.

    Analyse d’un rapport PDF

    Dans notre exemple, nous allons analyser le rapport ICONIQ 2024 sur l’état de l’IA. Ce PDF est disponible publiquement.

    !mkdir data
    !mkdir data_images_iconiq
    !wget "https://cdn.prod.website-files.com/65e1d7fb19a3e64b5c36fb38/66eb856e019e59758ef73759_ICONIQ%20Analytics%20%2B%20Insights%20-%20State%20of%20AI%20Sep24.pdf" -O data/iconiq_report.pdf

    Nous allons maintenant configurer les composants essentiels pour construire et mettre en œuvre notre pipeline RAG multimodal de manière efficace.

    Création des nœuds multimodaux

    Les nœuds multimodaux sont les éléments de base qui nous permettent de traiter et d’intégrer différents types de données comme le texte et les images. Dans cette étape, nous allons diviser les pages PDF en nœuds de texte plus petits et gérables.

    from pathlib import Path
    from llama_index.core.schema import TextNode
    from typing import Optional
    import re
    
    def get_page_number(file_name):
        match = re.search(r"-page_(\d+)\.jpg$", str(file_name))
        if match:
            return int(match.group(1))
        return 0
    
    def _get_sorted_image_files(image_dir):
        raw_files = [
            f for f in list(Path(image_dir).iterdir()) if f.is_file() and "-page" in str(f)
        ]
        return sorted(raw_files, key=get_page_number)
    
    def get_text_nodes(image_dir, json_dicts):
        nodes = []
        image_files = _get_sorted_image_files(image_dir)
        md_texts = [d["md"] for d in json_dicts]
        for idx, md_text in enumerate(md_texts):
            chunk_metadata = {
                "page_num": idx + 1,
                "image_path": str(image_files[idx]),
                "parsed_text_markdown": md_text,
            }
            node = TextNode(text="", metadata=chunk_metadata)
            nodes.append(node)
        return nodes
    
    text_nodes = get_text_nodes("data_images_iconiq", md_json_list)

    Récupération contextuelle et création de nœuds

    La récupération contextuelle attache un court résumé à chaque fragment, décrivant où il s’intègre dans le document global. Nous utiliserons le modèle LLM pour générer ces résumés et les stocker dans les métadonnées de chaque nœud.

    def create_contextual_nodes(nodes, llm):
        nodes_modified = []
        doc_text = "\n".join([n.get_content(metadata_mode="all") for n in nodes])
        for idx, node in enumerate(nodes):
            new_node = deepcopy(node)
            user_content = (f"{whole_doc_text.format(WHOLE_DOCUMENT=doc_text)}\n\n"
                            f"{chunk_text.format(CHUNK_CONTENT=node.get_content(metadata_mode='all'))}")
            messages = [
                ChatMessage(role="system", content="You are a helpful AI Assistant."),
                ChatMessage(role="user", content=user_content),
            ]
            new_response = llm.chat(messages)
            new_node.metadata["context"] = str(new_response)
            nodes_modified.append(new_node)
        return nodes_modified

    Intégration et requêtes

    Nous souhaitons maintenant construire un pipeline RAG qui peut répondre à des requêtes utilisant les nœuds textuels et les images. Par exemple, nous pouvons interroger notre pipeline sur l’utilisation de l’IA par département.

    response = query_engine.query("Which departments use GenAI the most and how are they using it?")

    Une réponse typique pourrait indiquer les départements qui utilisent le plus l’IA générative en fonction des résultats d’une enquête.

    Améliorations grâce à la récupération contextuelle

    En comparant les résultats obtenus avec et sans récupération contextuelle, nous pouvons constater que cette méthode offre des réponses plus précises et pertinentes, permettant d’affiner les résultats de recherche.

    Conclusion

    Ce guide complet vous fournit les outils et techniques nécessaires pour créer des solutions d’IA multimodales efficaces, pouvant être adaptées à n’importe quelle source de données externe, que ce soit une immense base de connaissances d’entreprise ou des documents internes.

    Pipeline Multimodal Rag | Pipeline Multimodal | Extraction De Données | Ia | Llamaparse | Gpt- | France
    source:https://www.analyticsvidhya.com/blog/2025/02/contextual-retrieval-for-multimodal-rag-on-slide-decks/

    LAISSER UN COMMENTAIRE

    S'il vous plaît entrez votre commentaire!
    S'il vous plaît entrez votre nom ici


    Actualités

    L’acteur de Friends, Matthew Perry, décède à 54 ans

    "Matthew Perry, célèbre pour son rôle de Chandler Bing dans Friends, décède à 54 ans. Acteur très apprécié, sa mort suscite l'émotion mondiale."

    Entité sioniste déploie des navires de guerre en Mer Rouge selon un expert militaire

    Entité sioniste déploie des navires de guerre en Mer Rouge pour contrer les Houthis au Yémen, une manœuvre vue comme une démonstration de force envers l'Iran.

    L’affaire des SMS entre Pfizer et la Commission européenne : ce qu’il faut savoir

    En avril 2021, le New York Times a révélé...

    Banque suisse : Credit Suisse en chute libre après la faillite de la SVB

    L'action de Credit Suisse a dévissé de plus de...

    Le Retour de Microsoft avec Bing et Edge : Une Menace pour Google ?

    Depuis moins de trois mois, ChatGPT a déjà créé...

    Fluazinam : un pesticide autorisé par l’UE dans les années 2000 au cœur d’une nouvelle alerte sanitaire

    Une étude internationale publiée le 2 juillet 2026 relance la question de la sécurité du fluazinam, un fongicide autorisé par l'UE depuis 2008 et utilisé sur les tomates, pommes de terre et pommiers.

    Tour de France 2026 : 184 coureurs au départ, mais seulement 30 Français

    Le Tour de France 2026 s'élance samedi 4 juillet...

    Jimmy Mohamed retiré de l’antenne de France Télévisions après les accusations de violences de son épouse

    France Télévisions a confirmé, lundi, que Jimmy Mohamed n'interviendra...

    Inflation : la France repasse sous les 2 % en juin, mais l’Insee attend une remontée à 2,7 % d’ici décembre

    L'inflation française retombe à 1,8 % sur un an en juin, après 2,4 % en mai, portée par la détente des prix de l'énergie. L'Insee anticipe cependant un retour à 2,7 % en décembre.

    Motion de censure contre Lecornu : les écologistes défient la majorité, le vote attendu lundi

    Le groupe écologiste à l'Assemblée nationale a déposé, jeudi...

    à Lire

    Categories