ginipick commited on
Commit
6db8a66
ยท
verified ยท
1 Parent(s): a589da1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -21
app.py CHANGED
@@ -280,19 +280,23 @@ def keywords(text: str, top=5):
280
  def ginigen_app():
281
  st.title("์ง€๋‹ˆ์   ๋ธ”๋กœ๊ทธ")
282
 
283
- # ์„ธ์…˜ ๊ธฐ๋ณธ๊ฐ’
284
- defaults = dict(
285
- ai_model="claude-3-7-sonnet-20250219",
286
- messages=[],
287
- auto_save=True,
288
- generate_image=False,
289
- use_web_search=False,
290
- blog_template="standard",
291
- blog_tone="professional",
292
- word_count=1750
293
- )
294
- for k, v in defaults.items():
295
- st.session_state.setdefault(k, v)
 
 
 
 
296
 
297
  # โ”€โ”€ ์‚ฌ์ด๋“œ๋ฐ” ์ปจํŠธ๋กค
298
  sb = st.sidebar
@@ -308,21 +312,21 @@ def ginigen_app():
308
  format_func=lambda x: BLOG_TONES[x],
309
  key="blog_tone")
310
 
311
- sb.slider("๋ธ”๋กœ๊ทธ ๊ธธ์ด (๋‹จ์–ด ์ˆ˜)", 800, 3000, 1750, key="word_count")
312
 
313
  # ์˜ˆ์ œ ์ฃผ์ œ ์„ ํƒ
314
  sb.subheader("์˜ˆ์ œ ์ฃผ์ œ")
315
- if sb.button("์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋ ˆ์ž„์›Œํฌ ๋น„๊ต", key="example1"):
316
  st.session_state.example_topic = EXAMPLE_TOPICS["example1"]
317
- st.experimental_rerun()
318
 
319
- if sb.button("์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ์ฃผ์‹ ํˆฌ์ž ๊ฐ€์ด๋“œ", key="example2"):
320
  st.session_state.example_topic = EXAMPLE_TOPICS["example2"]
321
- st.experimental_rerun()
322
 
323
- if sb.button("ํšจ๊ณผ์ ์ธ ์‹œ๊ฐ„ ๊ด€๋ฆฌ ์ „๋žต", key="example3"):
324
  st.session_state.example_topic = EXAMPLE_TOPICS["example3"]
325
- st.experimental_rerun()
326
 
327
  sb.subheader("๊ธฐํƒ€ ์„ค์ •")
328
  sb.toggle("์ž๋™ ์ €์žฅ", key="auto_save")
@@ -412,6 +416,7 @@ def ginigen_app():
412
  placeholder.markdown(answer)
413
 
414
  # ์ด๋ฏธ์ง€ ์˜ต์…˜
 
415
  if st.session_state.generate_image:
416
  with st.spinner("์ด๋ฏธ์ง€ ์ƒ์„ฑ ์ค‘โ€ฆ"):
417
  ip = extract_image_prompt(answer, prompt)
@@ -422,7 +427,7 @@ def ginigen_app():
422
  {"role": "assistant", "content": answer,
423
  "image": img, "image_caption": cap})
424
  answer_entry_saved = True
425
- if not st.session_state.generate_image:
426
  st.session_state.messages.append(
427
  {"role": "assistant", "content": answer})
428
 
 
280
  def ginigen_app():
281
  st.title("์ง€๋‹ˆ์   ๋ธ”๋กœ๊ทธ")
282
 
283
+ # ์„ธ์…˜ ๊ธฐ๋ณธ๊ฐ’ - ์„ธ์…˜ ์ƒํƒœ๊ฐ€ ์ด๋ฏธ ์žˆ๋Š” ๊ฒฝ์šฐ ์„ค์ •ํ•˜์ง€ ์•Š์Œ
284
+ if "ai_model" not in st.session_state:
285
+ st.session_state.ai_model = "claude-3-7-sonnet-20250219"
286
+ if "messages" not in st.session_state:
287
+ st.session_state.messages = []
288
+ if "auto_save" not in st.session_state:
289
+ st.session_state.auto_save = True
290
+ if "generate_image" not in st.session_state:
291
+ st.session_state.generate_image = False
292
+ if "use_web_search" not in st.session_state:
293
+ st.session_state.use_web_search = False
294
+ if "blog_template" not in st.session_state:
295
+ st.session_state.blog_template = "standard"
296
+ if "blog_tone" not in st.session_state:
297
+ st.session_state.blog_tone = "professional"
298
+ if "word_count" not in st.session_state:
299
+ st.session_state.word_count = 1750
300
 
301
  # โ”€โ”€ ์‚ฌ์ด๋“œ๋ฐ” ์ปจํŠธ๋กค
302
  sb = st.sidebar
 
312
  format_func=lambda x: BLOG_TONES[x],
313
  key="blog_tone")
314
 
315
+ sb.slider("๋ธ”๋กœ๊ทธ ๊ธธ์ด (๋‹จ์–ด ์ˆ˜)", 800, 3000, key="word_count")
316
 
317
  # ์˜ˆ์ œ ์ฃผ์ œ ์„ ํƒ
318
  sb.subheader("์˜ˆ์ œ ์ฃผ์ œ")
319
+ if sb.button("2025๋…„ ๋ถ€๋™์‚ฐ ์„ธ๊ธˆ ์ œ๋„", key="example1"):
320
  st.session_state.example_topic = EXAMPLE_TOPICS["example1"]
321
+ st.rerun()
322
 
323
+ if sb.button("์—ฌ๋ฆ„ ์ง€์—ญ๋ณ„ ์ถ•์ œ์™€ ๋ช…์†Œ", key="example2"):
324
  st.session_state.example_topic = EXAMPLE_TOPICS["example2"]
325
+ st.rerun()
326
 
327
+ if sb.button("์‹ ์„ฑ์žฅ ์‚ฐ์—… ํˆฌ์ž ๊ฐ€์ด๋“œ", key="example3"):
328
  st.session_state.example_topic = EXAMPLE_TOPICS["example3"]
329
+ st.rerun()
330
 
331
  sb.subheader("๊ธฐํƒ€ ์„ค์ •")
332
  sb.toggle("์ž๋™ ์ €์žฅ", key="auto_save")
 
416
  placeholder.markdown(answer)
417
 
418
  # ์ด๋ฏธ์ง€ ์˜ต์…˜
419
+ answer_entry_saved = False
420
  if st.session_state.generate_image:
421
  with st.spinner("์ด๋ฏธ์ง€ ์ƒ์„ฑ ์ค‘โ€ฆ"):
422
  ip = extract_image_prompt(answer, prompt)
 
427
  {"role": "assistant", "content": answer,
428
  "image": img, "image_caption": cap})
429
  answer_entry_saved = True
430
+ if not answer_entry_saved:
431
  st.session_state.messages.append(
432
  {"role": "assistant", "content": answer})
433