Avec l’évolution des technologies pilotées par l’IA, l’analyse d’images devient de plus en plus sophistiquée, ce qui permet d’obtenir des informations plus approfondies à partir de données visuelles. Grâce aux avancées des modèles de machine learning, l’IA peut traiter les images téléchargées, extraire des métadonnées et prendre en charge la modération de contenu à grande échelle. Ces outils d’analyse contribuent également à la modélisation prédictive pour des applications telles que la tarification, l’optimisation visuelle et la génération d’images, rendant les workflows plus rentables et plus efficaces. En intégrant des approches fondées sur les données, l’IA améliore l’automatisation et la prise de décision, offrant de nouvelles possibilités d’interprétation visuelle intelligente.
Grâce aux progrès rapides de la vision par ordinateur et de l’IA avancée, les entreprises et les chercheurs exploitent les technologies basées sur l’image pour un large éventail d’applications. De la classification des images et de l’OCR (reconnaissance optique de caractères) à la segmentation et à l’analyse vidéo, les outils alimentés par l’IA transforment la façon dont nous extrayons et analysons les informations visuelles.
Dans des secteurs comme les médias sociaux, l’IA améliore la modération du contenu en analysant les images au niveau du pixel, garantissant ainsi la conformité et améliorant l’engagement. Les entreprises peuvent également utiliser l’API Vision pour automatiser le traitement des documents, en convertissant fichiers numérisés, les fichiers Excel et les rapports en données structurées. Ces applications rationalisent les workflows, améliorent l’efficacité et permettent aux entreprises d’extraire des informations pertinentes à partir de jeux de données à grande échelle.
Ces cas d’utilisation soulignent le rôle croissant de l’analyse d’images alimentée par l’IA dans les secteurs. Dans ce tutoriel, nous nous concentrons sur l’application de ces fonctionnalités aux présentations PowerPoint, permettant des questions-réponses interactives sur le texte et les images grâce à des modèles avancés de vision par ordinateur et d’IA.
Les grands modèles de langage (LLM) ont révolutionné le machine learning en permettant d’obtenir des informations importantes à partir de vastes jeux de données de texte non structuré. Cependant, les LLM traditionnels ont souvent du mal à analyser les images, ce qui rend difficile l’extraction d’informations à partir des graphiques, diagrammes et autres éléments visuels contenus dans les présentations.
Le grand modèle de langage (LLM) IBM Granite Vision 3.2 comble cette lacune en intégrant des outils d’IA à des algorithmes avancés de détection d’objets, ce qui permet aux utilisateurs d’automatiser l’analyse multimodale. Ce tutoriel montre comment rationaliser votre workflow en utilisant l’IA pour extraire et analyser le texte et les images des fichiers PowerPoint (.pptx). Ce système de questions-réponses interactif vous permettra d’améliorer les informations tirées des présentations.
Dans ce tutoriel, vous apprendrez à construire un système piloté par l’IA capable de répondre en temps réel aux questions des utilisateurs à partir de diapositives PowerPoint, en utilisant le texte et les images comme contexte. Ce tutoriel vous guidera lors des étapes suivantes :
Traitement PowerPoint : extraire des textes et des images des fichiers .pptx pour une analyse alimentée par l’IA.
Questions-réponses textuelles : utiliser Granite Vision pour générer des réponses à partir du texte extrait des diapositives.
Questions-réponses basées sur les images : demander à l’IA d’analyser les images, les graphiques et les diagrammes contenues dans les diapositives.
Formulation optimisée des questions : apprenez à formuler des questions efficaces pour obtenir des réponses exactes et pertinentes de la part de l’IA.
Ce tutoriel s’appuie sur les technologies d’IA de pointe suivantes :
1. IBM Granite Vision : un puissant modèle de langage-vision (VLM) qui traite le texte et les images.
2. Python-PPTX : une bibliothèque pour extraire des textes et des images à partir de fichiers PowerPoint.
3. Transformers : un cadre pour traiter efficacement les entrées des modèles d’IA.
À la fin de ce tutoriel, vous pourrez :
1. Extraire et traiter le contenu PowerPoint (texte et images).
2. Utiliser le modèle Granite Vision 3.2 pour les questions-réponses pilotées par l’IA portant sur le contenu des diapositives.
3. Poser à l’IA des questions pertinentes sur le texte et les images.
4. Améliorer l’interaction des utilisateurs avec les présentations grâce aux explications alimentées par l’IA.
Ce tutoriel s’adresse aux développeurs d’IA, aux chercheurs, aux créateurs de contenu et aux professionnels qui souhaitent améliorer leurs présentations avec des informations pilotées par l’IA.
Vous devez disposer d’un compte IBM Cloud pour créer un projet watsonx.ai.
Bien que vous puissiez faire votre choix parmi plusieurs outils, ce tutoriel vous guide pas à pas pour configurer un compte IBM à l’aide d’un Jupyter Notebook.
Connectez-vous à watsonx.ai en utilisant votre compte IBM Cloud.
2. Créez un projet watsonx.ai. Vous pouvez obtenir l’ID de votre projet à partir de ce dernier. Cliquez sur l’onglet Manage (Gérer). Ensuite, copiez l’ID du projet à partir de la section Details (Détails) de la page General (Général). Vous aurez besoin de cet ID pour ce tutoriel.
3. Créez un Jupyter Notebook.
4. Téléchargez le fichier PPTX en tant qu’actif dans watsonx.ai
Cette étape ouvre un environnement de notebook dans lequel vous pourrez copier le code de ce tutoriel. Vous pouvez également télécharger ce notebook localement sur votre système et le charger dans votre projet watsonx.ai en tant qu’actif. Ce tutoriel est également disponible sur GitHub.
Remarque : ce tutoriel requiert une infrastructure GPU pour exécuter le code. Il est donc recommandé d’utiliser watsonx.ai comme illustré dans ce tutoriel.
Afin de pouvoir extraire et traiter le contenu PowerPoint, nous devons installer les bibliothèques Python nécessaires :
transformers donne accès à IBM Granite Vision et à d’autres modèles d’IA.
torch : cadre d’apprentissage profond nécessaire au bon fonctionnement du modèle.
python-pptx : bibliothèque pour extraire des textes et des images à partir de fichiers PowerPoint (.pptx).
Exécutez les commandes suivantes pour installer et mettre à jour ces paquets :
Lors de cette étape, nous importons les bibliothèques nécessaires pour traiter les fichiers PowerPoint, gérer les images et interagir avec le modèle IBM Granite Vision :
Lors de cette étape, nous établissons une connexion à IBM Cloud Object Storage pour accéder aux fichiers PowerPoint stockés dans le cloud et les récupérer.
Vous pouvez profiter du support python, fourni via un fork de la bibliothèque boto3 avec des fonctionnalités pour tirer le meilleur parti d’IBM® Cloud Object Storage. Consultez la documentation officielle pour obtenir ces identifiants.
ibm_boto3.client : crée un client pour interagir avec IBM Cloud Object Storage.
ibm_api_key_id : votre clé d’API IBM Cloud pour l’authentification.
ibm_auth_endpoint : le point de terminaison d’authentification pour IBM Cloud.
endpoint_url : le point de terminaison spécifique du stockage d’objets cloud (COS).
Remarque : lorsque vous téléchargez un fichier en tant qu’actif dans watsonx.ai, il est automatiquement stocké dans IBM Cloud Object Storage. Lorsque vous importez le fichier dans un Jupyter Notebook, watsonx.ai génère et insère les identifiants nécessaires (clé d’API, point de terminaison d’authentification et point de terminaison de stockage) dans votre notebook. Les identifiants IBM Cloud Object Storage fournis permettent un accès sécurisé pour récupérer les fichiers stockés, ainsi qu’une intégration fluide entre les actifs watsonx.ai et l’environnement du notebook pour un traitement ultérieur.
En configurant cette connexion, nous pourrons facilement importer et traiter les présentations PowerPoint stockées dans IBM Cloud à des fins d’analyse alimentée par l’IA.
Lors de cette étape, nous spécifions le compartiment IBM Cloud Object Storage et les détails du fichier pour localiser et récupérer la présentation PowerPoint (.pptx) à des fins de traitement.
Consultez ce document officiel pour obtenir les détails de configuration des compartiments via l’interface utilisateur IBM Cloud.
bucket : le nom du compartiment IBM Cloud Object Storage dans lequel le fichier est stocké.
object_key : le nom exact du fichier de présentation PowerPoint à consulter
Lors de cette étape, nous téléchargeons le fichier PowerPoint (.pptx) à partir d’IBM Cloud Object Storage pour le traiter localement.
cos_client.get_object() : extrait le fichier à partir du compartiment et de la clé d’objet spécifiés.
streaming_body.read() : lit le contenu du fichier dans un flux d’octets en vue d’un traitement ultérieur.
Lors de cette étape, nous stockons localement le fichier PowerPoint téléchargé (.pptx) afin qu’il puisse être traité.
pptx_path : définit le nom de fichier local dans lequel la présentation sera enregistrée.
open(pptx_path, 'wb') : ouvre le fichier en mode écriture binaire pour stocker les octets récupérés.
f.write(pptx_bytes) : écrit le contenu du fichier téléchargé dans le fichier .pptx nouvellement créé.
Lors de cette étape, nous imprimons un message de confirmation pour nous assurer que le fichier PowerPoint a bien été enregistré. La fonction « print » affiche le chemin d’accès au fichier .pptx stocké localement.
Lors de cette étape, nous définissons une fonction pour traiter le fichier PowerPoint (.pptx) et en extraire le contenu :
slide_texts : stocke le texte extrait de chaque diapositive.
slide_images : stocke les images extraites sous forme d’objets de la bibliothèque d’images Python (PIL), ainsi que leurs numéros de diapositive correspondants.
Fait des itérations sur les diapositives pour extraire le texte à partir des formes recueillant le contenu textuel et des images intégrées aux diapositives.
Cette fonction sépare le texte et les images du PPT, permettant à l’agent de chat de répondre facilement aux questions des utilisateurs en s’appuyant sur le contenu extrait.
Lors de cette étape, nous appelons la fonction pour extraire le texte et les images du fichier PowerPoint enregistré.
pptx_path : spécifie le chemin local du fichier PowerPoint téléchargé.
extract_text_and_images_from_pptx(pptx_path) : extrait le texte et les images des diapositives.
slide_texts : stocke le texte extrait des diapositives.
slide_images : stocke les images extraites.
Lors de cette étape, nous imprimons le texte extrait de chaque diapositive pour vérifier que le contenu PowerPoint a été traité correctement.
enumate(se_texts) : itère sur le texte extrait, en associant chaque élément au numéro de diapositive correspondant.
Separator('-' * 40) : permet de distinguer visuellement le contenu des différentes diapositives.
Lors de cette étape, nous confirmons et visualisons les images extraites des diapositives PowerPoint.
len : compte le nombre total d’images extraites.
img.show() : ouvre chaque image extraite pour l’examiner.
Vous pouvez remplacer « .show () » par « .save ('filename.png') » pour stocker les images localement.
Lors de cette étape, nous lançons le modèle IBM Granite-Vision-3.2-2B pour le traitement de texte et d’images alimenté par l’IA.
MODEL_NAME précise le modèle Granite Vision pré-entraîné à utiliser, et torch.cuda.is_available() vérifie si un GPU (CUDA) est disponible pour un traitement plus rapide ; sinon, il utilise par défaut le processeur.
Lors de cette étape, nous chargeons le modèle IBM Granite Vision et son processeur correspondant pour gérer les entrées texte et image.
AutoProcessor.from_pretrained(MODEL_NAME, trust_remote_code=True) : charge le processeur pré-entraîné pour formater les entrées (texte et images) du modèle.
AutoModelForVision2Seq.from_pretrained(MODEL_NAME, trust_remote_code=True, ignore_mismatched_sizes=True).to(device) : charge le modèle Granite Vision et le transfère au périphérique disponible (GPU ou CPU).
où
trust_remote_code=True : garantit la compatibilité avec les implémentations de modèle personnalisées.
ignore_mismatched_sizes=Vrai : évite les erreurs en cas d’incohérences mineures dans la taille du modèle.
Remarque : Le chargement peut prendre un certain temps.
Lors de cette étape, nous créons une fonction de chat qui permet aux utilisateurs de poser des questions en s’appuyant sur le texte extrait des diapositives PowerPoint.
Fonctionnement :
Lors de cette étape, nous créons une fonction de chat qui permet aux utilisateurs de poser des questions sur les images extraites des diapositives PowerPoint.
Fonctionnement :
Lors de cette étape, nous appelons la fonction chat_with_text pour permettre à l’utilisateur de poser des questions sur le texte extrait des diapositives PowerPoint.
Fonctionnement :
SORTIE
Question : L’intégration constitue-t-elle un avantage concurrentiel pour votre entreprise ?
<|assistant|>
Oui, l’intégration est un avantage concurrentiel pour votre entreprise. Elle vous permet d’avancer plus vite et de surmonter les difficultés, mais elle peut aussi engendrer une hausse des coûts, des inefficacités, des risques de sécurité et une expérience utilisateur dégradée, compromettant la compétitivité de votre entreprise et sa capacité à prospérer dans un environnement économique en constante évolution.
Poser une question portant sur le texte de la présentation (ou taper « exit » pour quitter) : exit
Lorsque l’utilisateur a demandé : « L’intégration constitue-t-elle un avantage concurrentiel pour votre entreprise ? », le modèle Granite Vision a traité la requête en utilisant le texte de la diapositive PowerPoint et a généré une réponse.
Le modèle a reconnu l’« intégration » comme concept d’entreprise et a fourni une réponse structurée à partir de la« diapositive numéro 7» expliquant à la fois ses avantages et ses risques. Il a souligné que l’intégration améliore la rapidité et la résolution de problèmes, mais a également relevé des inconvénients potentiels tels que l’augmentation des coûts, les inefficacités, les risques de sécurité et une mauvaise expérience utilisateur si elle n’est pas gérée efficacement.
Cette réponse démontre la capacité du modèle à interpréter le texte extrait de la diapositive et à générer une réponse contextuellement pertinente et équilibrée.
Lors de cette étape, nous appelons la fonction chat_with_images pour permettre à l’utilisateur de poser des questions sur les images extraites des diapositives PowerPoint.
Fonctionnement :
SORTIE
Poser une question portant sur les images de la présentation (ou taper « exit » pour quitter) : que représente cette image ?
Saisir le numéro de la diapositive (1 à 41) pour obtenir des informations sur son image : 2
Réponse du modèle : <|system|>
Une discussion entre un utilisateur curieux et un assistant d’intelligence artificielle. L’assistant donne des réponses utiles, détaillées et polies aux questions de l’utilisateur.
<|user|>
que représente cette image ?
<|assistant|>
modèle 3D
Poser une question portant sur les images de la présentation (ou taper « exit » pour quitter) : explique cette image
Saisir le numéro de la diapositive (1 à 41) pour obtenir des informations sur son image : 2
Réponse du modèle : <|system|>
Une discussion entre un utilisateur curieux et un assistant d’intelligence artificielle. L’assistant donne des réponses utiles, détaillées et polies aux questions de l’utilisateur.
<|user|>
explique cette image
<|assistant|>
l’image est un modèle 3D d’un cube
Poser une question portant sur les images de la présentation (ou taper « exit » pour quitter) : peux-tu expliquer ce graphique ?
Saisir le numéro de la diapositive (1 à 41) pour obtenir des informations sur son image : 1
Réponse du modèle : <|system|>
Une discussion entre un utilisateur curieux et un assistant d’intelligence artificielle. L’assistant donne des réponses utiles, détaillées et polies aux questions de l’utilisateur.
<|user|>
peux-tu expliquer ce graphique ?
<|assistant|>
Ceci est un graphique à barres intitulé « Progression de la maturité du marché du cloud d’entreprise de la 1re à la 4e génération ». L’axe des x mesure la progression des générations tandis que l’axe des y montre la progression de la maturité dans le temps. Le graphique montre qu’au fil des générations, le marché du cloud d’entreprise gagne en maturité.
Poser une question portant sur les images de la présentation (ou taper « exit » pour quitter) : exit
Lorsque l’utilisateur a posé des questions à propos des images, le modèle Granite Vision a traité les images sélectionnées et a généré des réponses en fonction de sa compréhension du contenu visuel.
Pour la question « Que représente cette image ? » (diapositive 2), le modèle a identifié l’image comme étant un « modèle 3D », mais il a fourni une description minimale.
Pour « Explique cette image » (diapositive 2), le modèle a affiné sa réponse, en l’identifiant comme le « modèle 3D d’un cube ».
À la question « Pouvez-vous expliquer ce graphique ? » (diapositive 1), le modèle a fourni une description détaillée du graphique à barres, expliquant son titre, son axe des x, son axe des y et la tendance générale, indiquant comment la maturité du cloud d’entreprise progresse au fil des générations.
Cette étape permet aux utilisateurs d’interagir avec des éléments visuels, tels que des graphiques, des schémas et des infographies, en utilisant le modèle IBM Granite Vision pour des analyses et des explications intelligentes
Ce tutoriel démontre la capacité d’IBM Granite Vision à interpréter des images.