Story Teller ist eine Streamlit-Anwendung, die eine Geschichte basierend auf einem Eingabebild generiert. Es nutzt die Hugging Face Transformers-Bibliothek und das Salesforce BLIP Image Captioning-Modell.
Führen Sie den folgenden Befehl aus, um die erforderlichen Abhängigkeiten zu installieren:
pip install -r requirements.txt
Stellen Sie sicher, dass die erforderlichen Abhängigkeiten in der Datei requirements.txt
angegeben sind.
Um die Anwendung zu verwenden, führen Sie die folgenden Schritte aus:
Führen Sie die Streamlit-Anwendung aus, indem Sie den folgenden Befehl ausführen:
streamlit run app.py
Greifen Sie über die bereitgestellte URL in der Konsole auf die Anwendung zu.
Die Anwendungsoberfläche wird mit dem Titel „Story Teller“ und der Anweisung „Bild hochladen und eine Geschichte abrufen“ angezeigt.
Klicken Sie auf die Schaltfläche „Datei hier hochladen …“, um eine Bilddatei auszuwählen (unterstützte Formate: PNG, JPEG, JPG).
Sobald das Bild hochgeladen ist, wird es auf der Seite angezeigt.
Die Anwendung verarbeitet das hochgeladene Bild mithilfe des Salesforce BLIP Image Captioning-Modells und generiert eine Textbeschreibung des Bildes.
Der generierte Text wird dann an die Hugging Face API übergeben, um eine Geschichte basierend auf dem Text zu generieren.
Die Anwendung zeigt die generierte Story auf der Seite an.
Sollten während des Vorgangs Fehler auftreten, wird auf der Seite eine Fehlermeldung angezeigt und Sie können es erneut versuchen.
Die Anwendung benötigt ein API-Token von Hugging Face, um auf das Story-Generierungsmodell zuzugreifen. Um ein API-Token zu erhalten, führen Sie die folgenden Schritte aus:
Registrieren Sie sich oder melden Sie sich bei Ihrem Hugging Face-Konto unter https://huggingface.co/ an.
Gehen Sie nach der Anmeldung zu Ihren Kontoeinstellungen und navigieren Sie zum Abschnitt „API-Token“.
Generieren Sie ein neues API-Token, kopieren Sie es und ersetzen Sie den Platzhalter "your api key"
in der Models
-Klasse von text_model.py
durch Ihr tatsächliches API-Token.
Die Models
-Klasse in text_model.py
kapselt die Funktionalität der Anwendung. Es enthält die folgenden Methoden:
__init__()
:
img2text(url)
:
story(payload)
:
chain(payload, num=0)
:
story()
auf und aktualisiert die Nutzlast, bis die gewünschte Anzahl an Storys (in diesem Fall 50) generiert ist. Auch der Fortschrittsbalken wird entsprechend aktualisiert. Wenn Sie neugierig sind und die Backend-Modelle einfach ausprobieren möchten, führen Sie den folgenden Befehl aus:
python text_model.py
Stellen Sie sicher, dass Sie die erforderlichen Abhängigkeiten installiert haben, wie im Installationsabschnitt erwähnt.
Beiträge zur Story Teller-Anwendung sind willkommen! Wenn Sie Probleme feststellen oder Verbesserungsvorschläge haben, können Sie gerne ein Problem eröffnen oder eine Pull-Anfrage einreichen.