File size: 2,437 Bytes
44eb4d0 b7059fb 44eb4d0 b7059fb cef8088 b7059fb cef8088 26c1e88 44eb4d0 26c1e88 44eb4d0 26c1e88 44eb4d0 2625151 46f22b1 2625151 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
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"<img src='{logo_url}' style='max-height: 100px;'>", 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()
|