Update app.py
Browse files
app.py
CHANGED
|
@@ -1,6 +1,5 @@
|
|
| 1 |
import os
|
| 2 |
import time
|
| 3 |
-
|
| 4 |
import streamlit as st
|
| 5 |
import google.generativeai as genai
|
| 6 |
from streamlit_extras.colored_header import colored_header
|
|
@@ -100,6 +99,9 @@ SYSTEM_PROMPT = """
|
|
| 100 |
ν΅μ¬ κ°λ
κ³Ό κ΄λ ¨λ μ€μν μ¬λ‘λ₯Ό μ μνμ¬ νμ΅μ μλ―Έμ κ΄λ ¨μ±μ λμ΄λ λ°©μμ μ μνμΈμ. λ©ν°λ―Έλμ΄, μκ° μλ£, κ²μ, νλ ₯ νμ΅ λ± λ€μν κ΅μλ²μ νμ©νλ λ°©μμ μ μνμΈμ.
|
| 101 |
"""
|
| 102 |
|
|
|
|
|
|
|
|
|
|
| 103 |
def generate_curriculum(grade, achievement_standard):
|
| 104 |
"""νλ
κ³Ό μ±μ·¨κΈ°μ€μ μ
λ ₯λ°μ κ°λ
κΈ°λ° νꡬνμ΅μ μμ±ν©λλ€."""
|
| 105 |
|
|
@@ -110,16 +112,16 @@ def generate_curriculum(grade, achievement_standard):
|
|
| 110 |
"κ°λ
κΈ°λ° νꡬνμ΅:",
|
| 111 |
]
|
| 112 |
|
| 113 |
-
full_text = ""
|
| 114 |
-
|
| 115 |
-
|
| 116 |
try:
|
| 117 |
-
response = model.generate_content(prompt
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
|
|
|
| 123 |
|
| 124 |
except Exception as e:
|
| 125 |
st.error(f"μλ¬ λ°μ: {str(e)}")
|
|
@@ -146,8 +148,6 @@ with st.sidebar.expander("μ
λ ₯ μ€μ ", expanded=True):
|
|
| 146 |
|
| 147 |
generate_button = st.button("κ°λ
κΈ°λ° νꡬνμ΅ μμ±")
|
| 148 |
|
| 149 |
-
# λ¨μΌ μΆλ ₯ μμμ μ μ§νκ³ , νμν κ²½μ°μλ§ κ°±μ
|
| 150 |
-
output_area = st.empty() # μΆλ ₯ μμμ ν¨μ λ°μΌλ‘ μ΄λνμ¬ μ μμΌλ‘ μ μ
|
| 151 |
|
| 152 |
if generate_button and achievement_standard:
|
| 153 |
result = generate_curriculum(grade, achievement_standard)
|
|
@@ -157,4 +157,5 @@ elif generate_button and not achievement_standard:
|
|
| 157 |
|
| 158 |
# μ΄λ―Έ μμ±λ κ΅μ‘κ³Όμ μ΄ μμ κ²½μ° μ΄λ₯Ό μΆλ ₯
|
| 159 |
if "generated_curriculum" in st.session_state and st.session_state.generated_curriculum:
|
| 160 |
-
|
|
|
|
|
|
| 1 |
import os
|
| 2 |
import time
|
|
|
|
| 3 |
import streamlit as st
|
| 4 |
import google.generativeai as genai
|
| 5 |
from streamlit_extras.colored_header import colored_header
|
|
|
|
| 99 |
ν΅μ¬ κ°λ
κ³Ό κ΄λ ¨λ μ€μν μ¬λ‘λ₯Ό μ μνμ¬ νμ΅μ μλ―Έμ κ΄λ ¨μ±μ λμ΄λ λ°©μμ μ μνμΈμ. λ©ν°λ―Έλμ΄, μκ° μλ£, κ²μ, νλ ₯ νμ΅ λ± λ€μν κ΅μλ²μ νμ©νλ λ°©μμ μ μνμΈμ.
|
| 100 |
"""
|
| 101 |
|
| 102 |
+
# μΆλ ₯ μμμ ν¨μ μΈλΆμ μ μ
|
| 103 |
+
output_area = st.empty()
|
| 104 |
+
|
| 105 |
def generate_curriculum(grade, achievement_standard):
|
| 106 |
"""νλ
κ³Ό μ±μ·¨κΈ°μ€μ μ
λ ₯λ°μ κ°λ
κΈ°λ° νꡬνμ΅μ μμ±ν©λλ€."""
|
| 107 |
|
|
|
|
| 112 |
"κ°λ
κΈ°λ° νꡬνμ΅:",
|
| 113 |
]
|
| 114 |
|
| 115 |
+
full_text = "" # μ 체 ν
μ€νΈ μ μ₯ λ³μ μ΄κΈ°ν
|
| 116 |
+
|
|
|
|
| 117 |
try:
|
| 118 |
+
response = model.generate_content(prompt, stream=True)
|
| 119 |
+
for chunk in response:
|
| 120 |
+
full_text += chunk.text
|
| 121 |
+
# Markdown to HTML λ³ν
|
| 122 |
+
html_text = markdown.markdown(full_text, extensions=['tables'])
|
| 123 |
+
output_area.markdown(html_text, unsafe_allow_html=True)
|
| 124 |
+
time.sleep(0.1) # μ§μ° μΆκ° (νμμ λ°λΌ μ‘°μ )
|
| 125 |
|
| 126 |
except Exception as e:
|
| 127 |
st.error(f"μλ¬ λ°μ: {str(e)}")
|
|
|
|
| 148 |
|
| 149 |
generate_button = st.button("κ°λ
κΈ°λ° νꡬνμ΅ μμ±")
|
| 150 |
|
|
|
|
|
|
|
| 151 |
|
| 152 |
if generate_button and achievement_standard:
|
| 153 |
result = generate_curriculum(grade, achievement_standard)
|
|
|
|
| 157 |
|
| 158 |
# μ΄λ―Έ μμ±λ κ΅μ‘κ³Όμ μ΄ μμ κ²½μ° μ΄λ₯Ό μΆλ ₯
|
| 159 |
if "generated_curriculum" in st.session_state and st.session_state.generated_curriculum:
|
| 160 |
+
html_text = markdown.markdown(st.session_state.generated_curriculum, extensions=['tables'])
|
| 161 |
+
output_area.markdown(html_text, unsafe_allow_html=True)
|