In diesem Tutorial werden Sie durch die Entwicklung eines generativen KI-gestützten persönlichen Stylisten geführt. Dieses Tutorial nutzt das IBM® Granite Vision 3.2 Large Language Models (LLM) für die Verarbeitung von Bildeingabe und Granite 3.2 mit den neuesten erweiterten Funktionen für die Formulierung anpassbarer Outfit-Ideen.
Wie oft erwischen Sie sich dabei zu denken: „Was soll ich heute anziehen? Ich weiß gar nicht, wo ich bei der Auswahl in meinem Kleiderschrank anfangen soll!“ Dieses Dilemma kennen viele von uns. Dank modernster Modelle der Künstlichen Intelligenz (KI) muss diese Entscheidung jedoch keine Herausforderung mehr sein.
Unsere KI-gestützte Lösung umfasst die folgenden Phasen:
3. Nach Übermittlung der Eingabe iteriert das multimodale Granite Vision 3.2-Modell die Liste der Bilder und gibt die folgende Ausgabe zurück:
4. Das Granite 3.2-Modell mit erweiterter Logik dient dann als Modestylist. Das LLM nutzt die Ausgabe des Vision-Modells, um eine Outfit-Empfehlung zu geben, die für die Veranstaltung des Benutzers geeignet ist.
5. Der Outfit-Vorschlag, ein Datenrahmen mit Artikeln, die der Benutzer hochgeladen hat, und die Bilder in der beschriebenen personalisierten Empfehlung werden alle an den Nutzer zurückgegeben.
Sie benötigen ein IBM Cloud-Konto, um für das Erstellen eines watsonx.ai™-Projekts.
Um die watsonx Programmierschnittstelle (API) nutzen zu können, müssen Sie die folgenden Schritte ausführen. Hinweis: Sie können dieses Tutorial auch auf GitHub aufrufen.
Melden Sie sich bei watsonx.ai mit Ihrem IBM Cloud-Konto an.
Erstellen Sie ein watsonx.ai-Projekt.
Sie können Ihre Projekt-ID in Ihrem Projekt abrufen. Klicken Sie auf die Registerkarte Verwalten. Kopieren Sie dann die Projekt-ID aus dem Abschnitt Details der Seite Allgemein. Sie benötigen diese ID für dieses Tutorial.
Erstellen Sie eine Instanz des watsonx.ai Runtime Service (wählen Sie den Lite-Plan als kostenlose Instanz).
Generieren Sie einen API-Schlüssel.
Verknüpfen Sie den watsonx.ai Runtime Service mit dem Projekt, das Sie in watsonx.ai erstellt haben.
Für ein interaktiveres Erlebnis bei der Verwendung dieses KI-Tools klonen Sie das GitHub-Repository und folgen Sie den Einrichtungsanweisungen in der README.md-Datei innerhalb des KI-Stylisten-Projekts, um die Streamlit-Anwendung auf Ihrem lokalen Computer zu starten. Wenn Sie lieber Schritt für Schritt vorgehen möchten, erstellen Sie ein Jupyter Notebook und fahren Sie mit diesem Tutorial fort.
Für dieses Tutorial benötigen wir einige Bibliotheken und Module. Stellen Sie sicher, dass Sie Folgendes importieren; wenn diese nicht installiert sind, können Sie das Problem mit einer schnellen PIP-Installation beheben.
Um unsere Zugangsdaten festzulegen, benötigen wir die
Wir können die
Dann
Wir können die Modellschnittstelle auch mithilfe der
Um unsere Bilder so zu kodieren, dass sie für das LLM verständlich sind, kodieren wir sie in Bytes, die wir dann in eine UTF-8-Darstellung dekodieren. In diesem Fall befinden sich unsere Bilder im lokalen Bilderverzeichnis. Sie finden Beispielbilder im Verzeichnis KI-Stylist in unserem GitHub-Repository.
Nachdem wir unsere Bilder geladen und kodiert haben, können wir das Vision-Modell abfragen. Unser Prompt ist spezifisch auf unsere gewünschte Ausgabe ausgerichtet, um die Kreativität des Modells einzuschränken, da wir eine gültige JSON-Ausgabe erhalten möchten. Wir speichern die Beschreibung, die Kategorie und den Anlass jedes Bildes in einer Liste namens
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"
}
Nachdem wir nun jedes Kleidungsstück und jeden Schuh kategorisiert haben, wird es für das Modell viel einfacher sein, ein Outfit für den ausgewählten Anlass zu generieren. Lassen Sie uns das Argumentationsmodell instanziieren und abfragen.
Um die Dateinamen mit den Bildbeschreibungen abzugleichen, können wir die Liste der Bildbeschreibungen auflisten und eine Liste von Wörterbüchern erstellen, in denen wir die Beschreibung, die Kategorie, den Anlass und den Dateinamen jedes Elements in den jeweiligen Feldern speichern.
Nun fragen wir das Granite 3.2-Modell mit Argumentation ab, um ein Outfit für unsere angegebenen Kriterien unter Verwendung der
Ausgabe:
Hier ist mein Gedankengang:
Das Outfit sollte für einen entspannten Vormittag im Park im Herbst geeignet sein.
– Ich wähle ein Hemd, eine Hose und ein Paar Schuhe aus, die in die Anlasskategorie „Leger“ passen.
- Ich vermeide formelle oder übermäßig elegante Kleidung und wähle Kleidung, die für die Aktivitäten im Park bequem ist.
Hier ist meine Antwort:
Für einen ungezwungenen Morgen im Park im Herbst schlage ich das folgende Outfit vor:
1. **Hemd**: Ein blaues kariertes Hemd mit Kragen und langen Ärmeln (Datei: 'image13.j')
- Das Karomuster ist ein Klassiker für den Herbst und passt gut zu einer ungezwungenen Parkatmosphäre. Die langen Ärmel bieten einen gewissen Schutz vor kühleren Morgentemperaturen.
2. **Hose**: Khakifarbene Hose mit geknöpftem Bund und Knopfverschluss vorne (Datei: 'image7.jpeg')
- Khaki ist eine vielseitige Wahl, die sowohl zum lässigen Stil passt als auch einen schönen Kontrast zum karierten Hemd bildet. Sie ist praktisch und bequem zum Spazierengehen.
3. **Schuhe**: Ein Paar hellbraune Lederstiefel mit klobiger Sohle und hohem Schaft (Datei: 'image3.jpeg')
- Hellbraune Lederstiefel bieten eine stilvolle und gleichzeitig bequeme Option. Die klobige Sohle bietet guten Halt und Stabilität und ist ideal für die Begehung von Parkwegen oder unebenem Gelände.
Diese Kombination sorgt für einen entspannten, gepflegten Look, der sich für einen legeren Morgenausflug eignet und gleichzeitig Komfort und Praktikabilität berücksichtigt.
Mithilfe dieser generierten Outfitbeschreibung können wir auch die Kleidungsstücke anzeigen, die das Model empfiehlt! Dazu können wir einfach die Dateinamen extrahieren. Falls das Model denselben Dateinamen zweimal erwähnt, ist es wichtig zu überprüfen, ob das Bild nicht bereits angezeigt wurde, während wir die Liste der Bilder wiederholen. Dies können wir erreichen, indem wir die angezeigten Bilder in der
In diesem Tutorial haben Sie ein System entwickelt, das mithilfe von KI Stilberatung für einen bestimmten Anlass bietet. Anhand von Fotos oder Screenshots der Kleidung des Nutzers werden Outfits individuell an die vorgegebenen Kriterien angepasst. Das Granite-Vision-3-2-2b-Modell war für die Kennzeichnung und Kategorisierung der einzelnen Elemente von entscheidender Bedeutung. Darüber hinaus nutzte das Granite-3-2-8B-instruct-Modell seine Funktionen, um personalisierte Outfit-Ideen zu generieren.
Mögliche nächste Schritte zur Weiterentwicklung dieser Anwendung sind:
Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelle Lernfunktionen mit IBM watsonx.ai, einem Studio der nächsten Generation für AI Builder in Unternehmen. Erstellen Sie KI-Anwendungen mit einem Bruchteil der Zeit und Daten.
Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.
Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.