Ce tutoriel vous guidera pas à pas pour créer un styliste personnel alimenté par l’intelligence artificielle générative. Ce tutoriel utilise le grand modèle de langage (LLM) IBM Granite Vision 3.2 pour le traitement des entrées images, et Granite 3.2, avec des capacités de raisonnement améliorées, pour formuler des idées de tenue personnalisables.
Combien de fois vous est-il arrivé de vous demander : « Comment vais-je m’habiller aujourd’hui ? Je manque d’inspiration ! » Un dilemme auquel beaucoup d’entre nous sont confrontés. Grâce aux modèles d’intelligence artificielle (IA) de pointe, fini le tracas.
Notre solution pilotée par l’IA comporte les étapes suivantes :
3. Lors de la soumission de l’entrée, le modèle multimodal Granite Vision 3.2 itère sur la liste d’images et renvoie la sortie suivante :
4. Le modèle Granite 3.2, doté d’un raisonnement renforcé, sert de styliste. Le LLM utilise la sortie du modèle Vision pour recommander une tenue adaptée à l’événement de l’utilisateur.
5. La tenue suggérée, un cadre de données portant sur les articles téléchargés par l’utilisateur et les images de la recommandation personnalisée décrite sont toutes renvoyées à l’utilisateur.
Vous devez disposer d’un compte IBM® Cloud pour créer un projet watsonx.ai.
Pour utiliser l’interface de programmation d’application (API) watsonx, vous devrez suivre les étapes suivantes. Notez que vous pouvez également accéder à ce tutoriel sur GitHub.
Connectez-vous à watsonx.ai à l’aide de votre compte IBM Cloud.
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.
Créez une instance de service d’exécution watsonx.ai (choisissez le forfait Lite, qui est une instance gratuite).
Générez une clé d’API.
Associez le service d’exécution watsonx.ai au projet que vous avez créé dans watsonx.ai.
Pour une expérience plus interactive avec cet outil d’IA, clonez le dépôt GitHub et suivez les instructions de configuration dans le fichier README.md du projet styliste IA pour lancer l’application Streamlit sur votre machine. Sinon, si vous préférez suivre les étapes une à une, créez un Jupyter Notebook et poursuivez ce tutoriel.
Nous avons besoin de quelques bibliothèques et modules pour ce tutoriel. Veillez à importer les éléments suivants ; s’ils ne sont pas installés, vous pouvez résoudre rapidement ce problème grâce à l’installation pip.
Pour définir nos identifiants, nous avons besoin de l’élément
Nous pouvons utiliser la
Le
Nous pouvons également instancier l’interface du modèle en utilisant
Pour encoder nos images d’une manière assimilable par le LLM, nous le ferons en octets, puis nous les décoderons en représentation UTF-8. Dans ce cas, nos images se trouvent dans le répertoire d’images local. Vous trouverez des exemples d’images dans le répertoire styliste IA de notre dépôt GitHub.
Maintenant que nous avons chargé et encodé nos images, nous pouvons interroger le modèle Vision. Notre prompt est adapté à la sortie souhaitée afin de limiter la créativité du modèle lorsque nous recherchons une sortie JSON valide. Nous stockerons la description, la catégorie et l’occasion de chaque image dans une liste appelée
Output:
{
"description": "A pair of polished brown leather dress shoes with a brogue detailing on the toe box and a classic oxford design.",
"category": "shoes",
"occasion": "formal"
}
{
"description": "A pair of checkered trousers with a houndstooth pattern, featuring a zippered pocket and a button closure at the waist.",
"category": "pants",
"occasion": "casual"
}
{
"description": "A light blue, button-up shirt with a smooth texture and a classic collar, suitable for casual to semi-formal occasions.",
"category": "shirt",
"occasion": "casual"
}
{
"description": "A pair of khaki pants with a buttoned waistband and a button closure at the front.",
"category": "pants",
"occasion": "casual"
}
{
"description": "A blue plaid shirt with a collar and long sleeves, featuring chest pockets and a button-up front.",
"category": "shirt",
"occasion": "casual"
}
{
"description": "A pair of bright orange, short-sleeved t-shirts with a crew neck and a simple design.",
"category": "shirt",
"occasion": "casual"
}
{
"description": "A pair of blue suede sneakers with white laces and perforations, suitable for casual wear.",
"category": "shoes",
"occasion": "casual"
}
{
"description": "A pair of red canvas sneakers with white laces, isolated on a white background.",
"category": "shoes",
"occasion": "casual"
}
{
"description": "A pair of grey dress pants with a smooth texture and a classic design, suitable for formal occasions.",
"category": "pants",
"occasion": "formal"
}
{
"description": "A plain white T-shirt with short sleeves and a crew neck, displayed from the front and back.",
"category": "shirt",
"occasion": "casual"
}
{
"description": "A black short-sleeved t-shirt with a crew neck and a simple design.",
"category": "shirt",
"occasion": "casual"
}
{
"description": "Black pants with a zippered pocket and a buttoned fly, showing the waistband and pocket details.",
"category": "pants",
"occasion": "casual"
}
{
"description": "A pair of tan leather boots with a chunky sole and a high-top design, suitable for casual wear.",
"category": "shoes",
"occasion": "casual"
}
Maintenant que nous avons catégorisé chaque vêtement et chaque chaussure, il sera beaucoup plus facile pour le modèle de raisonnement de générer une tenue pour l’occasion sélectionnée. Instancions et interrogeons le modèle de raisonnement.
Pour aligner les noms de fichiers avec les descriptions d’images, nous pouvons énumérer les descriptions d’images et créer une liste de dictionnaires où nous stockons la description, la catégorie, l’occasion et le nom de fichier pour chaque article dans les champs correspondants.
Interrogeons maintenant le modèle Granite 3.2 avec un raisonnement pour produire une tenue correspondant aux critères spécifiés en utilisant la
Output:
Voici mon mécanisme de pensée :
- La tenue doit être adaptée à une matinée décontractée au
parc en automne.
- Je choisirais une chemise, un pantalon et une paire de chaussures qui correspondent à la catégorie « décontractée ».
- J’éviterais les vêtements formels ou trop habillés et choisirais des vêtements confortables pour les activités au parc.
Voici ma réponse :
Pour une matinée décontractée au parc à l’automne, je suggère la tenue suivante :
1. **Chemise** : une chemise bleue à carreaux avec un col et des manches longues (fichier : ’image13.jpeg’)
- Le motif à carreaux est classique pour l’automne et s’associe bien aux environnements de parc décontractés. Les manches longues offrent une certaine protection contre les températures matinales plus froides.
2. **Pantalon** : pantalon kaki avec ceinture boutonnée et fermeture boutonnée sur le devant (fichier : ’image7.jpeg’)
- Le kaki est un choix polyvalent qui s’accorde bien avec le style décontracté et offre un bel équilibre avec la chemise à carreaux. C’est pratique et confortable pour se promener.
3. **Chaussures** : une paire de boots en cuir beige à semelle épaisse et tige montante (fichier : ’image3.jpeg’)
- Les boots en cuir beige clair sont une option élégante et confortable. La semelle épaisse offre une bonne adhérence et un bon maintien, idéal pour parcourir les sentiers ou les terrains accidentés.
Cette combinaison offre un look informel et soigné, idéal pour une sortie matinale décontractée, tout en restant confortable et pratique.
Grâce à cette description de tenue générée, nous pouvons également afficher les vêtements que le modèle recommande. Pour ce faire, nous pouvons simplement extraire les noms de fichiers. Si le modèle mentionne deux fois le même nom de fichier, il est important de vérifier si l’image n’a pas déjà été affichée au fur et à mesure que nous itérons la liste des images. Pour ce faire, nous stockons les images affichées dans la
Dans ce tutoriel, vous avez construit un système qui utilise l’IA pour fournir des conseils vestimentaires adaptés à l’événement spécifié par l’utilisateur. À partir de photos ou de captures d’écran des vêtements de l’utilisateur, les tenues sont personnalisées pour répondre aux critères spécifiés. Le modèle Granite-Vision-3-2-2b a joué un rôle critique dans l’étiquetage et la catégorisation de chaque article. De plus, le modèle Granite-3-2-8B-instruct a exploité ses capacités de raisonnement pour générer des idées de tenues personnalisées.
Les prochaines étapes pour développer cette application peuvent inclure :
Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.
Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.
Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.