Jan Kirenz
added uv
04a5a41
raw
history blame
3.1 kB
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:
# Wir verwenden das deutsche GPT-2 Modell für bessere deutsche Texte
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:
# Verbesserter deutscher Prompt
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, # Etwas mehr Kreativität
top_p=0.9, # Mehr Variabilität
do_sample=True # Kreativeres Sampling
)
generated_text = result[0]['generated_text']
# Text nachbearbeiten um nur den generierten Teil zu zeigen
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
""")