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 """)