In questo tutorial ti guideremo attraverso la creazione di uno stylist personale basato su AI generativa. Questo tutorial utilizza il modello linguistico di grandi dimensioni (LLM) IBM® Granite Vision 3.2 per elaborare l'input delle immagini e Granite 3.2 con le ultime funzionalità di ragionamento avanzate per formulare idee personalizzabili di outfit.
Quante volte ti ritrovi a pensare: "Cosa mi metto oggi? Non so nemmeno da dove cominciare a scegliere tra quello che ho nell'armadio!" Questo è un dilemma che abbiamo entrambi. Ma, utilizzando modelli di intelligenza artificiale (IA ) all'avanguardia, non sarà più un problema.
La nostra soluzione basata sull'AI è composta dalle seguenti fasi:
3. Al momento dell'invio dell'input, il modello multimodale Granite Vision 3.2 itera sulla lista delle immagini e restituisce il seguente output:
4. Il modello Granite 3.2 con ragionamento avanzato funge quindi da fashion stylist. L'LLM utilizza l'output del modello Vision per fornire una raccomandazione di abbigliamento adatta all'evento dell'utente.
5. Il suggerimento di abbigliamento, un frame di dati degli articoli che l'utente ha caricato e le immagini nella raccomandazione personalizzata descritta vengono tutti restituiti all'utente.
Per creare un progetto watsonx.ai è necessario un account IBM® Cloud.
Per utilizzare l'application programming interface (API) watsonx, è necessario completare i seguenti passaggi. Nota: puoi accedere a questo tutorial anche su GitHub.
Accedi a watsonx.ai utilizzando il tuo account IBM Cloud.
Crea un progetto watsonx.ai.
Puoi ottenere l'ID del tuo progetto dall'interno del tuo progetto. Clicca sulla scheda Gestisci. Quindi, copia l'ID del progetto dalla sezione Dettagli della pagina Generali. Per questo tutorial ti serve questo ID.
Crea un'istanza di servizio watsonx.ai Runtime (scegli il piano Lite, che è un'istanza gratuita).
Genera una chiave API.
Associa il servizio watsonx.ai Runtime al progetto che hai creato in watsonx.ai.
Per un'esperienza più interattiva nell'uso di questo strumento AI, clona il repository GitHub e segui le istruzioni di configurazione nel file README.md all'interno del progetto di stylist AI per avviare l'applicazione Streamlit sulla tua macchina locale. In alternativa, se preferisci procedere passo dopo passo, crea un Jupyter Notebook e continua con questo tutorial.
Abbiamo bisogno di alcune librerie e moduli per questo tutorial. Assicurati di importare le seguenti e, se non sono installate, puoi risolvere il problema con una rapida installazione pip.
Per impostare le nostre credenziali, abbiamo bisogno del
Possiamo usare
Il wrapper
Possiamo anche istanziare l'interfaccia del modello usando la
Per codificare le nostre immagini in un modo che sia digeribile per l'LLM, le codificheremo in byte che poi decodificheremo in una rappresentazione UTF-8. In questo caso, le nostre immagini si trovano nella directory di immagini locale. Puoi trovare immagini di esempio nella directory degli stylist AI nel nostro repository GitHub.
Ora che abbiamo caricato e codificato le nostre immagini, possiamo interrogare il modello Vision. Il nostro prompt è specifico per l'output desiderato, per limitare la creatività del modello mentre cerchiamo un output JSON valido. Memorizzeremo la descrizione, la categoria e l'occasione di ogni immagine in un elenco chiamato
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"
}
Ora che abbiamo categorizzato ogni articolo di abbigliamento e di scarpe, sarà molto più facile per il modello di ragionamento generare un outfit per l'occasione selezionata. Istanziamo e interroghiamo il modello di ragionamento.
Per allineare i nomi dei file con le descrizioni delle immagini, possiamo enumerare la lista delle descrizioni delle immagini e creare una lista di dizionari in cui archiviare la descrizione, la categoria, l'occasione e il nome del file di ogni elemento nei rispettivi campi.
Ora, interroghiamo il modello Granite 3.2 con il ragionamento per produrre un abito per i criteri da noi specificati, utilizzando
Output:
Ecco il mio ragionamento:
- L'outfit deve essere adatto a una mattina informale al parco in autunno.
- Selezionerò una camicia, un paio di pantaloni e un paio di scarpe adatti alla categoria "casual".
- Eviterò capi formali o troppo eleganti e sceglierò capi comodi per le attività del parco.
Ecco la mia risposta:
Per una mattinata informale al parco in autunno, ti suggerisco il seguente abbigliamento:
1. **Camicia**: una camicia a quadri blu con colletto e maniche lunghe (file: 'image13.jpeg')
- Il motivo a quadri è un classico dell'autunno e si abbina bene a un'uscita casual nel parco. Le maniche lunghe offrono una certa protezione dalle temperature più fresche del mattino.
2. **Pantaloni**: Pantaloni kaki con cintura e abbottonatura sul davanti (file: 'image7.jpeg')
- Il kaki è una scelta versatile che si adatta all'atmosfera casual e offre anche un bel equilibrio con la camicia a quadri. Sono pratici e comodi per camminare.
3. **Scarpe**: Un paio di stivali in pelle marrone con suola spessa (file: 'image3.jpeg')
- Gli stivali in pelle marrone offrono un'opzione elegante e confortevole. La suola robusta offre una buona aderenza e un buon sostegno, ideale per percorrere i sentieri del parco o i terreni irregolari.
Questa combinazione offre un look rilassato e completo, adatto a un'uscita mattutina informale, tenendo conto anche del comfort e della praticità.
Con questa descrizione dell'outfit, possiamo anche mostrare i capi di abbigliamento consigliati dal modello! Per farlo, possiamo semplicemente estrarre i nomi dei file. Nel caso in cui il modello menzioni due volte lo stesso nome del file, è importante verificare che l'immagine non sia già stata visualizzata mentre iteriamo la lista delle immagini. Possiamo farlo memorizzando le immagini visualizzate
In questo tutorial, hai costruito un sistema che utilizza l'AI per fornire consigli di stile a un evento specifico di un utente. Utilizzando foto o schermate degli abiti dell'utente, gli abiti vengono personalizzati per soddisfare i criteri specificati. Il modello Granite-Vision-3-2-2b è stato critico per etichettare e categorizzare ogni articolo. Inoltre, il modello Granite-3-2-8B-instruct ha utilizzato le sue funzionalità per creare idee di outfit personalizzate.
I prossimi passaggi da compiere per sviluppare questa applicazione possono essere i seguenti:
Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.
Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.
Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.