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éé...

    Google muscle Gemini avec Omni Flash : pourquoi l’édition vidéo à la voix change la donne

    Google présente Gemini Omni Flash comme un nouvel outil d’édition vidéo conversationnelle. Une annonce qui en dit long sur la prochaine phase de l’IA grand public.

    Inde : une parodie politique « Cockroach Janta Party » choque le pays

    En Inde, une remarque du chef de la Cour suprême déclenche une vague de satire politique et de protestation chez la Gen Z.

    Trump et sa famille immunisés contre les audits fiscaux aux États-Unis

    Donald Trump, sa famille et ses entreprises obtiennent l'immunité contre les audits fiscaux en pleine polémique aux États-Unis.

    Bangladesh bat le Pakistan et remporte une série Test historique

    Bangladesh bat le Pakistan de 78 runs à Sylhet et remporte une série Test historique à domicile grâce à Taijul Islam.

    Xi Jinping et Vladimir Poutine discutent à Beijing

    Xi Jinping et Vladimir Poutine tiennent des discussions à Beijing sur la Chine, la Russie, l’Ukraine et le Moyen-Orient.

    L’ONU révise à la baisse la croissance mondiale face à la crise au Moyen-Orient

    L’ONU abaisse ses prévisions de croissance mondiale à 2,5 % en 2026, citant la crise au Moyen-Orient et la hausse des prix de l’énergie.

    Xi Jinping reçoit Vladimir Poutine à Pékin: ce que révèle ce sommet sur l’axe Chine-Russie

    Le sommet de Pékin entre Xi Jinping et Vladimir Poutine confirme la solidité d’un partenariat central pour l’Ukraine, l’énergie et l’équilibre géopolitique mondial.

    Kentucky : Thomas Massie battu en primaire, Donald Trump impose son candidat

    Thomas Massie, élu républicain du Kentucky, a perdu sa primaire face à Ed Gallrein, candidat soutenu par Donald Trump, dans une course très coûteuse et symbolique.

    à Lire

    Categories