|
import streamlit as st |
|
from transformers import pipeline |
|
|
|
st.title("🚀 Marketing Text Generator") |
|
st.markdown("*Erstelle kreative Marketing-Texte mit KI-Unterstützung*") |
|
|
|
@st.cache_resource |
|
def load_gpt2(): |
|
try: |
|
|
|
return pipeline('text-generation', |
|
model='dbmdz/german-gpt2', |
|
tokenizer="dbmdz/german-gpt2", |
|
device=-1) |
|
except Exception as e: |
|
st.error(f"Modell konnte nicht geladen werden: {str(e)}") |
|
return None |
|
|
|
with st.form("marketing_form"): |
|
product_name = st.text_input( |
|
"Produktname", |
|
help="Wie heißt das Produkt, für das Sie einen Text erstellen möchten?" |
|
) |
|
|
|
key_features = st.text_area( |
|
"Produktmerkmale", |
|
help="Was macht Ihr Produkt besonders? (Eigenschaften durch Kommas trennen)" |
|
) |
|
|
|
max_length = st.slider( |
|
"Textlänge", |
|
min_value=50, |
|
max_value=150, |
|
value=100, |
|
help="Längere Texte brauchen mehr Zeit zur Generierung" |
|
) |
|
|
|
submit = st.form_submit_button("Text generieren") |
|
|
|
if submit and product_name and key_features: |
|
with st.spinner("Lade KI-Modell..."): |
|
generator = load_gpt2() |
|
|
|
if generator: |
|
|
|
prompt = f"""Werbetext für ein innovatives Produkt: |
|
{product_name} |
|
|
|
Besondere Eigenschaften: |
|
{key_features} |
|
|
|
Überzeugender Werbetext: |
|
Entdecken Sie {product_name} - """ |
|
|
|
try: |
|
with st.spinner("Erstelle Marketing-Text..."): |
|
result = generator( |
|
prompt, |
|
max_length=max_length, |
|
num_return_sequences=1, |
|
temperature=0.8, |
|
top_p=0.9, |
|
do_sample=True |
|
) |
|
|
|
generated_text = result[0]['generated_text'] |
|
|
|
|
|
final_text = generated_text.split("Überzeugender Werbetext:")[-1].strip() |
|
|
|
st.success("Text wurde generiert!") |
|
st.markdown("### Ihr Marketing-Text:") |
|
st.markdown(final_text) |
|
|
|
st.download_button( |
|
"Text speichern", |
|
final_text, |
|
file_name="marketing_text.txt" |
|
) |
|
|
|
except Exception as e: |
|
st.error(f"Fehler bei der Textgenerierung: {str(e)}") |
|
|
|
elif submit: |
|
st.warning("Bitte füllen Sie alle Felder aus.") |
|
|
|
st.markdown("---") |
|
st.markdown(""" |
|
**Hinweise zur Benutzung:** |
|
- Die erste Generierung dauert etwas länger, da das Modell geladen werden muss |
|
- Versuchen Sie verschiedene Beschreibungen für optimale Ergebnisse |
|
- Prüfen und bearbeiten Sie die generierten Texte vor der Verwendung |
|
""") |