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.

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

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

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

    Hébron : des blessés palestiniens lors d’attaques de l’armée et de colons sionistes

    Dix Palestiniens ont été pris en charge à Hébron. D’autres incidents, arrestations et sièges de maisons ont été signalés en Cisjordanie.

    Syrie : une enquête annoncée après l’hospitalisation de Mohamed Ghmira

    Les autorités de Lattaquié annoncent une enquête après l’hospitalisation de Mohamed Ghmira. Le cas d’Abd al-Salam Akko ravive aussi le débat sur les détenus en Syrie.

    Liban : 11 morts après des frappes de l’État sioniste dans le Sud

    L’armée de l’État sioniste affirme avoir tué un commandant du Hezbollah. Les frappes de samedi ont fait 11 morts et 19 blessés, d’après le bilan rapporté.

    Iran : deux médiations en attente autour du détroit d’Ormuz

    Mascate travaille avec Téhéran sur l’organisation du trafic maritime, tandis qu’une initiative pakistanaise vise à rétablir un canal politique avec Washington.

    Syrie : des milliers de dounams agricoles endommagés à Quneitra

    La direction de l’agriculture de Quneitra évalue à plus de 4 800 dounams les pâturages, cultures d’hiver et vergers endommagés après des épandages signalés en janvier.

    Détroit d’Ormuz : condamnations du Golfe après trois attaques contre des navires d’ADNOC

    Trois navires d’ADNOC ont été visés dans le détroit d’Ormuz en deux soirs. Les pays du Golfe ont condamné les attaques.

    Gaza : une délégation du Hamas attendue au Caire pour discuter de l’accord

    Conduite par Khalil al-Hayya, une délégation du Hamas est attendue au Caire pour discuter de l’accord de cessez-le-feu à Gaza.

    Coupe du Roi d’Arabie saoudite : les 32es de finale lancent la 40e édition

    La Coupe du Roi d’Arabie saoudite lance ses 32es de finale sur quatre jours, avec 32 clubs engagés dans cette 40e édition.

    à Lire

    Categories