Tobias Geisler commited on
Commit
905eabc
·
1 Parent(s): bd4a9d6

fixed user_id display

Browse files
Files changed (1) hide show
  1. app.py +27 -8
app.py CHANGED
@@ -6,6 +6,7 @@ import os
6
  from openai import OpenAI
7
  import random
8
  import uuid
 
9
 
10
  load_dotenv()
11
  client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
@@ -29,7 +30,7 @@ def enhance_prompt(original_prompt):
29
  {"role": "system", "content": "Verbessere den folgenden Bildgenerierungsprompt, um ihn detaillierter und kreativer zu machen."},
30
  {"role": "user", "content": original_prompt}
31
  ],
32
- max_tokens=100
33
  )
34
  enhanced_prompt = response.choices[0].message.content.strip()
35
  return enhanced_prompt
@@ -39,19 +40,22 @@ def enhance_prompt(original_prompt):
39
 
40
  def generate_image(prompt, use_magic_prompt, style, password, user_id):
41
  global last_generation_time
 
 
42
 
43
  if password != APP_PASSWORD:
 
44
  return "Falsches Passwort. Bitte versuche es erneut.", None
45
 
46
  current_time = time.time()
47
  if current_time - last_generation_time[user_id] < GENERATION_TIMEOUT:
48
  remaining_time = int(GENERATION_TIMEOUT - (current_time - last_generation_time[user_id]))
 
49
  return f"Bitte warte {remaining_time} Sekunden zwischen den Bildgenerierungen.", None
50
 
51
  if use_magic_prompt:
52
  prompt = enhance_prompt(prompt)
53
-
54
- print("Finaler Prompt:", prompt)
55
 
56
  try:
57
  response = client.images.generate(
@@ -76,9 +80,6 @@ def generate_image(prompt, use_magic_prompt, style, password, user_id):
76
  print("Ein Fehler ist aufgetreten:", e)
77
  return f"Ein Fehler ist beim Generieren des Bildes aufgetreten: {error_message}", None
78
 
79
- def get_user_id():
80
- return str(uuid.uuid4())
81
-
82
  examples = [
83
  "Astronaut im Dschungel, kalte Farbpalette, gedämpfte Farben, detailliert, 8k",
84
  "Ein Astronaut reitet auf einem grünen Pferd",
@@ -97,12 +98,22 @@ def update_button_state(user_id):
97
  return gr.update(value=f"Bitte warte {remaining_time} Sekunden", interactive=False)
98
  else:
99
  return gr.update(value="Bild generieren", interactive=True)
 
 
 
 
 
 
 
 
 
 
100
 
101
  with gr.Blocks() as demo:
102
- user_id = gr.State(get_user_id())
103
 
104
  gr.Markdown("# codora DALL-E 3 Bildgenerator")
105
- gr.Markdown(f"Willkommen, {user_id.value}!")
106
  gr.Markdown(f"Gib einen Bildprompt ein und verwende optional die magische Prompt-Funktion, um ihn zu verbessern. Du kannst nur ein Bild alle {GENERATION_TIMEOUT} Sekunden generieren.")
107
 
108
  with gr.Row():
@@ -133,6 +144,14 @@ with gr.Blocks() as demo:
133
  outputs=[final_prompt, generated_image]
134
  )
135
 
 
 
 
 
 
 
 
 
136
  demo.load(
137
  fn=update_button_state,
138
  inputs=[user_id],
 
6
  from openai import OpenAI
7
  import random
8
  import uuid
9
+ import secrets
10
 
11
  load_dotenv()
12
  client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
 
30
  {"role": "system", "content": "Verbessere den folgenden Bildgenerierungsprompt, um ihn detaillierter und kreativer zu machen."},
31
  {"role": "user", "content": original_prompt}
32
  ],
33
+ max_tokens=300
34
  )
35
  enhanced_prompt = response.choices[0].message.content.strip()
36
  return enhanced_prompt
 
40
 
41
  def generate_image(prompt, use_magic_prompt, style, password, user_id):
42
  global last_generation_time
43
+
44
+ print(f"\nGenerierungsversuch von User {user_id} mit Prompt:\n{prompt}")
45
 
46
  if password != APP_PASSWORD:
47
+ print("Generierung abgebrochen: Falsches Passwort.")
48
  return "Falsches Passwort. Bitte versuche es erneut.", None
49
 
50
  current_time = time.time()
51
  if current_time - last_generation_time[user_id] < GENERATION_TIMEOUT:
52
  remaining_time = int(GENERATION_TIMEOUT - (current_time - last_generation_time[user_id]))
53
+ print("Generierung abgebrochen: Cooldown noch nicht abgelaufen")
54
  return f"Bitte warte {remaining_time} Sekunden zwischen den Bildgenerierungen.", None
55
 
56
  if use_magic_prompt:
57
  prompt = enhance_prompt(prompt)
58
+ print("\nFinaler Prompt:", prompt)
 
59
 
60
  try:
61
  response = client.images.generate(
 
80
  print("Ein Fehler ist aufgetreten:", e)
81
  return f"Ein Fehler ist beim Generieren des Bildes aufgetreten: {error_message}", None
82
 
 
 
 
83
  examples = [
84
  "Astronaut im Dschungel, kalte Farbpalette, gedämpfte Farben, detailliert, 8k",
85
  "Ein Astronaut reitet auf einem grünen Pferd",
 
98
  return gr.update(value=f"Bitte warte {remaining_time} Sekunden", interactive=False)
99
  else:
100
  return gr.update(value="Bild generieren", interactive=True)
101
+
102
+ def update_welcome_message(user_id):
103
+ return f"Willkommen, {user_id}!"
104
+
105
+ def generate_user_id():
106
+ return secrets.token_urlsafe(16)
107
+
108
+ def initialize_session():
109
+ new_user_id = generate_user_id()
110
+ return new_user_id, update_welcome_message(new_user_id)
111
 
112
  with gr.Blocks() as demo:
113
+ user_id = gr.State(generate_user_id)
114
 
115
  gr.Markdown("# codora DALL-E 3 Bildgenerator")
116
+ welcome_message = gr.Markdown("Willkommen!")
117
  gr.Markdown(f"Gib einen Bildprompt ein und verwende optional die magische Prompt-Funktion, um ihn zu verbessern. Du kannst nur ein Bild alle {GENERATION_TIMEOUT} Sekunden generieren.")
118
 
119
  with gr.Row():
 
144
  outputs=[final_prompt, generated_image]
145
  )
146
 
147
+ demo.load(fn=initialize_session, outputs=[user_id, welcome_message])
148
+
149
+ """demo.load(
150
+ fn=update_welcome_message,
151
+ inputs=[user_id],
152
+ outputs=[welcome_message]
153
+ )
154
+ """
155
  demo.load(
156
  fn=update_button_state,
157
  inputs=[user_id],