ll7098ll commited on
Commit
db4f1bb
Β·
verified Β·
1 Parent(s): 71c2de4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -17
app.py CHANGED
@@ -76,15 +76,18 @@ def generate_curriculum(grade, achievement_standard):
76
  ]
77
 
78
  full_text = ""
 
79
  try:
80
  response = model.generate_content(prompt, stream=True)
81
  for chunk in response:
82
  full_text += chunk.text
83
- # Streamlit μ—…λ°μ΄νŠΈ (yield λŒ€μ‹  st.text_area μ‚¬μš©)
84
- time.sleep(0.03) # μ•½κ°„μ˜ μ§€μ—° μΆ”κ°€
 
85
  except Exception as e:
86
  print(f"μ—λŸ¬ λ°œμƒ: {str(e)}")
87
- return "μ—λŸ¬ λ°œμƒ: κ΅μœ‘κ³Όμ •μ„ 생성할 수 μ—†μŠ΅λ‹ˆλ‹€."
 
88
 
89
  return full_text
90
 
@@ -93,20 +96,25 @@ def generate_curriculum(grade, achievement_standard):
93
  st.title("κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ • 섀계 λ„μš°λ―Έ")
94
  st.write("μ΄ˆλ“±ν•™κ΅ κ΅μœ‘κ³Όμ •μ— λ§žλŠ” κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ •μ„ μƒμ„±ν•©λ‹ˆλ‹€.")
95
 
96
- # μž…λ ₯ μœ„μ ―
97
- grade_options = ["μ΄ˆλ“±ν•™κ΅ 1ν•™λ…„", "μ΄ˆλ“±ν•™κ΅ 2ν•™λ…„", "μ΄ˆλ“±ν•™κ΅ 3ν•™λ…„", "μ΄ˆλ“±ν•™κ΅ 4ν•™λ…„", "μ΄ˆλ“±ν•™κ΅ 5ν•™λ…„", "μ΄ˆλ“±ν•™κ΅ 6ν•™λ…„"]
98
- grade_selected = st.selectbox("ν•™λ…„ 선택", grade_options, index=0)
99
- grade = grade_options.index(grade_selected) + 1 # μ„ νƒλœ ν•™λ…„ λ¬Έμžμ—΄μ„ 숫자둜 λ³€ν™˜
 
100
 
101
- achievement_standard = st.text_area("μ„±μ·¨κΈ°μ€€ 및 μ£Όμš” λ‚΄μš© μž…λ ₯", height=100)
102
 
103
- # 좜λ ₯ μ˜μ—­
104
- output_area = st.empty()
 
 
 
 
105
 
106
- # 생성 λ²„νŠΌ
107
- if st.button("κ΅μœ‘κ³Όμ • 생성"):
108
- if achievement_standard: # μž…λ ₯ 확인
109
- result = generate_curriculum(grade, achievement_standard)
110
- output_area.text_area("κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ •", value=result, height=200) # κ²°κ³Ό 좜λ ₯
111
- else:
112
- st.warning("μ„±μ·¨κΈ°μ€€ 및 μ£Όμš” λ‚΄μš©μ„ μž…λ ₯ν•˜μ„Έμš”.")
 
76
  ]
77
 
78
  full_text = ""
79
+ output_area = st.empty() # 좜λ ₯ μ˜μ—­ μ΄ˆκΈ°ν™”
80
  try:
81
  response = model.generate_content(prompt, stream=True)
82
  for chunk in response:
83
  full_text += chunk.text
84
+ # Streamlit μ—…λ°μ΄νŠΈ (μ‹€μ‹œκ°„ 좜λ ₯)
85
+ output_area.text_area("κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ •", value=full_text, height=600) # 높이 μ‘°μ •
86
+ time.sleep(0.01) # μ§€μ—° μ‹œκ°„ μ‘°μ • (ν•„μš”μ— 따라)
87
  except Exception as e:
88
  print(f"μ—λŸ¬ λ°œμƒ: {str(e)}")
89
+ st.error(f"μ—λŸ¬ λ°œμƒ: {str(e)}") # μ—λŸ¬ λ©”μ‹œμ§€ Streamlit에 ν‘œμ‹œ
90
+ return ""
91
 
92
  return full_text
93
 
 
96
  st.title("κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ • 섀계 λ„μš°λ―Έ")
97
  st.write("μ΄ˆλ“±ν•™κ΅ κ΅μœ‘κ³Όμ •μ— λ§žλŠ” κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ •μ„ μƒμ„±ν•©λ‹ˆλ‹€.")
98
 
99
+ # μž…λ ₯ μœ„μ ― (μ‚¬μ΄λ“œλ°” μ‚¬μš©)
100
+ with st.sidebar:
101
+ grade_options = ["μ΄ˆλ“±ν•™κ΅ 1ν•™λ…„", "μ΄ˆλ“±ν•™κ΅ 2ν•™λ…„", "μ΄ˆλ“±ν•™κ΅ 3ν•™λ…„", "μ΄ˆλ“±ν•™κ΅ 4ν•™λ…„", "μ΄ˆλ“±ν•™κ΅ 5ν•™λ…„", "μ΄ˆλ“±ν•™κ΅ 6ν•™λ…„"]
102
+ grade_selected = st.selectbox("ν•™λ…„ 선택", grade_options, index=0)
103
+ grade = grade_options.index(grade_selected) + 1 # μ„ νƒλœ ν•™λ…„ λ¬Έμžμ—΄μ„ 숫자둜 λ³€ν™˜
104
 
105
+ achievement_standard = st.text_area("μ„±μ·¨κΈ°μ€€ 및 μ£Όμš” λ‚΄μš© μž…λ ₯", height=200)
106
 
107
+ if st.button("κ΅μœ‘κ³Όμ • 생성"):
108
+ if achievement_standard: # μž…λ ₯ 확인
109
+ result = generate_curriculum(grade, achievement_standard)
110
+ st.session_state.generated_curriculum = result # κ²°κ³Όλ₯Ό μ„Έμ…˜ μƒνƒœμ— μ €μž₯
111
+ else:
112
+ st.warning("μ„±μ·¨κΈ°μ€€ 및 μ£Όμš” λ‚΄μš©μ„ μž…λ ₯ν•˜μ„Έμš”.")
113
 
114
+
115
+ # 좜λ ₯ μ˜μ—­ (볡사 λ²„νŠΌ 포함)
116
+ if "generated_curriculum" in st.session_state:
117
+ st.text_area("κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ •", value=st.session_state.generated_curriculum, height=600)
118
+ st.button("κ²°κ³Ό 볡사", on_click=lambda: st.experimental_set_query_params(copied=st.session_state.generated_curriculum))
119
+ if st.experimental_get_query_params().get("copied"):
120
+ st.success("κ²°κ³Όκ°€ λ³΅μ‚¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€!")