import streamlit as st import random import os from transformers import AutoTokenizer, AutoModelForSeq2SeqLM # Nutze os.environ, um auf Secrets zuzugreifen, die in Hugging Face Spaces gespeichert sind username_secret = os.environ["USER_NAME_SECRET"] password_secret = os.environ["PASSWORD_SECRET"] # URL des Logos logo_url = "https://einfachalex.net/wp-content/uploads/2023/12/einfachchat-1024x597.png" # Modell und Tokenizer initialisieren tokenizer = AutoTokenizer.from_pretrained("Kaludi/chatgpt-gpt4-prompts-bart-large-cnn-samsum") model = AutoModelForSeq2SeqLM.from_pretrained("Kaludi/chatgpt-gpt4-prompts-bart-large-cnn-samsum", from_tf=True) def generate(prompt, max_new_tokens): batch = tokenizer(prompt, return_tensors="pt") generated_ids = model.generate(batch["input_ids"], max_new_tokens=max_new_tokens) output = tokenizer.batch_decode(generated_ids, skip_special_tokens=True) return output[0] ERLAUBTE_BENUTZER = { os.environ["USER_NAME_SECRET"]: os.environ["PASSWORD_SECRET"] } def check_login(username, password): """Überprüft die Anmeldedaten.""" return username in ERLAUBTE_BENUTZER and password == ERLAUBTE_BENUTZER[username] def main_page(): """Hauptseite der Anwendung, die nach erfolgreicher Anmeldung angezeigt wird.""" st.markdown(f"", unsafe_allow_html=True) # Logo einfügen st.title("ChatGPT_Streamlit-Prompt Generator") st.write("Gib eine Rolle ein, und es wird ein Prompt basierend darauf generiert.") prompt = st.text_input("Gib eine Rolle ein, Beispiel: Virtueller Assistent", placeholder="Text hier", value="") max_new_tokens = st.slider("Wähle die maximale Anzahl an Tokens in der Antwort", min_value=100, max_value=500, value=150, step=10) if st.button("Generieren"): output = generate(prompt, max_new_tokens) st.write("Generierter Prompt:") st.write(output) def login_page(): """Anmeldeseite.""" st.sidebar.title("Anmeldung") username = st.sidebar.text_input("Benutzername") password = st.sidebar.text_input("Passwort", type="password") if st.sidebar.button("Anmelden"): if check_login(username, password): # Erfolgreiche Anmeldung, zeigt die Hauptseite an main_page() else: st.sidebar.error("Fehler: Falscher Benutzername oder Passwort.") if __name__ == "__main__": login_page()