ll7098ll commited on
Commit
a89dca8
Β·
verified Β·
1 Parent(s): 4904907

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -10
app.py CHANGED
@@ -1,10 +1,10 @@
1
  import os
2
  import time
3
-
4
- import google.generativeai as genai
5
  import streamlit as st
 
6
  from streamlit_extras.colored_header import colored_header
7
  from streamlit_extras.add_vertical_space import add_vertical_space
 
8
 
9
  # Google Gemini API ν‚€ μ„€μ •
10
  genai.configure(api_key=os.environ["GEMINI_API_KEY"])
@@ -14,7 +14,7 @@ generation_config = {
14
  "temperature": 0.7,
15
  "top_p": 0.85,
16
  "top_k": 40,
17
- "max_output_tokens": 15000,
18
  "response_mime_type": "text/plain",
19
  }
20
 
@@ -72,6 +72,9 @@ SYSTEM_PROMPT = """
72
  핡심 κ°œλ…κ³Ό κ΄€λ ¨λœ μ‹€μƒν™œ 사둀λ₯Ό μ œμ‹œν•˜μ—¬ ν•™μŠ΅μ˜ μ˜λ―Έμ™€ 관련성을 λ†’μ΄λŠ” λ°©μ•ˆμ„ μ œμ‹œν•˜μ„Έμš”. λ©€ν‹°λ―Έλ””μ–΄, μ‹œκ° 자료, κ²Œμž„, ν˜‘λ ₯ ν•™μŠ΅ λ“± λ‹€μ–‘ν•œ κ΅μˆ˜λ²•μ„ ν™œμš©ν•˜λŠ” λ°©μ•ˆμ„ μ œμ‹œν•˜μ„Έμš”.
73
  """
74
 
 
 
 
75
  def generate_curriculum(grade, achievement_standard):
76
  """ν•™λ…„κ³Ό 성취기쀀을 μž…λ ₯λ°›μ•„ κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ •μ„ μƒμ„±ν•©λ‹ˆλ‹€."""
77
 
@@ -82,14 +85,17 @@ def generate_curriculum(grade, achievement_standard):
82
  "κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ •:",
83
  ]
84
 
85
- full_text = ""
86
- output_area = st.empty() # 좜λ ₯ μ˜μ—­ μ •μ˜
87
-
88
  try:
89
  response = model.generate_content(prompt, stream=True)
90
  for chunk in response:
91
  full_text += chunk.text
92
- output_area.text_area("κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ •", value=full_text, height=600)
 
 
 
 
93
  except Exception as e:
94
  st.error(f"μ—λŸ¬ λ°œμƒ: {str(e)}")
95
  return ""
@@ -115,8 +121,6 @@ with st.sidebar.expander("μž…λ ₯ μ„€μ •", expanded=True):
115
 
116
  generate_button = st.button("κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ • 생성")
117
 
118
- # 단일 좜λ ₯ μ˜μ—­μ„ μœ μ§€ν•˜κ³ , ν•„μš”ν•œ κ²½μš°μ—λ§Œ κ°±μ‹ 
119
- output_area = st.empty() # 좜λ ₯ μ˜μ—­μ„ ν•¨μˆ˜ λ°–μœΌλ‘œ μ΄λ™ν•˜μ—¬ μ „μ—­μœΌλ‘œ μ •μ˜
120
 
121
  if generate_button and achievement_standard:
122
  result = generate_curriculum(grade, achievement_standard)
@@ -126,4 +130,5 @@ elif generate_button and not achievement_standard:
126
 
127
  # 이미 μƒμ„±λœ κ΅μœ‘κ³Όμ •μ΄ μžˆμ„ 경우 이λ₯Ό 좜λ ₯
128
  if "generated_curriculum" in st.session_state and st.session_state.generated_curriculum:
129
- output_area.text_area("κ°œλ…κΈ°λ°˜ νƒκ΅¬ν•™μŠ΅", value=st.session_state.generated_curriculum, height=600)
 
 
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
6
  from streamlit_extras.add_vertical_space import add_vertical_space
7
+ import markdown
8
 
9
  # Google Gemini API ν‚€ μ„€μ •
10
  genai.configure(api_key=os.environ["GEMINI_API_KEY"])
 
14
  "temperature": 0.7,
15
  "top_p": 0.85,
16
  "top_k": 40,
17
+ "max_output_tokens": 25000,
18
  "response_mime_type": "text/plain",
19
  }
20
 
 
72
  핡심 κ°œλ…κ³Ό κ΄€λ ¨λœ μ‹€μƒν™œ 사둀λ₯Ό μ œμ‹œν•˜μ—¬ ν•™μŠ΅μ˜ μ˜λ―Έμ™€ 관련성을 λ†’μ΄λŠ” λ°©μ•ˆμ„ μ œμ‹œν•˜μ„Έμš”. λ©€ν‹°λ―Έλ””μ–΄, μ‹œκ° 자료, κ²Œμž„, ν˜‘λ ₯ ν•™μŠ΅ λ“± λ‹€μ–‘ν•œ κ΅μˆ˜λ²•μ„ ν™œμš©ν•˜λŠ” λ°©μ•ˆμ„ μ œμ‹œν•˜μ„Έμš”.
73
  """
74
 
75
+ # 좜λ ₯ μ˜μ—­μ„ ν•¨μˆ˜ 외뢀에 μ •μ˜
76
+ output_area = st.empty()
77
+
78
  def generate_curriculum(grade, achievement_standard):
79
  """ν•™λ…„κ³Ό 성취기쀀을 μž…λ ₯λ°›μ•„ κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ •μ„ μƒμ„±ν•©λ‹ˆλ‹€."""
80
 
 
85
  "κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ •:",
86
  ]
87
 
88
+ full_text = "" # 전체 ν…μŠ€νŠΈ μ €μž₯ λ³€μˆ˜ μ΄ˆκΈ°ν™”
89
+
 
90
  try:
91
  response = model.generate_content(prompt, stream=True)
92
  for chunk in response:
93
  full_text += chunk.text
94
+ # Markdown to HTML λ³€ν™˜
95
+ html_text = markdown.markdown(full_text, extensions=['tables'])
96
+ output_area.markdown(html_text, unsafe_allow_html=True)
97
+ time.sleep(0.1) # μ§€μ—° μΆ”κ°€ (ν•„μš”μ— 따라 쑰절)
98
+
99
  except Exception as e:
100
  st.error(f"μ—λŸ¬ λ°œμƒ: {str(e)}")
101
  return ""
 
121
 
122
  generate_button = st.button("κ°œλ…κΈ°λ°˜ κ΅μœ‘κ³Όμ • 생성")
123
 
 
 
124
 
125
  if generate_button and achievement_standard:
126
  result = generate_curriculum(grade, achievement_standard)
 
130
 
131
  # 이미 μƒμ„±λœ κ΅μœ‘κ³Όμ •μ΄ μžˆμ„ 경우 이λ₯Ό 좜λ ₯
132
  if "generated_curriculum" in st.session_state and st.session_state.generated_curriculum:
133
+ html_text = markdown.markdown(st.session_state.generated_curriculum, extensions=['tables'])
134
+ output_area.markdown(html_text, unsafe_allow_html=True)